GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
d_update.c
Go to the documentation of this file.
1 
15 #include <grass/dbmi.h>
16 #include "macros.h"
17 #include "dbstubs.h"
18 
25 int db_d_update(void)
26 {
27  dbToken token;
28  dbCursor *cursor;
29  int stat;
30 
31  /* get the arg(s) */
32  DB_RECV_TOKEN(&token);
33  cursor = (dbCursor *) db_find_token(token);
34  if (cursor == NULL || !db_test_cursor_type_update(cursor)) {
35  db_error("** not an update cursor **");
37  return DB_FAILED;
38  }
39  if (!db_test_cursor_any_column_flag(cursor)) {
40  db_error("** no columns bound in cursor for update **");
42  return DB_FAILED;
43  }
44  DB_RECV_TABLE_DATA(cursor->table);
45 
46  /* call the procedure */
47  stat = db_driver_update(cursor);
48 
49  /* send the return code */
50  if (stat != DB_OK) {
52  return DB_OK;
53  }
55 
56  /* no results */
57  return DB_OK;
58 }
dbAddress db_find_token(dbToken token)
#define DB_RECV_TOKEN(x)
Definition: macros.h:99
void db_error(const char *s)
int stat
Definition: g3dcolor.c:369
int db_d_update(void)
?
Definition: d_update.c:25
#define DB_SEND_FAILURE()
Definition: macros.h:9
return NULL
Definition: dbfopen.c:1394
#define DB_RECV_TABLE_DATA(x)
Definition: macros.h:69
int(* db_driver_update)()
#define DB_SEND_SUCCESS()
Definition: macros.h:7
int db_test_cursor_any_column_flag(dbCursor *cursor)
Definition: cursor.c:383
int db_test_cursor_type_update(dbCursor *cursor)
Definition: cursor.c:143