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 */ db_d_execute_immediate(void)26int db_d_execute_immediate(void) 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) { 41 DB_SEND_FAILURE(); 42 return DB_OK; 43 } 44 DB_SEND_SUCCESS(); 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 */ db_d_begin_transaction(void)56int db_d_begin_transaction(void) 57 { 58 int stat; 59 60 /* call the procedure */ 61 stat = db_driver_begin_transaction(); 62 63 /* send the return code */ 64 if (stat != DB_OK) { 65 DB_SEND_FAILURE(); 66 return DB_OK; 67 } 68 DB_SEND_SUCCESS(); 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 */ db_d_commit_transaction()80int db_d_commit_transaction() 81 { 82 int stat; 83 84 /* call the procedure */ 85 stat = db_driver_commit_transaction(); 86 87 /* send the return code */ 88 if (stat != DB_OK) { 89 DB_SEND_FAILURE(); 90 return DB_OK; 91 } 92 DB_SEND_SUCCESS(); 93 94 /* no results */ 95 return DB_OK; 96 } 97