dodo
0.0.1
A C++ library to create containerized Linux services
|
Generic SQL Statement. More...
#include <sqlite.hpp>
Public Member Functions | |
Statement (const Database &db) | |
Constructor. More... | |
virtual | ~Statement () |
Destructor. More... | |
void | close () |
A statement handle can be explicitly closed without deleting the Statement object itself. More... | |
void | prepare (const std::string &sql) |
Prepare a SQL statement. More... | |
void | reset (bool clear=true) |
Reset a SQL statement for re-execute or even re-prepare. More... | |
Protected Attributes | |
sqlite3 * | database_ |
database handle on which the stmt_ is created. More... | |
sqlite3_stmt * | stmt_ |
statement handle. More... | |
Generic SQL Statement.
Definition at line 210 of file sqlite.hpp.
dodo::persist::sqlite::Statement::Statement | ( | const Database & | db | ) |
Constructor.
db | The database context of the statement. |
Definition at line 348 of file sqlite.cpp.
References database_, dodo::persist::sqlite::Database::getDB(), and stmt_.
|
virtual |
Destructor.
Virtual so that this destructor will be called when descendants are deleted.
Definition at line 353 of file sqlite.cpp.
References close(), and stmt_.
void dodo::persist::sqlite::Statement::close | ( | ) |
A statement handle can be explicitly closed without deleting the Statement object itself.
This frees the resources in SQLite, . it's allowed to call prepare() again.
Definition at line 381 of file sqlite.cpp.
References database_, stmt_, and throw_Exception.
Referenced by prepare(), and ~Statement().
void dodo::persist::sqlite::Statement::prepare | ( | const std::string & | sql | ) |
Prepare a SQL statement.
sql | the SQL statement. |
Definition at line 357 of file sqlite.cpp.
References close(), database_, stmt_, and throw_Exception.
Referenced by dodo::persist::sqlite::Database::beginExclusiveTransaction(), dodo::persist::sqlite::Database::beginImmediateTransaction(), dodo::persist::sqlite::Database::beginTransaction(), dodo::persist::sqlite::Database::commit(), dodo::persist::sqlite::Database::createSavepoint(), dodo::persist::KVStore::createSchema(), dodo::persist::sqlite::Database::getUserVersion(), dodo::persist::KVStore::optimize(), dodo::persist::KVStore::prepareSQL(), dodo::persist::sqlite::Database::releaseSavepoint(), dodo::persist::sqlite::Database::rollback(), dodo::persist::sqlite::Database::setUserVersion(), dodo::persist::KVStore::startTransaction(), and dodo::persist::KVStore::vacuum().
void dodo::persist::sqlite::Statement::reset | ( | bool | clear = true | ) |
Reset a SQL statement for re-execute or even re-prepare.
clear | If true (default), unbind the bind variables. If the statement is going to be re-executed, new bind calls must be made. If the satemetn is going to be re-executed with the same bind values, cler can be set to false and no re-binding is required. |
Definition at line 368 of file sqlite.cpp.
References database_, stmt_, and throw_Exception.
Referenced by dodo::persist::KVStore::deleteKey(), dodo::persist::KVStore::exists(), dodo::persist::KVStore::filterKeys(), dodo::persist::KVStore::getMetaData(), dodo::persist::KVStore::getValue(), dodo::persist::KVStore::insertKey(), and dodo::persist::KVStore::setKey().
|
protected |
database handle on which the stmt_ is created.
Definition at line 253 of file sqlite.hpp.
Referenced by dodo::persist::sqlite::DML::bind(), close(), dodo::persist::sqlite::DDL::execute(), dodo::persist::sqlite::DML::execute(), prepare(), reset(), Statement(), and dodo::persist::sqlite::Query::step().
|
protected |
statement handle.
Definition at line 250 of file sqlite.hpp.
Referenced by dodo::persist::sqlite::DML::bind(), close(), dodo::persist::sqlite::DDL::execute(), dodo::persist::sqlite::DML::execute(), dodo::persist::sqlite::DDL::execute_r(), dodo::persist::sqlite::Query::getBytes(), dodo::persist::sqlite::Query::getColumnCount(), dodo::persist::sqlite::Query::getDataType(), dodo::persist::sqlite::Query::getDouble(), dodo::persist::sqlite::Query::getInt(), dodo::persist::sqlite::Query::getInt64(), dodo::persist::sqlite::Query::getText(), dodo::persist::sqlite::Query::isNull(), prepare(), reset(), Statement(), dodo::persist::sqlite::Query::step(), and ~Statement().