12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #include <grass/dbmi.h>
- #include "macros.h"
- int db__send_table_definition(dbTable * table)
- {
- int i;
- DB_SEND_INT(table->numColumns);
- for (i = 0; i < table->numColumns; i++) {
- DB_SEND_COLUMN_DEFINITION(&table->columns[i]);
- }
- DB_SEND_STRING(&table->tableName);
- DB_SEND_STRING(&table->description);
- DB_SEND_INT(table->priv_insert);
- DB_SEND_INT(table->priv_delete);
- return DB_OK;
- }
- int db__recv_table_definition(dbTable ** table)
- {
- int i, ncols;
- dbTable *t;
- DB_RECV_INT(&ncols);
- *table = t = db_alloc_table(ncols);
- if (t == NULL)
- return db_get_error_code();
- for (i = 0; i < t->numColumns; i++) {
- DB_RECV_COLUMN_DEFINITION(&t->columns[i]);
- }
- DB_RECV_STRING(&t->tableName);
- DB_RECV_STRING(&t->description);
- DB_RECV_INT(&t->priv_insert);
- DB_RECV_INT(&t->priv_delete);
- return DB_OK;
- }
- int db__send_table_data(dbTable * table)
- {
- int i, ncols;
- ncols = table->numColumns;
- DB_SEND_INT(ncols);
- for (i = 0; i < ncols; i++) {
- DB_SEND_COLUMN_VALUE(db_get_table_column(table, i));
- }
- return DB_OK;
- }
- int db__recv_table_data(dbTable * table)
- {
- int i, ncols;
- ncols = table->numColumns;
- DB_RECV_INT(&i);
- if (i != ncols) {
- db_error("fetch: table has wrong number of columns");
- return DB_FAILED;
- }
- for (i = 0; i < ncols; i++) {
- DB_RECV_COLUMN_VALUE(db_get_table_column(table, i));
- }
- return DB_OK;
- }
|