GRASS 8 Programmer's Manual 8.6.0dev(2026)-f6f2c534ea
Loading...
Searching...
No Matches
defs/dbmi.h
Go to the documentation of this file.
1#ifndef GRASS_DBMIDEFS_H
2#define GRASS_DBMIDEFS_H
3
4void db_Cstring_to_lowercase(char *);
5void db_Cstring_to_uppercase(char *);
17int db_append_string(dbString *, const char *);
18void db_auto_print_errors(int);
21void *db_calloc(int, int);
31void db_char_to_lowercase(char *);
32void db_char_to_uppercase(char *);
33void db_clear_error(void);
35void db__close_all_cursors(void);
39int db_column_sqltype(dbDriver *, const char *, const char *);
40int db_column_Ctype(dbDriver *, const char *, const char *);
43int db_convert_Cstring_to_value(const char *, int, dbValue *);
44int db_convert_Cstring_to_value_datetime(const char *, int, dbValue *);
51int db_copy_string(dbString *, const dbString *);
53int db_copy_table(const char *, const char *, const char *, const char *,
54 const char *, const char *);
55int db_copy_table_where(const char *, const char *, const char *, const char *,
56 const char *, const char *, const char *);
57int db_copy_table_select(const char *, const char *, const char *, const char *,
58 const char *, const char *, const char *);
59int db_copy_table_by_ints(const char *, const char *, const char *,
60 const char *, const char *, const char *,
61 const char *, int *, int);
65int db_create_index2(dbDriver *, const char *, const char *);
67int db_d_add_column(void);
68int db_d_bind_update(void);
69const char *db_dbmscap_filename(void);
70int db_d_close_cursor(void);
71int db_d_close_database(void);
72int db_d_create_database(void);
73int db_d_create_index(void);
74int db_d_create_table(void);
75int db_d_delete(void);
76int db_d_delete_database(void);
77int db_d_describe_table(void);
78int db_d_drop_column(void);
79int db_d_drop_index(void);
80int db_d_drop_table(void);
81void db_debug(const char *);
82void db_debug_off(void);
83void db_debug_on(void);
84int db_delete(dbCursor *);
86int db_delete_table(const char *, const char *, const char *);
91int db_d_fetch(void);
92int db_d_find_database(void);
93int db_d_get_num_rows(void);
94int db_d_grant_on_table(void);
95int db_d_insert(void);
96void db_d_init_error(const char *);
97void db_d_append_error(const char *, ...) __attribute__((format(printf, 1, 2)));
98void db_d_report_error(void);
99dbDirent *db_dirent(const char *, int *);
100int db_d_list_databases(void);
101int db_d_list_indexes(void);
102int db_d_list_tables(void);
103int db_d_open_database(void);
108int db_driver(int, char **);
109
110int db_driver_mkdir(const char *, int, int);
116int db_d_update(void);
117int db_d_version(void);
118int db_enlarge_string(dbString *, int);
119void db_error(const char *);
123int db_fetch(dbCursor *, int, int *);
124int db_find_database(dbDriver *, dbHandle *, int *);
126void db_free(void *);
131void db_free_dirent_array(dbDirent *, int);
133void db_free_handle_array(dbHandle *, int);
134void db_free_index(dbIndex *);
135void db_free_index_array(dbIndex *, int);
137void db_free_string_array(dbString *, int);
138void db_free_table(dbTable *);
139int db_get_column(dbDriver *, const char *, const char *, dbColumn **);
144const char *db_get_column_name(dbColumn *);
155const char *db_get_default_driver_name(void);
156const char *db_get_default_database_name(void);
157const char *db_get_default_schema_name(void);
158const char *db_get_default_group_name(void);
160int db_get_error_code(void);
161const char *db_get_error_msg(void);
162const char *db_get_error_who(void);
163const char *db_get_handle_dbname(dbHandle *);
164const char *db_get_handle_dbschema(dbHandle *);
165const char *db_get_index_column_name(dbIndex *, int);
166const char *db_get_index_name(dbIndex *);
168const char *db_get_index_table_name(dbIndex *);
170char *db_get_string(const dbString *);
174const char *db_get_table_description(dbTable *);
176const char *db_get_table_name(dbTable *);
181double db_get_value_as_double(dbValue *, int);
189const char *db_get_value_string(dbValue *);
191int db_grant_on_table(dbDriver *, const char *, int, int);
192int db_has_dbms(void);
195void db__init_driver_state(void);
197void db_init_index(dbIndex *);
199void db_init_table(dbTable *);
200int db_insert(dbCursor *);
201void db_interval_range(int, int *, int *);
202int db_isdir(const char *);
203int db_legal_tablename(const char *);
204int db_list_databases(dbDriver *, dbString *, int, dbHandle **, int *);
205const char *db_list_drivers(void);
206int db_list_indexes(dbDriver *, dbString *, dbIndex **, int *);
207int db_list_tables(dbDriver *, dbString **, int *, int);
208void *db_malloc(int);
209void db__mark_database_closed(void);
210void db__mark_database_open(const char *, const char *);
211void db_memory_error(void);
213int db_nocase_compare(const char *, const char *);
214void db_noproc_error(int);
219 int);
221void db_print_error(void);
222void db_print_index(FILE *, dbIndex *);
223void db_print_table_definition(FILE *, dbTable *);
224void db_procedure_not_implemented(const char *);
225void db_protocol_error(void);
227void *db_realloc(void *, int);
228int db__recv_char(char *);
233int db__recv_double(double *);
234int db__recv_double_array(double **, int *);
235int db__recv_float(float *);
236int db__recv_float_array(float **, int *);
239int db__recv_index_array(dbIndex **, int *);
240int db__recv_int(int *);
241int db__recv_int_array(int **, int *);
242int db__recv_procnum(int *);
243int db__recv_return_code(int *);
244int db__recv_short(short *);
245int db__recv_short_array(short **, int *);
247int db__recv_string_array(dbString **, int *);
251int db__recv_value(dbValue *, int);
252int db__send_Cstring(const char *);
253int db__send_char(int);
258int db__send_double(double);
259int db__send_double_array(const double *, int);
260int db__send_failure(void);
261int db__send_float(float);
262int db__send_float_array(const float *, int);
265int db__send_index_array(dbIndex *, int);
266int db__send_int(int);
267int db__send_int_array(const int *, int);
269int db__send_procedure_ok(int);
270int db__send_short(int);
271int db__send_short_array(const short *, int);
274int db__send_success(void);
278int db__send_value(dbValue *, int);
279int db_select_CatValArray(dbDriver *, const char *, const char *, const char *,
280 const char *, dbCatValArray *);
281int db_select_int(dbDriver *, const char *, const char *, const char *, int **);
282int db_select_value(dbDriver *, const char *, const char *, int, const char *,
283 dbValue *);
284int db_set_column_description(dbColumn *, const char *);
288void db_set_column_length(dbColumn *, int);
289int db_set_column_name(dbColumn *, const char *);
292void db_set_column_scale(dbColumn *, int);
302void db_set_cursor_mode(dbCursor *, int);
311void db_set_error_who(const char *);
312int db_set_handle(dbHandle *, const char *, const char *);
315int db_set_index_column_name(dbIndex *, int, const char *);
316int db_set_index_name(dbIndex *, const char *);
317int db_set_index_table_name(dbIndex *, const char *);
320void db__set_protocol_fds(FILE *, FILE *);
321int db_set_string(dbString *, const char *);
322int db_set_string_no_copy(dbString *, char *);
326int db_set_table_description(dbTable *, const char *);
329int db_set_table_name(dbTable *, const char *);
336void db_set_value_day(dbValue *, int);
337void db_set_value_double(dbValue *, double);
338void db_set_value_hour(dbValue *, int);
339void db_set_value_int(dbValue *, int);
340void db_set_value_minute(dbValue *, int);
341void db_set_value_month(dbValue *, int);
344void db_set_value_seconds(dbValue *, double);
345int db_set_value_string(dbValue *, const char *);
346void db_set_value_year(dbValue *, int);
348const char *db_sqltype_name(int);
349int db_sqltype_to_Ctype(int);
350dbDriver *db_start_driver(const char *);
351dbDriver *db_start_driver_open_database(const char *, const char *);
353char *db_store(const char *);
354void db_strip(char *);
355void db_syserror(const char *);
356int db_table_exists(const char *, const char *, const char *);
371int db__test_database_open(void);
383int db_update(dbCursor *);
385const char *db_whoami(void);
386void db_zero(void *, int);
388unsigned int db_sizeof_string(const dbString *);
389int db_set_login(const char *, const char *, const char *, const char *,
390 const char *, const char *, int);
391int db_set_login2(const char *, const char *, const char *, const char *,
392 const char *, const char *, int);
393int db_get_login(const char *, const char *, const char **, const char **,
394 const char **, const char **);
395int db_get_login2(const char *, const char *, const char **, const char **,
396 const char **, const char **);
397int db_get_login_dump(FILE *);
398
399#endif
int dbToken
Definition dbmi.h:145
void * dbAddress
Definition dbmi.h:144
void db_CatValArray_free(dbCatValArray *)
Free allocated dbCatValArray.
Definition value.c:373
void db_copy_value(dbValue *, dbValue *)
Copy value.
Definition value.c:340
int db_alloc_cursor_table(dbCursor *, int)
Allocate table for cursor.
Definition cursor.c:38
int db_CatValArray_get_value_int(dbCatValArray *, int, int *)
Find value (integer) by key.
int db__recv_double(double *)
Receive double.
Definition xdrdouble.c:42
int db_get_column_select_priv(dbColumn *)
Get select privileges.
void db_CatValArray_init(dbCatValArray *)
Initialize dbCatValArray.
Definition value.c:361
const char * db_get_index_name(dbIndex *)
Get index name.
int db__recv_column_value(dbColumn *)
Receive column value.
Definition xdrcolumn.c:94
int db__recv_int_array(int **, int *)
Receive integer array.
Definition xdrint.c:92
int db_test_cursor_type_insert(dbCursor *)
Check if cursor type is 'insert'.
Definition cursor.c:171
int db_column_Ctype(dbDriver *, const char *, const char *)
Get column ctype.
int db_get_value_month(dbValue *)
Get month value.
Definition value.c:116
void db_set_value_hour(dbValue *, int)
Set hour value.
Definition value.c:267
void db_set_column_update_priv_not_granted(dbColumn *)
Unset update privileges.
int db_test_value_isnull(dbValue *)
Check of value is null.
Definition value.c:26
int db_d_bind_update(void)
ADD.
int db_CatValArray_sort_by_value(dbCatValArray *)
Sort key/value array by value.
int db__send_procedure_ok(int)
?
dbDirent * db_alloc_dirent_array(int)
Allocate dirent array.
void db_unset_cursor_column_flag(dbCursor *, int)
Unset column's flag.
Definition cursor.c:368
int db__send_int(int)
Send integer.
Definition xdrint.c:24
int db_alloc_cursor_column_flags(dbCursor *)
Allocate columns' flags for cursor.
Definition cursor.c:275
int db_get_column(dbDriver *, const char *, const char *, dbColumn **)
Get column structure by table and column name.
int db__send_column_default_value(dbColumn *)
Send column default value.
Definition xdrcolumn.c:107
int db__recv_short_array(short **, int *)
Receive short array.
Definition xdrshort.c:94
void db_init_table(dbTable *)
Initialize the table to zero.
void db_set_table_select_priv_not_granted(dbTable *)
Set selection privileges not granted for all columns.
int db_d_find_database(void)
Find database.
Definition d_finddb.c:26
int db__send_index_array(dbIndex *, int)
Send index array.
Definition xdrindex.c:50
int db_d_list_indexes(void)
List indexes.
Definition d_list_idx.c:26
int db_d_begin_transaction(void)
Begin transaction.
Definition d_execute.c:56
int db_copy_string(dbString *, const dbString *)
Copy dbString.
Definition string.c:230
int db__recv_procnum(int *)
? (driver only)
int db_isdir(const char *)
Test if path is a directory.
Definition isdir.c:29
int db_list_databases(dbDriver *, dbString *, int, dbHandle **, int *)
List databases.
Definition c_listdb.c:30
int db_gversion(dbDriver *, dbString *, dbString *)
Get version info.
Definition c_version.c:31
void db_set_table_delete_priv_not_granted(dbTable *)
Set delete privileges not granted for table.
int db_describe_table(dbDriver *, dbString *, dbTable **)
Describe table.
int db_get_value_day(dbValue *)
Get day value.
Definition value.c:128
int db_enlarge_string(dbString *, int)
Enlarge dbString.
Definition string.c:120
int db__send_datetime(dbDateTime *)
Send datetime.
Definition xdrdatetime.c:25
int db_d_delete_database(void)
Delete database.
Definition d_deletedb.c:26
int db_list_indexes(dbDriver *, dbString *, dbIndex **, int *)
List indexes.
Definition c_list_idx.c:29
int db_convert_column_default_value_to_string(dbColumn *, dbString *)
?
Definition columnfmt.c:80
void db_copy_dbmscap_entry(dbDbmscap *, dbDbmscap *)
Copy dbmscap entry.
Definition dbmscap.c:79
int db_drop_column(dbDriver *, dbString *, dbString *)
Drop column.
Definition c_drop_col.c:28
int db_copy_table_select(const char *, const char *, const char *, const char *, const char *, const char *, const char *)
Copy a table (by select statement)
Definition copy_tab.c:488
int db_d_add_column(void)
Add column to table.
Definition d_add_col.c:26
int db__recv_index(dbIndex *)
Receive index.
Definition xdrindex.c:68
int db_CatValArray_realloc(dbCatValArray *, int)
Realloc dbCatValArray.
Definition value.c:420
int db_test_cursor_type_fetch(dbCursor *)
Check cursor type.
Definition cursor.c:144
int db__recv_column_default_value(dbColumn *)
Receive column default value.
Definition xdrcolumn.c:120
int db_convert_value_to_string(dbValue *, int, dbString *)
Convert value to string.
Definition valuefmt.c:68
int db_CatValArray_alloc(dbCatValArray *, int)
Allocate dbCatValArray.
Definition value.c:401
void db_unset_cursor_mode_scroll(dbCursor *)
Unset 'scroll' cursor mode.
Definition cursor.c:206
void db_set_value_datetime_current(dbValue *)
Set datetime to current.
Definition value.c:315
int db_set_index_name(dbIndex *, const char *)
Set index name.
int db_commit_transaction(dbDriver *)
Commit transaction.
Definition c_execute.c:82
int db_get_login2(const char *, const char *, const char **, const char **, const char **, const char **)
Get login parameters for driver/database.
Definition login.c:361
dbColumn * db_copy_column(dbColumn *, dbColumn *)
Copy a db column from source to destination.
void db_debug_off(void)
Turn off debugging.
const char * db_get_column_description(dbColumn *)
Returns column description for given column.
int db__start_procedure_call(int)
? (client only)
int db_d_update(void)
?
Definition d_update.c:25
int db_get_column_length(dbColumn *)
Get column's length.
int db_select_value(dbDriver *, const char *, const char *, int, const char *, dbValue *)
Select one (first) value from table/column for key/id.
void db_d_init_error(const char *)
Init error message for DB driver.
Definition d_error.c:47
dbToken db_new_token(dbAddress)
Add new token.
dbColumn * db_get_table_column(dbTable *, int)
Returns column structure for given table and column number.
int db_copy_table_by_ints(const char *, const char *, const char *, const char *, const char *, const char *, const char *, int *, int)
Copy a table (by keys)
Definition copy_tab.c:514
dbToken db_get_cursor_token(dbCursor *)
Get cursor token.
Definition cursor.c:90
double db_get_value_double(dbValue *)
Get double precision value.
Definition value.c:50
int db_shutdown_driver(dbDriver *)
Closedown the driver, and free the driver structure.
Definition shutdown.c:36
void db_print_table_definition(FILE *, dbTable *)
Print table definition info.
Definition printtab.c:26
int db_d_create_index(void)
Create index.
void db_unset_column_use_default_value(dbColumn *)
Unset default value to be used.
int db_convert_Cstring_to_column_default_value(const char *, dbColumn *)
?
Definition columnfmt.c:43
void db_set_column_select_priv_not_granted(dbColumn *)
Unset select privileges.
void db_set_table_insert_priv_granted(dbTable *)
Grant insert privileges for table.
int db_d_list_databases(void)
List databases.
Definition d_listdb.c:26
void db_Cstring_to_lowercase(char *)
Convert string to lowercase.
Definition case.c:44
dbHandle * db_alloc_handle_array(int)
Allocate array of handles.
Definition handle.c:109
int db_set_value_string(dbValue *, const char *)
Set string value.
Definition value.c:219
int db__send_token(dbToken *)
Send token.
Definition xdrtoken.c:24
int db_sqltype_to_Ctype(int)
Get C data type based on given SQL data type.
Definition sqlCtype.c:24
void db_init_cursor(dbCursor *)
Initialize dbCursor.
Definition cursor.c:23
int db_open_update_cursor(dbDriver *, dbString *_name, dbString *, dbCursor *, int)
Open update cursor.
dbValue * db_get_column_value(dbColumn *)
Returns column value for given column structure.
void db_set_column_length(dbColumn *, int)
Set column's length.
void db_print_error(void)
Print error.
int db_set_login(const char *, const char *, const char *, const char *, const char *, const char *, int)
Set login parameters for driver/database.
Definition login.c:290
int db_table_to_sql(dbTable *, dbString *)
Create SQL CREATE string from table definition.
void db_set_value_year(dbValue *, int)
Set year value.
Definition value.c:231
void db_init_index(dbIndex *)
Initialize dbIndex.
void db_free_index_array(dbIndex *, int)
Free index array.
const char * db_get_default_schema_name(void)
Get schema name from current DB connection settings.
void db_unset_column_has_default_value(dbColumn *)
Unset default value identificator.
int db_get_column_sqltype(dbColumn *)
Returns column sqltype for column.
int db__send_string_array(dbString *, int)
Send string array.
Definition xdrstring.c:26
double db_get_value_seconds(dbValue *)
Get seconds value.
Definition value.c:164
void db_set_error_who(const char *)
Set 'who' for error messages.
void db_set_column_sqltype(dbColumn *, int)
Define column sqltype for column.
int db_test_column_null_allowed(dbColumn *)
Checks if null value is allowed.
int db_test_column_has_defined_default_value(dbColumn *)
Check if column has defined default value.
const char * db_get_index_column_name(dbIndex *, int)
Get column number.
int db_convert_value_datetime_into_string(dbValue *, int, dbString *)
Convert datetime value into string.
Definition datetime.c:31
int db_get_index_number_of_columns(dbIndex *)
Get number of columns.
void db_set_cursor_type_readonly(dbCursor *)
Set cursor to be read-only (select)
Definition cursor.c:111
void db_set_cursor_type_insert(dbCursor *)
Set cursor to be writable (insert)
Definition cursor.c:131
void db_unset_cursor_mode_insensitive(dbCursor *)
Unset 'intensive' cursor mode.
Definition cursor.c:236
void db_free_table(dbTable *)
Free the table.
void db_debug_on(void)
Turn on debugging.
int db_get_num_rows(dbCursor *)
Get number of selected rows.
Definition c_rows.c:26
unsigned int db_sizeof_string(const dbString *)
Get string size.
Definition string.c:67
int db__recv_table_data(dbTable *)
Receive table data.
Definition xdrtable.c:101
int db__recv_index_array(dbIndex **, int *)
Receive index array.
Definition xdrindex.c:95
int db_d_version(void)
Get version info.
Definition d_version.c:24
int db__recv_int(int *)
Receive integer.
Definition xdrint.c:44
void db_set_column_precision(dbColumn *, int)
Set column precision.
void db_noproc_error(int)
Report no procedure error.
int db_delete_table(const char *, const char *, const char *)
Delete table.
Definition delete_tab.c:29
dbAddress db_find_token(dbToken)
Find token.
int db_delete_database(dbDriver *, dbHandle *)
Delete database.
Definition c_deletedb.c:27
void db_unset_cursor_mode(dbCursor *)
Unset cursor mode.
Definition cursor.c:216
const char * db_get_default_driver_name(void)
Get driver name from current DB connection settings.
int db__send_index(dbIndex *)
Send index.
Definition xdrindex.c:25
int db_open_database(dbDriver *, dbHandle *)
Open database connection.
Definition c_opendb.c:27
int db_d_drop_column(void)
Drop column.
Definition d_drop_col.c:26
int db_set_index_table_name(dbIndex *, const char *)
Set table name.
int db_d_list_tables(void)
List available tables for given connection.
Definition d_list_tabs.c:25
void db_clear_error(void)
Clear error status.
int db_get_value_year(dbValue *)
Get year value.
Definition value.c:104
int db_set_table_description(dbTable *, const char *)
Set the description of the table.
void db_CatValArray_sort(dbCatValArray *)
Sort key/value array by key.
void db_procedure_not_implemented(const char *)
Report 'not implemented' error.
int db__send_table_definition(dbTable *)
Send table definition.
Definition xdrtable.c:26
int db__recv_string(dbString *)
Reads a string from transport.
Definition xdrstring.c:117
int db__recv_short(short *)
Receive short.
Definition xdrshort.c:46
int db_d_create_table(void)
Create table.
int db_copy_table_where(const char *, const char *, const char *, const char *, const char *, const char *, const char *)
Copy a table (by where statement)
Definition copy_tab.c:465
int db_convert_Cstring_to_value(const char *, int, dbValue *)
Convert string to value.
Definition valuefmt.c:31
void db_set_value_double(dbValue *, double)
Set double precision value.
Definition value.c:207
int db__send_success(void)
Send success code.
Definition ret_codes.c:26
void db_set_column_null_allowed(dbColumn *)
Set null value to be allowed.
int db__send_Cstring(const char *)
Send C string.
Definition xdrstring.c:150
void db_zero_string(dbString *)
Zero string.
Definition string.c:79
int db_close_database_shutdown_driver(dbDriver *)
Close driver/database connection.
Definition db.c:61
void db__close_all_cursors(void)
Close all cursors.
int db_begin_transaction(dbDriver *)
Begin transaction.
Definition c_execute.c:56
void db_free_string_array(dbString *, int)
Free allocated dbString array.
Definition string.c:163
const char * db_get_handle_dbname(dbHandle *)
Get handle database name.
Definition handle.c:57
void db_strip(char *)
Strip given string.
Definition strip.c:25
int db__test_database_open(void)
Test database connection.
dbDriverState * db__get_driver_state(void)
Get driver state.
void * db_realloc(void *, int)
Reallocate memory.
int db__send_short(int)
Send short.
Definition xdrshort.c:25
void db_free_string(dbString *)
Free allocated space for dbString.
Definition string.c:150
dbTable * db_alloc_table(int)
Allocate a table with a specific number of columns.
int db_add_column(dbDriver *, dbString *, dbColumn *)
Add column to table.
Definition c_add_col.c:28
void * db_calloc(int, int)
Allocate memory.
int db_d_drop_table(void)
Drop table.
Definition d_drop_tab.c:26
int db_convert_Cstring_to_value_datetime(const char *, int, dbValue *)
Convert datetime string to value.
Definition datetime.c:203
int db_set_table_column(dbTable *, int, dbColumn *)
Set a specific column for given table and column number.
int db_open_insert_cursor(dbDriver *, dbCursor *)
Open insert cursor.
int db_CatValArray_get_value(dbCatValArray *, int, dbCatVal **)
Find value by key.
int db__send_failure(void)
Send failure code.
Definition ret_codes.c:37
int db__send_float(float)
Send float.
Definition xdrfloat.c:24
int db_d_describe_table(void)
Describe table.
char * db_get_string(const dbString *)
Get string.
Definition string.c:140
int db_set_login2(const char *, const char *, const char *, const char *, const char *, const char *, int)
Set login parameters for driver/database.
Definition login.c:268
int db__recv_string_array(dbString **, int *)
Receive string array.
Definition xdrstring.c:46
const char * db_get_index_table_name(dbIndex *)
Get table name.
int db_test_cursor_mode_insensitive(dbCursor *)
Check if cursor mode is 'intensive'.
Definition cursor.c:262
void db_print_column_definition(FILE *, dbColumn *)
Print column definition info.
Definition printtab.c:51
double db_get_value_as_double(dbValue *, int)
Get value as double.
Definition value.c:65
int db_d_open_database(void)
Open database connection.
Definition d_opendb.c:26
int db_drop_table(dbDriver *, dbString *)
Drop table.
Definition c_drop_tab.c:28
dbColumn * db_get_table_column_by_name(dbTable *, const char *)
Returns column structure for given table and column name.
int db_get_table_insert_priv(dbTable *)
Get table insert privileges.
int db_delete(dbCursor *)
Delete record (?)
Definition c_delete.c:26
int db_test_cursor_column_flag(dbCursor *, int)
Checks column's flag.
Definition cursor.c:383
void db_set_cursor_type_update(dbCursor *)
Set cursor to be writable (update)
Definition cursor.c:121
int db_get_error_code(void)
Get error code.
const char * db_dbmscap_filename(void)
Get dbmscap file name.
Definition dbmscap.c:57
void db_set_column_has_undefined_default_value(dbColumn *)
Unset default value identificator.
dbString * db_alloc_string_array(int)
Allocate dbString array.
Definition string.c:181
int db_create_index2(dbDriver *, const char *, const char *)
Create unique index.
int db_get_table_delete_priv(dbTable *)
Get table delete privileges.
void db_unset_cursor_column_for_update(dbCursor *, int)
Unset 'update' column flag.
Definition cursor.c:318
int db__send_procedure_not_implemented(int)
?
dbDbmscap * db_read_dbmscap(void)
Read dbmscap.
Definition dbmscap.c:98
void db_free_cursor(dbCursor *)
Free allocated dbCursor.
Definition cursor.c:51
int db__send_value(dbValue *, int)
Send value.
Definition xdrvalue.c:28
int db_get_connection(dbConnection *)
Get default DB connection settings for the current mapset.
int db_d_open_update_cursor(void)
Open update cursor.
void db__mark_database_open(const char *, const char *)
Mark database as opened.
int db_set_column_description(dbColumn *, const char *)
Set column description.
void db_set_value_int(dbValue *, int)
Set integer value.
Definition value.c:195
int db_set_index_column_name(dbIndex *, int, const char *)
Set column name.
void db_set_column_select_priv_granted(dbColumn *)
Set select privileges to be granted.
int db_append_table_column(dbTable *, dbColumn *)
Append a specific column to given table.
void db_set_value_datetime_not_current(dbValue *)
Set value to non-current.
Definition value.c:326
int db_grant_on_table(dbDriver *, const char *, int, int)
Grant privileges on table.
Definition c_priv.c:29
dbTable * db_get_cursor_table(dbCursor *)
Get table allocated by cursor.
Definition cursor.c:67
void db_free_cursor_column_flags(dbCursor *)
Free columns' flags of cursor.
Definition cursor.c:294
int db__send_double(double)
Send double.
Definition xdrdouble.c:24
int db_select_int(dbDriver *, const char *, const char *, const char *, int **)
Select array of ordered integers from table/column.
int db_test_column_has_undefined_default_value(dbColumn *)
Check if column has defined default value.
int db_d_grant_on_table(void)
Grant privileges on table.
Definition d_priv.c:26
void db_auto_print_protocol_errors(int)
Set auto print protocol error.
int db_get_login(const char *, const char *, const char **, const char **, const char **, const char **)
Get login parameters for driver/database.
Definition login.c:382
int db_test_cursor_any_column_flag(dbCursor *)
Checks columns' flag.
Definition cursor.c:413
void db_set_column_update_priv_granted(dbColumn *)
Set update privileges to be granted.
int db_select_CatValArray(dbDriver *, const char *, const char *, const char *, const char *, dbCatValArray *)
Select pairs key/value to array, values are sorted by key (must be integer)
void db_set_cursor_token(dbCursor *, dbToken)
Set cursor token.
Definition cursor.c:101
void db_set_cursor_column_flag(dbCursor *, int)
Set column's flag.
Definition cursor.c:356
int db_d_create_database(void)
Create database.
Definition d_createdb.c:26
void db_set_table_select_priv_granted(dbTable *)
Grant selection privileges for all columns.
void db_set_column_host_type(dbColumn *, int)
Set column host data type.
int db_set_table_name(dbTable *, const char *)
Set the name of the table.
int db_set_string(dbString *, const char *)
Inserts string to dbString (enlarge string)
Definition string.c:41
void db_free_handle_array(dbHandle *, int)
Free array of handles.
Definition handle.c:91
int db__send_double_array(const double *, int)
Send double array.
Definition xdrdouble.c:63
void db_set_table_update_priv_not_granted(dbTable *)
Set update privileges not granted for all columns.
int db_test_cursor_any_column_for_update(dbCursor *)
Check if columns' flag is 'update'.
Definition cursor.c:345
void db_set_value_minute(dbValue *, int)
Set minute value.
Definition value.c:279
void db_init_column(dbColumn *)
Initialize dbColumn.
void db_unset_column_null_allowed(dbColumn *)
Unset null value to be allowed.
void db_set_value_seconds(dbValue *, double)
Set seconds value.
Definition value.c:291
int db_create_index(dbDriver *, dbIndex *)
Create index.
void db_set_table_delete_priv_granted(dbTable *)
Grant delete privileges for table.
int db__recv_double_array(double **, int *)
Receive double array.
Definition xdrdouble.c:90
void db_free_dirent_array(dbDirent *, int)
Free dbDirent.
const char * db_get_column_name(dbColumn *)
Returns column name for given column.
const char * db_get_table_name(dbTable *)
Get the name of the table.
int db_d_fetch(void)
Fetch data.
Definition d_fetch.c:27
const char * db_get_table_description(dbTable *)
Get the description of the table.
int db_set_handle(dbHandle *, const char *, const char *)
Set handle (database and schema name)
Definition handle.c:39
int db_execute_immediate(dbDriver *, dbString *)
Execute SQL statements.
Definition c_execute.c:27
void db_set_cursor_mode_scroll(dbCursor *)
Set 'scroll' cursor mode.
Definition cursor.c:196
void db_set_table_update_priv_granted(dbTable *)
Grant update privileges for all columns.
void db_debug(const char *)
Print debug message.
int db__send_char(int)
?
Definition xdrchar.c:24
void db_free(void *)
Free allocated memory.
void db_char_to_uppercase(char *)
Convert character to uppercase.
Definition case.c:33
int db__send_float_array(const float *, int)
Send float array.
Definition xdrfloat.c:65
void db_set_table_insert_priv_not_granted(dbTable *)
Set insert privileges not granted for table.
int db_close_database(dbDriver *)
Close database connection.
Definition c_closedb.c:26
int db_get_value_int(dbValue *)
Get integer value.
Definition value.c:38
void db__init_driver_state(void)
Initialize driver state.
int db_legal_tablename(const char *)
Check if output is legal table name.
int db_convert_Cstring_to_column_value(const char *, dbColumn *)
?
Definition columnfmt.c:25
void db_drop_token(dbToken)
Drop token.
int db_test_column_use_default_value(dbColumn *)
Checks if default value is used.
dbTable * db_clone_table(dbTable *)
Make a new exact copy of an existing table.
int db_get_login_dump(FILE *)
Print all connection settings to file.
Definition login.c:396
int db_set_string_no_copy(dbString *, char *)
Inserts string to dbString (overwrite current value)
Definition string.c:55
char * db_store(const char *)
Make a copy of string buffer.
void db__set_protocol_fds(FILE *, FILE *)
?
int db_table_exists(const char *, const char *, const char *)
Check if table exists.
int db_get_column_scale(dbColumn *)
Get column scale.
const char * db_get_error_msg(void)
Get error message.
void db_free_column(dbColumn *)
Frees column structure.
int db_get_value_hour(dbValue *)
Get hour value.
Definition value.c:140
int db_has_dbms(void)
Check dbms.
Definition dbmscap.c:68
void db_zero(void *, int)
Zero allocated space.
int db_list_tables(dbDriver *, dbString **, int *, int)
List available tables for given connection.
Definition c_list_tabs.c:39
dbDriver * db_start_driver(const char *)
Initialize a new dbDriver for db transaction.
Definition start.c:51
void db_double_quote_string(dbString *)
Replace each ' is replaced by ''.
Definition string.c:240
int db_d_open_select_cursor(void)
Open select cursor.
const char * db_get_error_who(void)
void db_init_handle(dbHandle *)
Initialize handle (i.e database/schema)
Definition handle.c:23
int db_set_connection(dbConnection *)
Set default DB connection settings.
void db_free_handle(dbHandle *)
Free dbHandle structure.
Definition handle.c:79
const char * db_get_handle_dbschema(dbHandle *)
Get handle schema name.
Definition handle.c:69
int db__send_int_array(const int *, int)
Send integer array.
Definition xdrint.c:65
void db_set_cursor_mode_insensitive(dbCursor *)
Set 'intensive' cursor mode.
Definition cursor.c:226
int db_get_cursor_number_of_columns(dbCursor *)
Get number of columns.
Definition cursor.c:393
void db__mark_database_closed(void)
Mark database as closed.
int db_d_close_database(void)
Close database connection.
Definition d_closedb.c:25
int db_d_drop_index(void)
Drop index.
int db_d_delete(void)
Delete record (?)
Definition d_delete.c:25
void db_init_string(dbString *)
Initialize dbString.
Definition string.c:25
int db__send_handle(dbHandle *)
Send handle.
Definition xdrhandle.c:25
int db_close_cursor(dbCursor *)
Close cursor.
Definition c_close_cur.c:27
int db_set_default_connection(void)
Sets up database connection settings using GRASS default from dbmi.h.
int db_bind_update(dbCursor *)
?
void db_d_append_error(const char *,...) __attribute__((format(printf
void db_error(const char *)
Report error message.
int db__send_string(dbString *)
Send string.
Definition xdrstring.c:86
void db__add_cursor_to_driver_state(dbCursor *)
Add cursor do driver state.
void void db_d_report_error(void)
Report error message for DB driver.
Definition d_error.c:94
int db_open_select_cursor(dbDriver *, dbString *, dbCursor *, int)
Open select cursor.
const char * db_sqltype_name(int)
Get SQL data type description.
Definition sqltype.c:25
int db_set_column_name(dbColumn *, const char *)
Set column name.
int db_set_index_type_non_unique(dbIndex *)
Set index type to non-unique.
int db_get_column_precision(dbColumn *)
Get column precision.
int db_test_cursor_type_update(dbCursor *)
Check if cursor type is 'update'.
Definition cursor.c:158
int db_d_execute_immediate(void)
Execute SQL statements.
Definition d_execute.c:26
int db_d_open_insert_cursor(void)
Open insert cursor.
dbDriver * db_start_driver_open_database(const char *, const char *)
Open driver/database connection.
Definition db.c:28
int db_test_cursor_column_for_update(dbCursor *, int)
Check if column flag is 'update'.
Definition cursor.c:332
int db__recv_column_definition(dbColumn *)
Receive column definition.
Definition xdrcolumn.c:53
void db_set_cursor_column_for_update(dbCursor *, int)
Set Column flag to 'update'.
Definition cursor.c:307
void db_syserror(const char *)
Report system error.
int db__send_short_array(const short *, int)
Send short array.
Definition xdrshort.c:67
int db_test_cursor_mode_scroll(dbCursor *)
Check if cursor mode is 'scroll'.
Definition cursor.c:249
int db_update(dbCursor *)
?
Definition c_update.c:26
int db_test_column_has_default_value(dbColumn *)
Check if column has defined default value.
const char * db_get_default_group_name(void)
Get group name from current DB connection settings.
int db_get_table_number_of_rows(dbDriver *, dbString *)
Get number of rows of table.
void db_set_column_scale(dbColumn *, int)
Set column scale.
void db_set_value_not_null(dbValue *)
Set value to not null.
Definition value.c:184
void db_set_cursor_table(dbCursor *, dbTable *)
Set table for given cursor.
Definition cursor.c:78
void db_char_to_lowercase(char *)
Convert character to lowercase.
Definition case.c:22
int db_copy_table(const char *, const char *, const char *, const char *, const char *, const char *)
Copy a table.
Definition copy_tab.c:443
int db_d_commit_transaction(void)
Commit transaction.
Definition d_execute.c:80
int db_get_value_minute(dbValue *)
Get minute value.
Definition value.c:152
void db_set_column_use_default_value(dbColumn *)
Set default value to be used.
void db_set_error_handler_driver(dbDriver *)
Define standard error handler for open database connection.
int db_append_string(dbString *, const char *)
Append string to dbString.
Definition string.c:205
int db_drop_index(dbDriver *, dbString *)
Drop index.
void db_set_column_has_defined_default_value(dbColumn *)
Set default value identificator.
const char * db_list_drivers(void)
Return comma separated list of existing DB drivers, used for driver parameter options.
int db_nocase_compare(const char *, const char *)
Compare strings case-insensitive.
Definition case.c:69
void db_protocol_error(void)
Report protocol error.
int db_get_table_select_priv(dbTable *)
Get table select privileges.
void db__drop_cursor_from_driver_state(dbCursor *)
Drop cursor from driver state.
const char * db_whoami(void)
Who am i?
void db_free_dbmscap(dbDbmscap *)
Free dbmscap.
Definition dbmscap.c:264
int db_get_column_update_priv(dbColumn *)
Get update privileges.
void db_print_index(FILE *, dbIndex *)
Report index.
void db_free_index(dbIndex *)
Free allocated dbIndex.
int db__recv_token(dbToken *)
Receive token.
Definition xdrtoken.c:36
int db_get_column_host_type(dbColumn *)
Get column host type.
const char * db_get_default_database_name(void)
Get database name from current DB connection settings.
int db_get_table_update_priv(dbTable *)
Get table update privileges.
int db_column_sqltype(dbDriver *, const char *, const char *)
Get column sqltype.
int db_convert_column_value_to_string(dbColumn *, dbString *)
?
Definition columnfmt.c:62
int db__send_column_definition(dbColumn *)
Send column definition.
Definition xdrcolumn.c:25
int db__recv_float(float *)
Receive float.
Definition xdrfloat.c:44
void * db_malloc(int)
Allocate memory.
int db_set_index_type_unique(dbIndex *)
Set index type to unique.
int db_create_database(dbDriver *, dbHandle *)
Create database.
Definition c_createdb.c:27
dbValue * db_get_column_default_value(dbColumn *)
Returns column default value for given column structure.
int db_d_close_cursor(void)
Close cursor.
Definition d_close_cur.c:26
int db_test_index_type_unique(dbIndex *)
Test if type is unique.
int db_test_value_datetime_current(dbValue *)
Check if datatime is current.
Definition value.c:305
dbDirent * db_dirent(const char *, int *)
Read directory and build an array of dbDirent's.
int db__recv_float_array(float **, int *)
Receive float array.
Definition xdrfloat.c:92
int db_create_table(dbDriver *, dbTable *)
Create table.
const char * db_get_value_string(dbValue *)
Get string value.
Definition value.c:92
void db_set_value_day(dbValue *, int)
Set day value.
Definition value.c:255
int db__recv_handle(dbHandle *)
Receive handle.
Definition xdrhandle.c:40
int db_insert(dbCursor *)
Insert new record into table.
Definition c_insert.c:26
int db__recv_char(char *)
?
Definition xdrchar.c:45
void db_set_value_null(dbValue *)
Set value to null.
Definition value.c:174
int db__recv_return_code(int *)
Receive return code.
Definition ret_codes.c:51
int db__recv_datetime(dbDateTime *)
Receive datetime.
Definition xdrdatetime.c:47
int db_alloc_index_columns(dbIndex *, int)
Allocate index columns.
int db_fetch(dbCursor *, int, int *)
Fetch data from open cursor.
Definition c_fetch.c:28
int db_d_get_num_rows(void)
Get number of selected rows.
Definition d_rows.c:25
void db_unset_error_handler_driver(dbDriver *)
Remove error handler before closing the driver.
void db_memory_error(void)
Report memory error.
int db__send_column_value(dbColumn *)
Send column value.
Definition xdrcolumn.c:81
int db_d_insert(void)
Insert new record into table.
Definition d_insert.c:25
void db_set_value_month(dbValue *, int)
Set month value.
Definition value.c:243
void db_auto_print_errors(int)
Toggles printing of DBMI error messages.
int db_get_table_number_of_columns(dbTable *)
Return the number of columns of the table.
dbIndex * db_alloc_index_array(int)
Allocate index array.
int db__recv_value(dbValue *, int)
Receive value.
Definition xdrvalue.c:62
int db_driver(int, char **)
void db_Cstring_to_uppercase(char *)
Convert string to lowercase.
Definition case.c:55
int db_find_database(dbDriver *, dbHandle *, int *)
Find database.
Definition c_finddb.c:29
void db_interval_range(int, int *, int *)
Define range based on SQL data type.
Definition interval.c:24
int db__send_table_data(dbTable *)
Send table data.
Definition xdrtable.c:81
int db_driver_mkdir(const char *, int, int)
Create db directory.
Definition d_mkdir.c:36
int db_CatValArray_get_value_double(dbCatValArray *, int, double *)
Find value (double) by key.
void db_set_cursor_mode(dbCursor *, int)
Set cursor mode.
Definition cursor.c:186
int db__recv_table_definition(dbTable **)
Receive table definition.
Definition xdrtable.c:51
#define __attribute__(x)
Definition defs/glocale.h:6