|
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().