chiark / gitweb /
Better error messages from commod-update-receiver
[ypp-sc-tools.main.git] / yarrg / rssql.c
index bfe60d6c8798be39920fa4cb50c88a336f2831de..043e34ed7790999cc4d09a9295e3dfca6d83f7b3 100644 (file)
@@ -1,3 +1,29 @@
+/*
+ * Route searcher - database helper functions
+ */
+/*
+ *  This is part of the YARRG website, a tool for assisting
+ *  players of Yohoho Puzzle Pirates.
+ * 
+ *  Copyright (C) 2009 Ian Jackson <ijackson@chiark.greenend.org.uk>
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU Affero General Public License as
+ *  published by the Free Software Foundation, either version 3 of the
+ *  License, or (at your option) any later version.
+ *  
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Affero General Public License for more details.
+ *  
+ *  You should have received a copy of the GNU Affero General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *  
+ *  Yohoho and Puzzle Pirates are probably trademarks of Three Rings and
+ *  are used without permission.  This program is not endorsed or
+ *  sponsored by Three Rings.
+ */
 
 #include "rscommon.h"
 
@@ -7,6 +33,7 @@ sqlite3_stmt *ss_ipair;
 int islandtablesz;
 
 DEBUG_DEFINE_DEBUGF(sql);
+DEBUG_DEFINE_SOME_DEBUGF(sql,debug2f);
 
 static int busy_handler(void *u, int previous) {
   debugf("[[DB BUSY %d]]",previous);
@@ -14,10 +41,10 @@ static int busy_handler(void *u, int previous) {
   return 1;
 }
 
-void setup_sql(void) {
+void setup_sql(const char *database) {
   sqlite3_stmt *sst;
   
-  SQL_MUST( sqlite3_open("OCEAN-Midnight.db", &db) );
+  SQL_MUST( sqlite3_open(database, &db) );
   SQL_MUST( sqlite3_busy_handler(db, busy_handler, 0) );
 
   sst= sql_prepare("BEGIN","(begin)");
@@ -44,7 +71,7 @@ void sql_fatal(const char *stmt_what, int sqr, const char *act_what) {
 
 void sql_bind(sqlite3_stmt *ss, int index, int value,
              const char *ss_what, const char *val_what) {
-  debugf("SQL BIND %s #%d = %d = %s\n", ss_what, index, value, val_what);
+  debug2f("SQL BIND %s #%d = %d = %s\n", ss_what, index, value, val_what);
   int sqr= sqlite3_bind_int(ss, index, value);
   if (sqr) sql_fatal(ss_what, sqr,
                     masprintf("bind #%d (%s)", index, val_what));
@@ -84,10 +111,10 @@ int sql_step(sqlite3_stmt *ssh, const char *ssh_string,
     sqr= sqlite3_step((ssh));
     switch (sqr) {
     case SQLITE_DONE:
-      debugf("SQL %s DONE\n",ssh_string);
+      debug2f("SQL %s DONE\n",ssh_string);
       return 0;
     case SQLITE_ROW:
-      if (DEBUGP(sql)) {
+      if (DEBUGP(sql2)) {
        int i;
        fprintf(debug,"SQL %s R",ssh_string);
        for (i=0; i<sqlite3_column_count(ssh); i++) {