#include "../cokebank.h"
#include <sqlite3.h>
+#define DEBUG 1
+
const char * const csBank_DatabaseSetup =
"CREATE TABLE IF NOT EXISTS accounts ("
" acct_id INTEGER PRIMARY KEY NOT NULL,"
" FOREIGN KEY (acct_id) REFERENCES accounts (acct_id) ON DELETE CASCADE"
// Deletion of the account frees the card ^ ^ ^
");"
+"CREATE TABLE IF NOT EXISTS items ("
+" item_id INTEGER PRIMARY KEY NOT NULL,"
+" item_handler STRING NOT NULL,"
+" item_index INTEGER NOT NULL,"
+" item_name STRING NOT NULL,"
+" item_price INTEGER NOT NULL,"
+" item_is_enabled BOOLEAN NOT NULL DEFAULT true"
+");"
"INSERT INTO accounts (acct_name,acct_is_admin,acct_uid) VALUES ('root',1,0);"
"INSERT INTO accounts (acct_name,acct_is_internal,acct_uid) VALUES ('"COKEBANK_SALES_ACCT"',1,-1);"
"INSERT INTO accounts (acct_name,acct_is_internal,acct_uid) VALUES ('"COKEBANK_DEBT_ACCT"',1,-2);"
);
#undef MAP_FLAG
+ #if DEBUG
+ printf("Bank_SetFlags: query=\"%s\"\n", query);
+ #endif
+
// Execute Query
rv = sqlite3_exec(gBank_Database, query, NULL, NULL, &errmsg);
if( rv != SQLITE_OK )
if( !statement ) return -1;
ret = sqlite3_column_int(statement, 0);
- if( ret == 0 ) return -1;
-
sqlite3_finalize(statement);
+
+ if( ret == 0 ) return -1;
return ret;
}
{
Salt = Password = Username; // Shut up GCC
// DEBUG HACKS!
- #if 1
+ #if 0
return Bank_GetAcctByName(Username);
#else
return -1;
sqlite3_stmt *ret;
int rv;
+ #if DEBUG
+ printf("Bank_int_QuerySingle: (Query='%s')\n", Query);
+ #endif
+
// Prepare query
ret = Bank_int_MakeStatemnt(Database, Query);
- if( !ret ) return NULL;
+ if( !ret ) {
+ #if DEBUG >= 2
+ printf("Bank_int_QuerySingle: RETURN NULL ret=NULL\n");
+ #endif
+ return NULL;
+ }
// Get row
rv = sqlite3_step(ret);
// - Empty result set
- if( rv == SQLITE_DONE ) return NULL;
+ if( rv == SQLITE_DONE ) {
+ #if DEBUG >= 2
+ printf("Bank_int_QuerySingle: RETURN NULL (rv == SQLITE_DONE)\n");
+ #endif
+ return NULL;
+ }
// - Other error
if( rv != SQLITE_ROW ) {
fprintf(stderr, "SQLite Error: %s\n", sqlite3_errmsg(gBank_Database));
return NULL;
}
+ #if DEBUG >= 2
+ printf("Bank_int_QuerySingle: RETURN %p\n", ret);
+ #endif
return ret;
}