-
-
Notifications
You must be signed in to change notification settings - Fork 295
/
xdrcolumn.c
124 lines (99 loc) · 2.88 KB
/
xdrcolumn.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*!
\file lib/db/dbmi_base/xdrcolumn.c
\brief DBMI Library (base) - external data representation (column)
(C) 1999-2009, 2011 by the GRASS Development Team
This program is free software under the GNU General Public License
(>=v2). Read the file COPYING that comes with GRASS for details.
\author Joel Jones (CERL/UIUC), Radim Blazek, Brad Douglas, Markus Neteler
\author Doxygenized by Martin Landa <landa.martin gmail.com> (2011)
*/
#include <grass/dbmi.h>
#include "macros.h"
/*!
\brief Send column definition
\param column pointer to dbColumn
\return DB_OK
*/
int db__send_column_definition(dbColumn * column)
{
DB_SEND_STRING(&column->columnName);
DB_SEND_STRING(&column->description);
DB_SEND_INT(column->sqlDataType);
DB_SEND_INT(column->hostDataType);
DB_SEND_INT(column->precision);
DB_SEND_INT(column->scale);
DB_SEND_INT(column->dataLen);
DB_SEND_INT(column->select);
DB_SEND_INT(column->update);
DB_SEND_CHAR(column->nullAllowed);
DB_SEND_CHAR(column->useDefaultValue);
DB_SEND_CHAR(column->hasDefaultValue);
if (column->hasDefaultValue) {
DB_SEND_COLUMN_DEFAULT_VALUE(column);
}
return DB_OK;
}
/*!
\brief Receive column definition
\param column pointer to dbColumn
\return DB_OK
*/
int db__recv_column_definition(dbColumn * column)
{
DB_RECV_STRING(&column->columnName);
DB_RECV_STRING(&column->description);
DB_RECV_INT(&column->sqlDataType);
DB_RECV_INT(&column->hostDataType);
DB_RECV_INT(&column->precision);
DB_RECV_INT(&column->scale);
DB_RECV_INT(&column->dataLen);
DB_RECV_INT(&column->select);
DB_RECV_INT(&column->update);
DB_RECV_CHAR(&column->nullAllowed);
DB_RECV_CHAR(&column->useDefaultValue);
DB_RECV_CHAR(&column->hasDefaultValue);
if (column->hasDefaultValue) {
DB_RECV_COLUMN_DEFAULT_VALUE(column);
}
return DB_OK;
}
/*!
\brief Send column value
\param column pointer to dbColumn
\return
*/
int db__send_column_value(dbColumn * column)
{
return db__send_value(db_get_column_value(column),
db_sqltype_to_Ctype(db_get_column_sqltype(column)));
}
/*!
\brief Receive column value
\param column pointer to dbColumn
\return
*/
int db__recv_column_value(dbColumn * column)
{
return db__recv_value(db_get_column_value(column),
db_sqltype_to_Ctype(db_get_column_sqltype(column)));
}
/*!
\brief Send column default value
\param column pointer to dbColumn
\return
*/
int db__send_column_default_value(dbColumn * column)
{
return db__send_value(db_get_column_default_value(column),
db_sqltype_to_Ctype(db_get_column_sqltype(column)));
}
/*!
\brief Receive column default value
\param column pointer to dbColumn
\return
*/
int db__recv_column_default_value(dbColumn * column)
{
return db__recv_value(db_get_column_default_value(column),
db_sqltype_to_Ctype(db_get_column_sqltype(column)));
}