Wt  3.3.8
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...
 
void disconnect ()
 Disconnects. More...
 
bool reconnect ()
 Reconnect. More...
 
PGconn * connection ()
 Returns the underlying connection.
 
void setTimeout (int millis)
 Sets a timeout. More...
 
int timeout () const
 Returns the timeout. More...
 
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 std::string &id) 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...
 
virtual bool supportDeferrableFKConstraint () const
 Returns true if the backend supports "deferrable initially deferred" foreign key constraints. More...
 
virtual bool requireSubqueryAlias () const
 Returns the true if the database require subquery alias. 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 std::string textType (int size) const
 Returns the text type. More...
 
virtual std::string longLongType () const
 Returns the 64-bit integer type. More...
 
virtual const char * booleanType () const
 Returns the boolean type. More...
 
virtual bool supportUpdateCascade () const
 Returns the true if the database supports Update Cascade. More...
 
virtual LimitQuery limitQueryMethod () const
 Returns the 'autoincrement' SQL type modifier. More...
 
virtual bool usesRowsFromTo () const
 Returns whether the SQL dialect uses 'ROWS ? TO ?', limit or rownum 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 std::string &  id) 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::disconnect ( )

Disconnects.

This disconnects from the server. Any subsequent action on the connection will result in an automatic reconnect.

See also
reconnect()
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.

bool Wt::Dbo::backend::Postgres::reconnect ( )

Reconnect.

This will try to reconnect a previously disconnected connection. If the connection is still open, it will first disconnect.

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

Returns the true if the database require subquery alias.

This method will return false by default.

Reimplemented from 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::setTimeout ( int  millis)

Sets a timeout.

Sets a timeout for queries. When the query exceeds this timeout, the connection is closed using disconnect() and an exception is thrown.

In practice, as a result, the connection (and statements) can still be used again when a successful reconnect() is performed.

A value of 0 disables the timeout handling, allowing operations to take as much time is they require.

The default value is 0.

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.

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

Returns true if the backend supports "deferrable initially deferred" foreign key constraints.

This method will return false by default.

Reimplemented from Wt::Dbo::SqlConnection.

int Wt::Dbo::backend::Postgres::timeout ( ) const

Returns the timeout.

See also
setTimeout()

Generated on Mon Sep 4 2017 for the C++ Web Toolkit (Wt) by doxygen 1.8.11