dbmi_base/column.c

Go to the documentation of this file.
00001 #include <stdlib.h>
00002 #include <string.h>
00003 #include <grass/gis.h>
00004 #include <grass/dbmi.h>
00005 
00011 dbColumn *db_get_table_column(dbTable * table, int n)
00012 {
00013     if (n < 0 || n >= table->numColumns)
00014         return ((dbColumn *) NULL);
00015     return &table->columns[n];
00016 }
00017 
00023 dbValue *db_get_column_value(dbColumn * column)
00024 {
00025     return &column->value;
00026 }
00027 
00033 dbValue *db_get_column_default_value(dbColumn * column)
00034 {
00035     return &column->defaultValue;
00036 }
00037 
00044 void db_set_column_sqltype(dbColumn * column, int sqltype)
00045 {
00046     column->sqlDataType = sqltype;
00047 }
00048 
00054 void db_set_column_host_type(dbColumn * column, int type)
00055 {
00056     column->hostDataType = type;
00057 }
00058 
00064 int db_get_column_scale(dbColumn * column)
00065 {
00066     return column->scale;
00067 }
00068 
00074 void db_set_column_scale(dbColumn * column, int scale)
00075 {
00076     column->scale = scale;
00077 }
00078 
00084 int db_get_column_precision(dbColumn * column)
00085 {
00086     return column->precision;
00087 }
00088 
00094 void db_set_column_precision(dbColumn * column, int precision)
00095 {
00096     column->precision = precision;
00097 }
00098 
00105 int db_get_column_sqltype(dbColumn * column)
00106 {
00107     return column->sqlDataType;
00108 }
00109 
00110 int db_get_column_host_type(dbColumn * column)
00111 {
00112     return column->hostDataType;
00113 }
00114 
00120 void db_set_column_has_defined_default_value(dbColumn * column)
00121 {
00122     column->hasDefaultValue = 1;
00123 }
00124 
00130 void db_set_column_has_undefined_default_value(dbColumn * column)
00131 {
00132     column->hasDefaultValue = 0;
00133 }
00134 
00140 void db_unset_column_has_default_value(dbColumn * column)
00141 {
00142     column->hasDefaultValue = 0;
00143 }
00144 
00150 int db_test_column_has_default_value(dbColumn * column)
00151 {
00152     return (column->hasDefaultValue != 0);
00153 }
00154 
00160 int db_test_column_has_defined_default_value(dbColumn * column)
00161 {
00162     return (column->hasDefaultValue);
00163 }
00164 
00170 int db_test_column_has_undefined_default_value(dbColumn * column)
00171 {
00172     return (!column->hasDefaultValue);
00173 }
00174 
00180 void db_set_column_use_default_value(dbColumn * column)
00181 {
00182     column->useDefaultValue = 1;
00183 }
00184 
00190 void db_unset_column_use_default_value(dbColumn * column)
00191 {
00192     column->useDefaultValue = 0;
00193 }
00194 
00200 int db_test_column_use_default_value(dbColumn * column)
00201 {
00202     return (column->useDefaultValue != 0);
00203 }
00204 
00210 void db_set_column_null_allowed(dbColumn * column)
00211 {
00212     column->nullAllowed = 1;
00213 }
00214 
00220 void db_unset_column_null_allowed(dbColumn * column)
00221 {
00222     column->nullAllowed = 0;
00223 }
00224 
00230 int db_test_column_null_allowed(dbColumn * column)
00231 {
00232     return (column->nullAllowed != 0);
00233 }
00234 
00240 int db_get_column_length(dbColumn * column)
00241 {
00242     return column->dataLen;
00243 }
00244 
00250 void db_set_column_length(dbColumn * column, int length)
00251 {
00252     column->dataLen = length;
00253 }
00254 
00260 void db_set_column_select_priv_granted(dbColumn * column)
00261 {
00262     column->select = DB_GRANTED;
00263 }
00264 
00270 void db_set_column_select_priv_not_granted(dbColumn * column)
00271 {
00272     column->select = DB_NOT_GRANTED;
00273 }
00274 
00280 int db_get_column_select_priv(dbColumn * column)
00281 {
00282     return column->select;
00283 }
00284 
00290 void db_set_column_update_priv_granted(dbColumn * column)
00291 {
00292     column->update = DB_GRANTED;
00293 }
00294 
00300 void db_set_column_update_priv_not_granted(dbColumn * column)
00301 {
00302     column->update = DB_NOT_GRANTED;
00303 }
00304 
00310 int db_get_column_update_priv(dbColumn * column)
00311 {
00312     return column->update;
00313 }
00314 
00320 void db_init_column(dbColumn * column)
00321 {
00322     db_zero((void *)column, sizeof(dbColumn));
00323     db_init_string(&column->columnName);
00324     db_init_string(&column->description);
00325     db_init_string(&column->value.s);
00326     db_init_string(&column->defaultValue.s);
00327 }
00328 
00334 int db_set_column_name(dbColumn * column, const char *name)
00335 {
00336     return db_set_string(&column->columnName, name);
00337 }
00338 
00344 const char *db_get_column_name(dbColumn * column)
00345 {
00346     return db_get_string(&column->columnName);
00347 }
00348 
00354 int db_set_column_description(dbColumn * column, const char *description)
00355 {
00356     return db_set_string(&column->description, description);
00357 }
00358 
00364 const char *db_get_column_description(dbColumn * column)
00365 {
00366     return db_get_string(&column->description);
00367 }
00368 
00374 void db_free_column(dbColumn * column)
00375 {
00376     db_free_string(&column->columnName);
00377     db_free_string(&column->value.s);
00378     /* match init? */
00379     db_free_string(&column->description);
00380     db_free_string(&column->defaultValue.s);
00381 }
Generated on Tue Apr 6 13:27:21 2010 for GRASS Programmer's Manual by  doxygen 1.6.3