00001 #include <grass/dbmi.h> 00002 #include "macros.h" 00003 00004 00005 int db__send_column_definition(dbColumn * column) 00006 { 00007 DB_SEND_STRING(&column->columnName); 00008 DB_SEND_STRING(&column->description); 00009 DB_SEND_INT(column->sqlDataType); 00010 DB_SEND_INT(column->hostDataType); 00011 DB_SEND_INT(column->precision); 00012 DB_SEND_INT(column->scale); 00013 DB_SEND_INT(column->dataLen); 00014 DB_SEND_INT(column->select); 00015 DB_SEND_INT(column->update); 00016 DB_SEND_CHAR(column->nullAllowed); 00017 DB_SEND_CHAR(column->useDefaultValue); 00018 DB_SEND_CHAR(column->hasDefaultValue); 00019 if (column->hasDefaultValue) { 00020 DB_SEND_COLUMN_DEFAULT_VALUE(column); 00021 } 00022 00023 return DB_OK; 00024 } 00025 00026 int db__recv_column_definition(dbColumn * column) 00027 { 00028 DB_RECV_STRING(&column->columnName); 00029 DB_RECV_STRING(&column->description); 00030 DB_RECV_INT(&column->sqlDataType); 00031 DB_RECV_INT(&column->hostDataType); 00032 DB_RECV_INT(&column->precision); 00033 DB_RECV_INT(&column->scale); 00034 DB_RECV_INT(&column->dataLen); 00035 DB_RECV_INT(&column->select); 00036 DB_RECV_INT(&column->update); 00037 DB_RECV_CHAR(&column->nullAllowed); 00038 DB_RECV_CHAR(&column->useDefaultValue); 00039 DB_RECV_CHAR(&column->hasDefaultValue); 00040 if (column->hasDefaultValue) { 00041 DB_RECV_COLUMN_DEFAULT_VALUE(column); 00042 } 00043 00044 return DB_OK; 00045 } 00046 00047 00048 int db__send_column_value(dbColumn * column) 00049 { 00050 return db__send_value(db_get_column_value(column), 00051 db_sqltype_to_Ctype(db_get_column_sqltype(column))); 00052 } 00053 00054 00055 int db__recv_column_value(dbColumn * column) 00056 { 00057 return db__recv_value(db_get_column_value(column), 00058 db_sqltype_to_Ctype(db_get_column_sqltype(column))); 00059 } 00060 00061 int db__send_column_default_value(dbColumn * column) 00062 { 00063 return db__send_value(db_get_column_default_value(column), 00064 db_sqltype_to_Ctype(db_get_column_sqltype(column))); 00065 } 00066 00067 int db__recv_column_default_value(dbColumn * column) 00068 { 00069 return db__recv_value(db_get_column_default_value(column), 00070 db_sqltype_to_Ctype(db_get_column_sqltype(column))); 00071 }