Wt  3.3.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | List of all members
Wt::Dbo::backend::Postgres Class Reference

A PostgreSQL connection. More...

#include <Wt/Dbo/backend/Postgres>

Inheritance diagram for Wt::Dbo::backend::Postgres:
Inheritance graph
[legend]

Public Member Functions

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

Detailed Description

A PostgreSQL connection.

This class provides the backend implementation for PostgreSQL databases.

When applicable, exceptions from the backend will return the five-character SQLSTATE error codes, as in http://www.postgresql.org/docs/8.1/static/errcodes-appendix.html, in Exception::code().

Constructor & Destructor Documentation

Wt::Dbo::backend::Postgres::Postgres ( )

Creates new PostgreSQL backend connection.

The connection is not yet open, and requires a connect() before it can be used.

Wt::Dbo::backend::Postgres::Postgres ( const std::string &  db)

Opens a new PostgreSQL backend connection.

The db may be any of the values supported by PQconnectdb().

Wt::Dbo::backend::Postgres::Postgres ( const Postgres other)

Copies a PostgreSQL connection.

This creates a new connection with the same settings as another connection.

See Also
clone()
Wt::Dbo::backend::Postgres::~Postgres ( )

Destructor.

Closes the connection.

Member Function Documentation

std::vector< std::string > Wt::Dbo::backend::Postgres::autoincrementCreateSequenceSql ( const std::string &  table,
const std::string &  id 
) const
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.

Implements Wt::Dbo::SqlConnection.

std::vector< std::string > Wt::Dbo::backend::Postgres::autoincrementDropSequenceSql ( const std::string &  table,
const std::string &  id 
) const
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.

Implements Wt::Dbo::SqlConnection.

std::string Wt::Dbo::backend::Postgres::autoincrementInsertSuffix ( ) const
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.

Implements Wt::Dbo::SqlConnection.

std::string Wt::Dbo::backend::Postgres::autoincrementSql ( ) const
virtual

Returns the 'autoincrement' SQL type modifier.

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

Implements Wt::Dbo::SqlConnection.

std::string Wt::Dbo::backend::Postgres::autoincrementType ( ) const
virtual

Returns the 'autoincrement' SQL type.

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

Implements Wt::Dbo::SqlConnection.

const char * Wt::Dbo::backend::Postgres::blobType ( ) const
virtual
Postgres * Wt::Dbo::backend::Postgres::clone ( ) const
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.

Implements Wt::Dbo::SqlConnection.

void Wt::Dbo::backend::Postgres::commitTransaction ( )
virtual

Commits a transaction.

This function commits a transaction.

Implements Wt::Dbo::SqlConnection.

bool Wt::Dbo::backend::Postgres::connect ( const std::string &  db)

Tries to connect.

Throws an exception if there was a problem, otherwise true. An example connecion string could be: "host=127.0.0.1 user=test password=test port=5432 dbname=test"

const char * Wt::Dbo::backend::Postgres::dateTimeType ( SqlDateTimeType  type) const
virtual
void Wt::Dbo::backend::Postgres::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 from Wt::Dbo::SqlConnection.

SqlStatement * Wt::Dbo::backend::Postgres::prepareStatement ( const std::string &  sql)
virtual

Prepares a statement.

Returns the prepared statement.

Implements Wt::Dbo::SqlConnection.

void Wt::Dbo::backend::Postgres::rollbackTransaction ( )
virtual

Rolls back a transaction.

This function rolls back a transaction.

Implements Wt::Dbo::SqlConnection.

void Wt::Dbo::backend::Postgres::startTransaction ( )
virtual

Starts a transaction.

This function starts a transaction.

Implements Wt::Dbo::SqlConnection.

bool Wt::Dbo::backend::Postgres::supportAlterTable ( ) const
virtual

Returns true if the backend support Alter Table.

This method will return false by default.

Reimplemented from Wt::Dbo::SqlConnection.


Generated on Sat May 3 2014 for the C++ Web Toolkit (Wt) by doxygen 1.8.6