GRASS GIS 7 Programmer's Manual  7.5.svn(2018)-r72272
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
db/dbmi_client/select.c File Reference

DBMI Library (client) - select records from table. More...

#include <stdlib.h>
#include <string.h>
#include <grass/gis.h>
#include <grass/dbmi.h>
#include <grass/glocale.h>
Include dependency graph for db/dbmi_client/select.c:

Go to the source code of this file.

Functions

int db_select_int (dbDriver *driver, const char *tab, const char *col, const char *where, int **pval)
 Select array of ordered integers from table/column. More...
 
int db_select_value (dbDriver *driver, const char *tab, const char *key, int id, const char *col, dbValue *val)
 Select one (first) value from table/column for key/id. More...
 
int db_select_CatValArray (dbDriver *driver, const char *tab, const char *key, const char *col, const char *where, dbCatValArray *cvarr)
 Select pairs key/value to array, values are sorted by key (must be integer) More...
 
void db_CatValArray_sort (dbCatValArray *arr)
 Sort key/value array by key. More...
 
int db_CatValArray_sort_by_value (dbCatValArray *arr)
 Sort key/value array by value. More...
 
int db_CatValArray_get_value (dbCatValArray *arr, int key, dbCatVal **cv)
 Find value by key. More...
 
int db_CatValArray_get_value_int (dbCatValArray *arr, int key, int *val)
 Find value (integer) by key. More...
 
int db_CatValArray_get_value_double (dbCatValArray *arr, int key, double *val)
 Find value (double) by key. More...
 

Detailed Description

DBMI Library (client) - select records from table.

(C) 1999-2008 by the GRASS Development Team

This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.

Author
Joel Jones (CERL/UIUC), Radim Blazek

Definition in file db/dbmi_client/select.c.

Function Documentation

int db_CatValArray_get_value ( dbCatValArray arr,
int  key,
dbCatVal **  cv 
)

Find value by key.

Parameters
arrdbCatValArray (key/value array)
keykey value
[out]cvdbCatVal structure (key/value) to store within
Returns
DB_OK on success
DB_FAILED on error

Definition at line 466 of file db/dbmi_client/select.c.

References DB_FAILED, DB_OK, dbCatValArray::n_values, NULL, and dbCatValArray::value.

int db_CatValArray_get_value_double ( dbCatValArray arr,
int  key,
double *  val 
)

Find value (double) by key.

Parameters
arrdbCatValArray (key/value array)
keykey value
[out]valfound value (double)
Returns
DB_OK on success
DB_FAILED on error

Definition at line 518 of file db/dbmi_client/select.c.

References dbCatVal::d, DB_FAILED, DB_OK, G_debug(), dbCatValArray::n_values, NULL, dbCatVal::val, and dbCatValArray::value.

Referenced by IL_vector_input_data_2d(), NetA_get_node_costs(), Vect_net_build_graph(), and Vect_net_ttb_build_graph().

int db_CatValArray_get_value_int ( dbCatValArray arr,
int  key,
int val 
)

Find value (integer) by key.

Parameters
arrdbCatValArray (key/value array)
keykey value
[out]valfound value (integer)
Returns
DB_OK on success
DB_FAILED on error

Definition at line 492 of file db/dbmi_client/select.c.

References DB_FAILED, DB_OK, dbCatVal::i, dbCatValArray::n_values, NULL, dbCatVal::val, and dbCatValArray::value.

Referenced by IL_vector_input_data_2d(), Vect_net_build_graph(), and Vect_net_ttb_build_graph().

void db_CatValArray_sort ( dbCatValArray arr)

Sort key/value array by key.

Parameters
[in,out]arrdbCatValArray (key/value array)

Definition at line 417 of file db/dbmi_client/select.c.

References dbCatValArray::n_values, and dbCatValArray::value.

Referenced by db_select_CatValArray().

int db_CatValArray_sort_by_value ( dbCatValArray arr)

Sort key/value array by value.

Parameters
[in,out]arrdbCatValArray (key/value array)
Returns
DB_OK on success
DB_FAILED on error

Definition at line 430 of file db/dbmi_client/select.c.

References dbCatValArray::ctype, DB_C_TYPE_DATETIME, DB_C_TYPE_DOUBLE, DB_C_TYPE_INT, DB_C_TYPE_STRING, DB_FAILED, DB_OK, dbCatValArray::n_values, and dbCatValArray::value.

Referenced by Vedit_bulk_labeling().

int db_select_int ( dbDriver driver,
const char *  tab,
const char *  col,
const char *  where,
int **  pval 
)

Select array of ordered integers from table/column.

Parameters
driverDB driver
tabtable name
colcolumn name
wherewhere statement
[out]pvalarray of ordered integer values
Returns
number of selected values
-1 on error

Definition at line 103 of file db/dbmi_client/select.c.

References _, count, DB_C_TYPE_DOUBLE, DB_C_TYPE_INT, DB_C_TYPE_STRING, db_close_cursor(), db_fetch(), db_free_string(), db_get_column_sqltype(), db_get_column_value(), db_get_cursor_table(), db_get_table_column(), db_get_value_double(), db_get_value_int(), db_get_value_string(), db_init_string(), DB_NEXT, DB_OK, db_open_select_cursor(), DB_SEQUENTIAL, db_set_string(), db_sqltype_to_Ctype(), G_asprintf(), G_debug(), G_free(), G_warning(), int, and NULL.

Referenced by Vect_cats_set_constraint(), Vect_set_varray_from_db(), and Vect_write_ascii().

int db_select_value ( dbDriver driver,
const char *  tab,
const char *  key,
int  id,
const char *  col,
dbValue val 
)

Select one (first) value from table/column for key/id.

Parameters
driverDB driver
tabtable name
keykey column name
ididentifier in key column
colname of column to select the value from
[out]valdbValue to store within
Returns
number of selected values
-1 on error

Definition at line 204 of file db/dbmi_client/select.c.

References _, count, db_close_cursor(), db_copy_value(), db_fetch(), db_free_string(), db_get_column_value(), db_get_cursor_table(), db_get_table_column(), db_init_string(), DB_NEXT, DB_OK, db_open_select_cursor(), DB_SEQUENTIAL, db_set_string(), G_asprintf(), G_free(), G_warning(), G_zero(), and NULL.

Referenced by Gp_load_sites_thematic(), Gv_load_vect_thematic(), and Vect_write_ascii().