column.c

Go to the documentation of this file.
00001 #include <stdlib.h>
00002 #include <string.h>
00003 #include "gis.h"
00004 #include "dbmi.h"
00005 
00012 dbColumn *
00013 db_get_table_column (dbTable *table, int n)
00014 {
00015     if (n < 0 || n >= table->numColumns)
00016         return ((dbColumn *)NULL);
00017     return &table->columns[n];
00018 }
00019 
00026 dbValue *
00027 db_get_column_value (dbColumn *column)
00028 {
00029     return &column->value;
00030 }
00031 
00038 dbValue *
00039 db_get_column_default_value (dbColumn *column)
00040 {
00041     return &column->defaultValue;
00042 }
00043 
00050 void
00051 db_set_column_sqltype (dbColumn *column, int sqltype)
00052 {
00053     column->sqlDataType = sqltype;
00054 }
00055 
00062 void
00063 db_set_column_host_type (dbColumn *column, int type)
00064 {
00065     column->hostDataType = type;
00066 }
00067 
00074 int
00075 db_get_column_scale (dbColumn *column)
00076 {
00077     return column->scale;
00078 }
00079 
00086 void
00087 db_set_column_scale (dbColumn *column, int scale)
00088 {
00089     column->scale = scale;
00090 }
00091 
00098 int
00099 db_get_column_precision (dbColumn *column)
00100 {
00101     return column->precision;
00102 }
00103 
00110 void
00111 db_set_column_precision (dbColumn *column, int precision)
00112 {
00113     column->precision = precision;
00114 }
00115 
00122 int
00123 db_get_column_sqltype (column)
00124     dbColumn *column;
00125 {
00126     return column->sqlDataType;
00127 }
00128 
00129 int
00130 db_get_column_host_type (column)
00131     dbColumn *column;
00132 {
00133     return column->hostDataType;
00134 }
00135 
00142 void
00143 db_set_column_has_defined_default_value(column)
00144     dbColumn *column;
00145 {
00146     column->hasDefaultValue = DB_DEFINED;
00147 }
00148 
00155 void
00156 db_set_column_has_undefined_default_value(column)
00157     dbColumn *column;
00158 {
00159     column->hasDefaultValue = DB_UNDEFINED;
00160 }
00161 
00168 void
00169 db_unset_column_has_default_value(column)
00170     dbColumn *column;
00171 {
00172     column->hasDefaultValue = 0;
00173 }
00174 
00181 int
00182 db_test_column_has_default_value(column)
00183     dbColumn *column;
00184 {
00185     return (column->hasDefaultValue != 0);
00186 }
00187 
00194 int
00195 db_test_column_has_defined_default_value(column)
00196     dbColumn *column;
00197 {
00198     return (column->hasDefaultValue == DB_DEFINED);
00199 }
00200 
00207 int
00208 db_test_column_has_undefined_default_value(column)
00209     dbColumn *column;
00210 {
00211     return (column->hasDefaultValue == DB_UNDEFINED);
00212 }
00213 
00220 void
00221 db_set_column_use_default_value(column)
00222     dbColumn *column;
00223 {
00224     column->useDefaultValue = 1;
00225 }
00226 
00233 void
00234 db_unset_column_use_default_value(column)
00235     dbColumn *column;
00236 {
00237     column->useDefaultValue = 0;
00238 }
00239 
00246 int
00247 db_test_column_use_default_value(column)
00248     dbColumn *column;
00249 {
00250     return (column->useDefaultValue != 0);
00251 }
00252 
00259 void
00260 db_set_column_null_allowed(column)
00261     dbColumn *column;
00262 {
00263     column->nullAllowed = 1;
00264 }
00265 
00272 void
00273 db_unset_column_null_allowed(column)
00274     dbColumn *column;
00275 {
00276     column->nullAllowed = 0;
00277 }
00278 
00285 int
00286 db_test_column_null_allowed(column)
00287     dbColumn *column;
00288 {
00289     return (column->nullAllowed != 0);
00290 }
00291 
00298 int
00299 db_get_column_length (column)
00300     dbColumn *column;
00301 {
00302     return column->dataLen;
00303 }
00304 
00311 void
00312 db_set_column_length (column, length)
00313     dbColumn *column;
00314     int length;
00315 {
00316     column->dataLen = length;
00317 }
00318 
00325 void
00326 db_set_column_select_priv_granted (column)
00327     dbColumn *column;
00328 {
00329     column->select = DB_GRANTED;
00330 }
00331 
00338 void
00339 db_set_column_select_priv_not_granted (column)
00340     dbColumn *column;
00341 {
00342     column->select = DB_NOT_GRANTED;
00343 }
00344 
00351 int
00352 db_get_column_select_priv (column)
00353     dbColumn *column;
00354 {
00355     return column->select;
00356 }
00357 
00364 void
00365 db_set_column_update_priv_granted (column)
00366     dbColumn *column;
00367 {
00368     column->update = DB_GRANTED;
00369 }
00370 
00377 void
00378 db_set_column_update_priv_not_granted (column)
00379     dbColumn *column;
00380 {
00381     column->update = DB_NOT_GRANTED;
00382 }
00383 
00390 int
00391 db_get_column_update_priv (column)
00392     dbColumn *column;
00393 {
00394     return column->update;
00395 }
00396 
00403 void
00404 db_init_column (column)
00405     dbColumn *column;
00406 {
00407     db_zero ((void *)column, sizeof(dbColumn));
00408     db_init_string (&column->columnName);
00409     db_init_string (&column->description);
00410     db_init_string (&column->value.s);
00411     db_init_string (&column->defaultValue.s);
00412 }
00413 
00420 int
00421 db_set_column_name (column, name)
00422     dbColumn *column;
00423     char *name;
00424 {
00425     return db_set_string (&column->columnName, name);
00426 }
00427 
00434 char *
00435 db_get_column_name (column)
00436     dbColumn *column;
00437 {
00438     return db_get_string (&column->columnName);
00439 }
00440 
00447 int
00448 db_set_column_description (column, description)
00449     dbColumn *column;
00450     char *description;
00451 {
00452     return db_set_string (&column->description, description);
00453 }
00454 
00461 char *
00462 db_get_column_description (column)
00463     dbColumn *column;
00464 {
00465     return db_get_string (&column->description);
00466 }
00467 
00474 void
00475 db_free_column (column)
00476     dbColumn *column;
00477 {
00478     db_free_string (&column->columnName);
00479     db_free_string (&column->value.s);
00480 }
00481 

Generated on Sat Jul 22 22:05:40 2006 for GRASS by  doxygen 1.4.7