Give access to the sqlite3 prepared statement API.

This commit is contained in:
JoelKatz
2013-01-27 23:41:15 -08:00
parent e8ac00e1a3
commit d522f04385
3 changed files with 151 additions and 1 deletions

View File

@@ -52,9 +52,52 @@ public:
sqlite3* peekConnection() { return mConnection; }
virtual bool setupCheckpointing();
virtual SqliteDatabase* getSqliteDB() { return this; }
void runWal();
void doHook(const char *db, int walSize);
};
class SqliteStatement
{
private:
SqliteStatement(const SqliteStatement&); // no implementation
SqliteStatement& operator=(const SqliteStatement&); // no implementation
protected:
sqlite3_stmt* statement;
public:
SqliteStatement(SqliteDatabase* db, const char *statement);
~SqliteStatement();
sqlite3_stmt* peekStatement();
int bind(int position, const void *data, int length);
int bindStatic(int position, const void *data, int length);
int bind(int position, uint32 value);
int bind(int position, const std::string& value);
int bindStatic(int position, const std::string& value);
int bind(int position);
int size(int column);
const void* getBlob(int column);
std::string getString(int column);
const char* peekString(int column);
uint32 getUInt32(int column);
int64 getInt64(int column);
int step();
int reset();
bool isOk(int);
bool isDone(int);
bool isRow(int);
};
// vim:ts=4