|
GRASS Programmer's Manual
6.5.svn(2012)-r51648
|
00001 00015 #include <grass/dbmi.h> 00016 #include <grass/glocale.h> 00017 #include "macros.h" 00018 00029 int db_delete_table(const char *drvname, const char *dbname, const char *tblname) 00030 { 00031 dbDriver *driver; 00032 dbString sql; 00033 00034 G_debug(3, "db_delete_table(): driver = %s, db = %s, table = %s\n", 00035 drvname, dbname, tblname); 00036 00037 /* Open driver and database */ 00038 driver = db_start_driver_open_database(drvname, dbname); 00039 if (driver == NULL) { 00040 G_warning(_("Unable open database <%s> by driver <%s>"), dbname, 00041 drvname); 00042 return DB_FAILED; 00043 } 00044 00045 /* Delete table */ 00046 /* TODO test if the tables exist */ 00047 db_init_string(&sql); 00048 db_set_string(&sql, "drop table "); 00049 db_append_string(&sql, tblname); 00050 G_debug(3, db_get_string(&sql)); 00051 00052 if (db_execute_immediate(driver, &sql) != DB_OK) { 00053 G_warning(_("Unable to drop table: '%s'"), 00054 db_get_string(&sql)); 00055 db_close_database_shutdown_driver(driver); 00056 return DB_FAILED; 00057 } 00058 00059 db_close_database_shutdown_driver(driver); 00060 00061 return DB_OK; 00062 }