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
00379 db_free_string(&column->description);
00380 db_free_string(&column->defaultValue.s);
00381 }