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 *
00012 db_get_table_column (dbTable *table, int n)
00013 {
00014     if (n < 0 || n >= table->numColumns)
00015         return ((dbColumn *)NULL);
00016     return &table->columns[n];
00017 }
00018 
00024 dbValue *
00025 db_get_column_value (dbColumn *column)
00026 {
00027     return &column->value;
00028 }
00029 
00035 dbValue *
00036 db_get_column_default_value (dbColumn *column)
00037 {
00038     return &column->defaultValue;
00039 }
00040 
00047 void
00048 db_set_column_sqltype (dbColumn *column, int sqltype)
00049 {
00050     column->sqlDataType = sqltype;
00051 }
00052 
00058 void
00059 db_set_column_host_type (dbColumn *column, int type)
00060 {
00061     column->hostDataType = type;
00062 }
00063 
00069 int
00070 db_get_column_scale (dbColumn *column)
00071 {
00072     return column->scale;
00073 }
00074 
00080 void
00081 db_set_column_scale (dbColumn *column, int scale)
00082 {
00083     column->scale = scale;
00084 }
00085 
00091 int
00092 db_get_column_precision (dbColumn *column)
00093 {
00094     return column->precision;
00095 }
00096 
00102 void
00103 db_set_column_precision (dbColumn *column, int precision)
00104 {
00105     column->precision = precision;
00106 }
00107 
00114 int
00115 db_get_column_sqltype  (dbColumn *column)
00116 
00117 {
00118     return column->sqlDataType;
00119 }
00120 
00121 int
00122 db_get_column_host_type  (dbColumn *column)
00123 
00124 {
00125     return column->hostDataType;
00126 }
00127 
00133 void
00134 db_set_column_has_defined_default_value (dbColumn *column)
00135 
00136 {
00137     column->hasDefaultValue = 1;
00138 }
00139 
00145 void
00146 db_set_column_has_undefined_default_value (dbColumn *column)
00147 
00148 {
00149     column->hasDefaultValue = 0;
00150 }
00151 
00157 void
00158 db_unset_column_has_default_value (dbColumn *column)
00159 
00160 {
00161     column->hasDefaultValue = 0;
00162 }
00163 
00169 int
00170 db_test_column_has_default_value (dbColumn *column)
00171 
00172 {
00173     return (column->hasDefaultValue != 0);
00174 }
00175 
00181 int
00182 db_test_column_has_defined_default_value (dbColumn *column)
00183 
00184 {
00185     return (column->hasDefaultValue);
00186 }
00187 
00193 int
00194 db_test_column_has_undefined_default_value (dbColumn *column)
00195 
00196 {
00197     return (!column->hasDefaultValue);
00198 }
00199 
00205 void
00206 db_set_column_use_default_value (dbColumn *column)
00207 
00208 {
00209     column->useDefaultValue = 1;
00210 }
00211 
00217 void
00218 db_unset_column_use_default_value (dbColumn *column)
00219 
00220 {
00221     column->useDefaultValue = 0;
00222 }
00223 
00229 int
00230 db_test_column_use_default_value (dbColumn *column)
00231 
00232 {
00233     return (column->useDefaultValue != 0);
00234 }
00235 
00241 void
00242 db_set_column_null_allowed (dbColumn *column)
00243 
00244 {
00245     column->nullAllowed = 1;
00246 }
00247 
00253 void
00254 db_unset_column_null_allowed (dbColumn *column)
00255 
00256 {
00257     column->nullAllowed = 0;
00258 }
00259 
00265 int
00266 db_test_column_null_allowed (dbColumn *column)
00267 
00268 {
00269     return (column->nullAllowed != 0);
00270 }
00271 
00277 int
00278 db_get_column_length  (dbColumn *column)
00279 
00280 {
00281     return column->dataLen;
00282 }
00283 
00289 void
00290 db_set_column_length  (dbColumn *column, int length)
00291 
00292 {
00293     column->dataLen = length;
00294 }
00295 
00301 void
00302 db_set_column_select_priv_granted  (dbColumn *column)
00303 
00304 {
00305     column->select = DB_GRANTED;
00306 }
00307 
00313 void
00314 db_set_column_select_priv_not_granted  (dbColumn *column)
00315 
00316 {
00317     column->select = DB_NOT_GRANTED;
00318 }
00319 
00325 int
00326 db_get_column_select_priv  (dbColumn *column)
00327 
00328 {
00329     return column->select;
00330 }
00331 
00337 void
00338 db_set_column_update_priv_granted  (dbColumn *column)
00339 
00340 {
00341     column->update = DB_GRANTED;
00342 }
00343 
00349 void
00350 db_set_column_update_priv_not_granted  (dbColumn *column)
00351 
00352 {
00353     column->update = DB_NOT_GRANTED;
00354 }
00355 
00361 int
00362 db_get_column_update_priv  (dbColumn *column)
00363 
00364 {
00365     return column->update;
00366 }
00367 
00373 void
00374 db_init_column  (dbColumn *column)
00375 
00376 {
00377     db_zero ((void *)column, sizeof(dbColumn));
00378     db_init_string (&column->columnName);
00379     db_init_string (&column->description);
00380     db_init_string (&column->value.s);
00381     db_init_string (&column->defaultValue.s);
00382 }
00383 
00389 int
00390 db_set_column_name  (dbColumn *column, char *name)
00391 
00392 {
00393     return db_set_string (&column->columnName, name);
00394 }
00395 
00401 char *
00402 db_get_column_name  (dbColumn *column)
00403 
00404 {
00405     return db_get_string (&column->columnName);
00406 }
00407 
00413 int
00414 db_set_column_description  (dbColumn *column, char *description)
00415 
00416 {
00417     return db_set_string (&column->description, description);
00418 }
00419 
00425 char *
00426 db_get_column_description  (dbColumn *column)
00427 
00428 {
00429     return db_get_string (&column->description);
00430 }
00431 
00437 void
00438 db_free_column  (dbColumn *column)
00439 
00440 {
00441     db_free_string (&column->columnName);
00442     db_free_string (&column->value.s);
00443 }
00444 

Generated on Sun Apr 6 17:31:38 2008 for GRASS by  doxygen 1.5.5