Wt: Wt::Dbo::SqlConnection Class Reference

Wt 3.3.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Hierarchy
- Class Members

Public Member Functions
Wt::Dbo::SqlConnection Class Reference
Database Objects (Wt::Dbo)

Abstract base class for an SQL connection. More...

`#include <Wt/Dbo/SqlConnection>`

Inheritance diagram for Wt::Dbo::SqlConnection:
[legend]

List of all members.

## Public Member Functions
virtual | ~SqlConnection ()
| Destructor.
virtual SqlConnection * | clone () const =0
| Clones the connection.
virtual void | executeSql (const std::string &sql)
| Executes an SQL statement.
virtual void | startTransaction ()=0
| Starts a transaction.
virtual void | commitTransaction ()=0
| Commits a transaction.
virtual void | rollbackTransaction ()=0
| Rolls back a transaction.
virtual SqlStatement * | getStatement (const std::string &id) const
| Returns the statement with the given id.
virtual void | saveStatement (const std::string &id, SqlStatement *statement)
| Saves a statement with the given id.
virtual SqlStatement * | prepareStatement (const std::string &sql)=0
| Prepares a statement.
void | setProperty (const std::string &name, const std::string &value)
| Sets a property.
std::string | property (const std::string &name) const
| Returns a property.
Methods that return dialect information
virtual std::string | autoincrementSql () const =0
| Returns the 'autoincrement' SQL type modifier.
virtual std::vector< std::string > | autoincrementCreateSequenceSql (const std::string &table, const std::string &id) const =0
| Returns the SQL statement(s) required to create an id sequence.
virtual std::vector< std::string > | autoincrementDropSequenceSql (const std::string &table, const std::string &id) const =0
| Returns the SQL statement(s) required to drop an id sequence.
virtual std::string | autoincrementType () const =0
| Returns the 'autoincrement' SQL type.
virtual std::string | autoincrementInsertSuffix () const =0
| Returns the suffix for an 'autoincrement' insert statement.
virtual void | prepareForDropTables ()
| Execute code before dropping the tables.
virtual const char * | dateTimeType (SqlDateTimeType type) const =0
| Returns the date/time type.
virtual const char * | blobType () const =0
| Returns the blob type.
virtual const char * | textType () const
| Returns the text type.
virtual const char * | booleanType () const
| Returns the boolean type.
virtual bool | usesRowsFromTo () const
| Returns whether the SQL dialect uses 'ROWS ? TO ?' for partial select results.
virtual bool | supportAlterTable () const
| Returns true if the backend support Alter Table.
virtual const char * | alterTableConstraintString () const
| Returns the command used in alter table .. drop constraint ..

## Detailed Description

Abstract base class for an SQL connection.

An sql connection manages a single connection to a database. It also manages a map of previously prepared statements indexed by id's.

This class is part of Wt::Dbo's backend API, and should not be used directly.

## Member Function Documentation

const char * Wt::Dbo::SqlConnection::alterTableConstraintString | ( |  | ) | const`[virtual]`

Returns the command used in alter table .. drop constraint ..

This method will return "constraint" by default. Default: ALTER TABLE .. DROP CONSTRAINT ..

Reimplemented in Wt::Dbo::backend::MySQL.

virtual std::vector<std::string> Wt::Dbo::SqlConnection::autoincrementCreateSequenceSql | ( | const std::string & | table,
|  | const std::string & | id
| ) |  | const`[pure virtual]`

Returns the SQL statement(s) required to create an id sequence.

This is used by Session::createTables() to create the id sequence for a table. The table's name and primary key are passed as arguments to this function and can be used to construct an SQL sequence that is unique for the table.

Implemented in Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

virtual std::vector<std::string> Wt::Dbo::SqlConnection::autoincrementDropSequenceSql | ( | const std::string & | table,
|  | const std::string & | id
| ) |  | const`[pure virtual]`

Returns the SQL statement(s) required to drop an id sequence.

This is used by Session::dropTables() to drop the id sequence for a table. The table's name and primary key are passed as arguments to this function and can be used to construct an SQL sequence that is unique for the table.

Implemented in Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

virtual std::string Wt::Dbo::SqlConnection::autoincrementInsertSuffix | ( |  | ) | const`[pure virtual]`

Returns the suffix for an 'autoincrement' insert statement.

This is appended to the `insert` statement, since some back-ends need to be indicated that they should return the autoincrement id.

Implemented in Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

virtual std::string Wt::Dbo::SqlConnection::autoincrementSql | ( |  | ) | const`[pure virtual]`

Returns the 'autoincrement' SQL type modifier.

