GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-112dd97adf
d_execute.c
Go to the documentation of this file.
1 /*!
2  * \file db/dbmi_driver/d_execute.c
3  *
4  * \brief DBMI Library (driver) - execute SQL statements
5  *
6  * (C) 1999-2008 by the GRASS Development Team
7  *
8  * This program is free software under the GNU General Public
9  * License (>=v2). Read the file COPYING that comes with GRASS
10  * for details.
11  *
12  * \author Joel Jones (CERL/UIUC), Radim Blazek
13  */
14 
15 #include <stdlib.h>
16 #include <grass/dbmi.h>
17 #include "macros.h"
18 #include "dbstubs.h"
19 
20 /*!
21  \brief Execute SQL statements
22 
23  \return DB_OK on success
24  \return DB_FAILED on failure
25  */
27 {
28  int stat;
29  dbString SQLstatement;
30 
31  /* get the arg(s) */
32  db_init_string(&SQLstatement);
33  DB_RECV_STRING(&SQLstatement);
34 
35  /* call the procedure */
36  stat = db_driver_execute_immediate(&SQLstatement);
37  db_free_string(&SQLstatement);
38 
39  /* send the return code */
40  if (stat != DB_OK) {
42  return DB_OK;
43  }
45 
46  /* no results */
47  return DB_OK;
48 }
49 
50 /*!
51  \brief Begin transaction
52 
53  \return DB_OK on success
54  \return DB_FAILED on failure
55  */
57 {
58  int stat;
59 
60  /* call the procedure */
62 
63  /* send the return code */
64  if (stat != DB_OK) {
66  return DB_OK;
67  }
69 
70  /* no results */
71  return DB_OK;
72 }
73 
74 /*!
75  \brief Commit transaction
76 
77  \return DB_OK on success
78  \return DB_FAILED on failure
79  */
81 {
82  int stat;
83 
84  /* call the procedure */
86 
87  /* send the return code */
88  if (stat != DB_OK) {
90  return DB_OK;
91  }
93 
94  /* no results */
95  return DB_OK;
96 }
int db_d_begin_transaction(void)
Begin transaction.
Definition: d_execute.c:56
int db_d_execute_immediate(void)
Execute SQL statements.
Definition: d_execute.c:26
int db_d_commit_transaction(void)
Commit transaction.
Definition: d_execute.c:80
#define DB_OK
Definition: dbmi.h:71
int(* db_driver_commit_transaction)(void)
int(* db_driver_execute_immediate)(dbString *)
int(* db_driver_begin_transaction)(void)
void db_free_string(dbString *)
Free allocated space for dbString.
Definition: string.c:150
void db_init_string(dbString *)
Initialize dbString.
Definition: string.c:25
#define DB_SEND_SUCCESS()
Definition: macros.h:13
#define DB_RECV_STRING(x)
Definition: macros.h:39
#define DB_SEND_FAILURE()
Definition: macros.h:18