xdrcolumn.c

Go to the documentation of this file.
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 }