This is used by Session::createTables() to create the id column.

Implemented in Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

virtual std::string Wt::Dbo::SqlConnection::autoincrementType | ( |  | ) | const`[pure virtual]`

Returns the 'autoincrement' SQL type.

This is used by Session::createTables() to create the id column.

Implemented in Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

virtual const char* Wt::Dbo::SqlConnection::blobType | ( |  | ) | const`[pure virtual]`

Returns the blob type.

See also:
  SqlStatement::bind(int, const std::vector<unsigned char>&)

Implemented in Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

const char * Wt::Dbo::SqlConnection::booleanType | ( |  | ) | const`[virtual]`

Returns the boolean type.

This method will return "boolean" by default.

Reimplemented in Wt::Dbo::backend::Firebird.

virtual SqlConnection* Wt::Dbo::SqlConnection::clone | ( |  | ) | const`[pure virtual]`

Clones the connection.

Returns a new connection object that is configured like this object. This is used by connection pool implementations to create its connections.

Implemented in Wt::Dbo::backend::Firebird, Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

virtual void Wt::Dbo::SqlConnection::commitTransaction | ( |  | ) | `[pure virtual]`

Commits a transaction.

This function commits a transaction.

Implemented in Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

virtual const char* Wt::Dbo::SqlConnection::dateTimeType | ( | SqlDateTimeType | type | ) | const`[pure virtual]`

Returns the date/time type.

See also:
  SqlStatement::bind(int, const boost::posix_time::ptime&, SqlDateTimeType)

Implemented in Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

void Wt::Dbo::SqlConnection::executeSql | ( | const std::string & | sql | ) | `[virtual]`

Executes an SQL statement.

This is a convenience method for preparing a statement, executing it, and deleting it.

Reimplemented in Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

SqlStatement * Wt::Dbo::SqlConnection::getStatement | ( | const std::string & | id | ) | const`[virtual]`

Returns the statement with the given id.

Returns 0 if no such statement was already added.

See also:
  saveStatement()

void Wt::Dbo::SqlConnection::prepareForDropTables | ( |  | ) | `[virtual]`

Execute code before dropping the tables.

This method is called before calling Session::dropTables(). The default implementation is empty.

Reimplemented in Wt::Dbo::backend::Firebird.

virtual SqlStatement* Wt::Dbo::SqlConnection::prepareStatement | ( | const std::string & | sql | ) | `[pure virtual]`

Prepares a statement.

Returns the prepared statement.

Implemented in Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

std::string Wt::Dbo::SqlConnection::property | ( | const std::string & | name | ) | const

Returns a property.

Returns the property value, or an empty string if the property was not set.

See also:
  setProperty()

virtual void Wt::Dbo::SqlConnection::rollbackTransaction | ( |  | ) | `[pure virtual]`

Rolls back a transaction.

This function rolls back a transaction.

Implemented in Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

void Wt::Dbo::SqlConnection::saveStatement | ( | const std::string & | id,
|  | SqlStatement * | statement
| ) |  | `[virtual]`

Saves a statement with the given id.

Saves the statement for future reuse using getStatement()

void Wt::Dbo::SqlConnection::setProperty | ( | const std::string & | name,
|  | const std::string & | value
| ) |  |

Sets a property.

Properties may tailor the backend behavior. Some properties are applicable to all backends, while some are backend specific.

General properties are:

- `show-queries`: when value is "true", queries are shown as they are executed.

virtual void Wt::Dbo::SqlConnection::startTransaction | ( |  | ) | `[pure virtual]`

Starts a transaction.

This function starts a transaction.

Implemented in Wt::Dbo::backend::Sqlite3, Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

bool Wt::Dbo::SqlConnection::supportAlterTable | ( |  | ) | const`[virtual]`

Returns true if the backend support Alter Table.

This method will return false by default.

Reimplemented in Wt::Dbo::backend::Firebird, Wt::Dbo::backend::MySQL, and Wt::Dbo::backend::Postgres.

const char * Wt::Dbo::SqlConnection::textType | ( |  | ) | const`[virtual]`

Returns the text type.

This method will return "text" by default.

See also:
  SqlStatement::bind(int column, const std::string& value)

Reimplemented in Wt::Dbo::backend::Firebird.

bool Wt::Dbo::SqlConnection::usesRowsFromTo | ( |  | ) | const`[virtual]`

Returns whether the SQL dialect uses 'ROWS ? TO ?' for partial select results.

This is an alternative SQL dialect option to the (non-standard) 'OFFSET ? LIMIT ?' syntax.

The default implementation returns `false`.

Reimplemented in Wt::Dbo::backend::Firebird.

All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator