GRASS Programmer's Manual  6.5.svn(2014)-r66266
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
c_execute.c
Go to the documentation of this file.
1 
15 #include <grass/dbmi.h>
16 #include "macros.h"
17 
27 int db_execute_immediate(dbDriver * driver, dbString * SQLstatement)
28 {
29  int ret_code;
30 
31  /* start the procedure call */
32  db__set_protocol_fds(driver->send, driver->recv);
33  DB_START_PROCEDURE_CALL(DB_PROC_EXECUTE_IMMEDIATE);
34 
35  /* send the argument(s) to the procedure */
36  DB_SEND_STRING(SQLstatement);
37 
38  /* get the return code for the procedure call */
39  DB_RECV_RETURN_CODE(&ret_code);
40 
41  if (ret_code != DB_OK)
42  return ret_code; /* ret_code SHOULD == DB_FAILED */
43 
44  /* no results */
45  return DB_OK;
46 }
47 
57 {
58  int ret_code;
59 
60  /* start the procedure call */
61  db__set_protocol_fds(driver->send, driver->recv);
62  DB_START_PROCEDURE_CALL(DB_PROC_BEGIN_TRANSACTION);
63 
64  /* get the return code for the procedure call */
65  DB_RECV_RETURN_CODE(&ret_code);
66 
67  if (ret_code != DB_OK)
68  return ret_code;
69 
70  /* no results */
71  return DB_OK;
72 }
73 
83 {
84  int ret_code;
85 
86  /* start the procedure call */
87  db__set_protocol_fds(driver->send, driver->recv);
88  DB_START_PROCEDURE_CALL(DB_PROC_COMMIT_TRANSACTION);
89 
90  /* get the return code for the procedure call */
91  DB_RECV_RETURN_CODE(&ret_code);
92 
93  if (ret_code != DB_OK)
94  return ret_code;
95 
96  /* no results */
97  return DB_OK;
98 }
void db__set_protocol_fds(FILE *send, FILE *recv)
Definition: xdr.c:71
int db_begin_transaction(dbDriver *driver)
Begin transaction.
Definition: c_execute.c:56
int db_execute_immediate(dbDriver *driver, dbString *SQLstatement)
Execute SQL statements.
Definition: c_execute.c:27
#define DB_START_PROCEDURE_CALL(x)
Definition: macros.h:2
#define DB_RECV_RETURN_CODE(x)
Definition: macros.h:4
#define DB_SEND_STRING(x)
Definition: macros.h:12
Definition: driver.h:25
int db_commit_transaction(dbDriver *driver)
Commit transaction.
Definition: c_execute.c:82