summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/sqldbm.h
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-22 14:25:42 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-09-22 14:25:42 +0000
commit6ef42fd11ac54d5f560fb84921a1cf3f372849e0 (patch)
tree0b6c8cb7a6d2f8fddcd0cb00475f27b9a3c3c0b4 /crawl-ref/source/sqldbm.h
parentfaa6d08c428ad8280f84707fa8d4586440b98631 (diff)
downloadcrawl-ref-6ef42fd11ac54d5f560fb84921a1cf3f372849e0.tar.gz
crawl-ref-6ef42fd11ac54d5f560fb84921a1cf3f372849e0.zip
Implemented SQLite fronts for dbm_firstkey and dbm_nextkey to fix trunk build
on Windows. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2180 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/sqldbm.h')
-rw-r--r--crawl-ref/source/sqldbm.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/crawl-ref/source/sqldbm.h b/crawl-ref/source/sqldbm.h
index 7cf8faac8a..8a4130cd8c 100644
--- a/crawl-ref/source/sqldbm.h
+++ b/crawl-ref/source/sqldbm.h
@@ -6,6 +6,7 @@
#ifdef USE_SQLITE_DBM
#include <sys/types.h>
+#include <memory>
#if defined(DOS) || defined(WIN32CONSOLE)
#define SQLITE_INT64_TYPE int
@@ -55,6 +56,10 @@ public:
int open(const std::string &db = "");
void close();
+
+ std::auto_ptr<std::string> firstkey();
+ std::auto_ptr<std::string> nextkey();
+
std::string query(const std::string &key);
int insert(const std::string &key, const std::string &value);
@@ -66,6 +71,7 @@ private:
int finalise_query(sqlite3_stmt **query);
int prepare_query(sqlite3_stmt **query, const char *sql);
int init_query();
+ int init_iterator();
int init_insert();
int init_schema();
int ec(int err);
@@ -74,6 +80,7 @@ private:
sqlite3 *db;
sqlite3_stmt *s_insert;
sqlite3_stmt *s_query;
+ sqlite3_stmt *s_iterator;
std::string dbfile;
};
@@ -81,6 +88,8 @@ SQL_DBM *dbm_open(const char *filename, int open_mode, int permissions);
int dbm_close(SQL_DBM *db);
sql_datum dbm_fetch(SQL_DBM *db, const sql_datum &key);
+sql_datum dbm_firstkey(SQL_DBM *db);
+sql_datum dbm_nextkey(SQL_DBM *db);
int dbm_store(SQL_DBM *db, const sql_datum &key,
const sql_datum &value, int overwrite);