kexi

KexiDB::pqxxSqlConnection Class Reference

#include <pqxxconnection.h>

Inheritance diagram for KexiDB::pqxxSqlConnection:

KexiDB::Connection KexiDB::Object List of all members.

Detailed Description

Author:
Adam Pigg

Definition at line 48 of file pqxxconnection.h.


Public Member Functions

virtual ~pqxxSqlConnection ()
virtual CursorprepareQuery (const QString &statement=QString::null, uint cursor_options=0)
virtual CursorprepareQuery (QuerySchema &query, uint cursor_options=0)
virtual PreparedStatement::Ptr prepareStatement (PreparedStatement::StatementType type, FieldList &fields)

Protected Member Functions

 pqxxSqlConnection (Driver *driver, ConnectionData &conn_data)
virtual bool drv_isDatabaseUsed () const
virtual bool drv_connect ()
virtual bool drv_disconnect ()
virtual bool drv_getDatabasesList (QStringList &list)
virtual bool drv_createDatabase (const QString &dbName=QString::null)
virtual bool drv_useDatabase (const QString &dbName=QString::null, bool *cancelled=0, MessageHandler *msgHandler=0)
virtual bool drv_closeDatabase ()
virtual bool drv_dropDatabase (const QString &dbName=QString::null)
virtual bool drv_executeSQL (const QString &statement)
virtual Q_ULLONG drv_lastInsertRowID ()
virtual bool drv_getTablesList (QStringList &list)
virtual bool drv_containsTable (const QString &tableName)
virtual TransactionDatadrv_beginTransaction ()
virtual bool drv_commitTransaction (TransactionData *)
virtual bool drv_rollbackTransaction (TransactionData *)
virtual int serverResult ()
virtual QString serverResultName ()
virtual void drv_clearServerResult ()
virtual QString serverErrorMsg ()

Protected Attributes

pqxxSqlConnectionInternal * d

Friends

class pqxxSqlDriver
class pqxxSqlCursor
class pqxxTransactionData

Member Function Documentation

TransactionData * pqxxSqlConnection::drv_beginTransaction  )  [protected, virtual]
 

Note for driver developers: begins new transaction and returns handle to it. Default implementation just executes "BEGIN" sql statement and returns just empty data (TransactionData object).

Drivers that do not support transactions (see Driver::features()) do never call this method. Reimplement this method if you need to do something more (e.g. if you driver will support multiple transactions per connection). Make subclass of TransactionData (declared in transaction.h) and return object of this subclass. You should return NULL if any error occured. Do not check anything in connection (isConnected(), etc.) - all is already done.

Reimplemented from KexiDB::Connection.

Definition at line 359 of file pqxxconnection.cpp.

void pqxxSqlConnection::drv_clearServerResult  )  [protected, virtual]
 

Clears number of last server operation's result stored as a single integer. Formally, this integer should be set to value that means "NO ERRORS" or "OK". This method is called by clearError(). For reimplementation. By default does nothing.

See also:
serverErrorMsg()

Reimplemented from KexiDB::Object.

Definition at line 418 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_closeDatabase  )  [protected, virtual]
 

For reimplemenation: closes previously opened database using connection.

Implements KexiDB::Connection.

Definition at line 219 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_commitTransaction TransactionData tdata  )  [protected, virtual]
 

Todo:

Reimplemented from KexiDB::Connection.

Definition at line 364 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_connect  )  [protected, virtual]
 

For reimplemenation: connects to database

Returns:
true on success.

Implements KexiDB::Connection.

Definition at line 96 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_containsTable const QString &  tableName  )  [protected, virtual]
 

LOW LEVEL METHOD. For reimplemenation: returns true if table with name tableName exists in the database.

Returns:
false if it does not exist or error occured. The lookup is case insensitive.

Implements KexiDB::Connection.

Definition at line 330 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_createDatabase const QString &  dbName = QString::null  )  [protected, virtual]
 

For reimplemenation: creates new database using connection

Implements KexiDB::Connection.

Definition at line 135 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_disconnect  )  [protected, virtual]
 

For reimplemenation: disconnects database

Returns:
true on success.

Implements KexiDB::Connection.

Definition at line 105 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_dropDatabase const QString &  dbName = QString::null  )  [protected, virtual]
 

For reimplemenation: drops database from the server using connection. After drop, database shouldn't be accessible anymore.

Implements KexiDB::Connection.

Definition at line 238 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_executeSQL const QString &  statement  )  [protected, virtual]
 

Executes query statement, but without returning resulting rows (used mostly for functional queries). Only use this method if you really need.

Implements KexiDB::Connection.

Definition at line 251 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_getDatabasesList QStringList &  list  )  [protected, virtual]
 

For reimplemenation: loads list of databases' names available for this connection and adds these names to list. If your server is not able to offer such a list, consider reimplementing drv_databaseExists() instead. The method should return true only if there was no error on getting database names list from the server. Default implementation puts empty list into list and returns true.

Reimplemented from KexiDB::Connection.

Definition at line 113 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_getTablesList QStringList &  list  )  [protected, virtual]
 

LOW LEVEL METHOD. For reimplemenation: loads low-level list of table names available for this connection. The names are in lower case. The method should return true only if there was no error on getting database names list from the server.

Implements KexiDB::Connection.

Definition at line 337 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_isDatabaseUsed  )  const [protected, virtual]
 

Returns:
true if internal driver's structure is still in opened/connected state and database is used. Note for driver developers: Put here every test that you can do using your internal engine's database API, eg (a bit schematic): my_connection_struct->isConnected()==true. Do not check things like Connection::isDatabaseUsed() here or other things that "KexiDB already knows" at its level. If you cannot test anything, just leave default implementation (that returns true).
Result of this method is used as an addtional chance to check for isDatabaseUsed(). Do not call this method from your driver's code, it should be used at KexiDB level only.

Reimplemented from KexiDB::Connection.

Definition at line 300 of file pqxxconnection.cpp.

Q_ULLONG pqxxSqlConnection::drv_lastInsertRowID  )  [protected, virtual]
 

Returns:
unique identifier of last inserted row. Typically this is just primary key value. This identifier could be reused when we want to reference just inserted row. Note for driver developers: contact js (at) iidea.pl if your engine do not offers this information.

Implements KexiDB::Connection.

Definition at line 311 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_rollbackTransaction TransactionData  )  [protected, virtual]
 

Note for driver developers: begins new transaction and returns handle to it. Default implementation just executes "ROLLBACK" sql statement and returns true on success.

See also:
drv_beginTransaction()

Reimplemented from KexiDB::Connection.

Definition at line 386 of file pqxxconnection.cpp.

bool pqxxSqlConnection::drv_useDatabase const QString &  dbName = QString::null,
bool *  cancelled = 0,
MessageHandler msgHandler = 0
[protected, virtual]
 

For reimplemenation: opens existing database using connection

Returns:
true on success, false on failure and cancelled if user has cancelled this action.

Implements KexiDB::Connection.

Definition at line 147 of file pqxxconnection.cpp.

Cursor * pqxxSqlConnection::prepareQuery const QString &  statement = QString::null,
uint  cursor_options = 0
[virtual]
 

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Statement is build from data provided by table schema, it is like "select * from table_name".

Implements KexiDB::Connection.

Definition at line 72 of file pqxxconnection.cpp.

QString pqxxSqlConnection::serverErrorMsg  )  [protected, virtual]
 

KexiDB library offers detailed error numbers using errorNum() and detailed error i18n'd messages using errorMsg() - these informations are not engine-dependent (almost). Use this in your application to give users more information on what's up.

This method returns (non-i18n'd !) engine-specific error message, if there was any error during last server-side operation, otherwise null string. Reimplement this for your driver

Reimplemented from KexiDB::Object.

Definition at line 423 of file pqxxconnection.cpp.

int pqxxSqlConnection::serverResult  )  [protected, virtual]
 

Returns:
engine-specific last server-side operation result number. Use this in your application to give users more information on what's up.
Reimplement this for your driver - default implementation just returns 0. Note that this result value is not the same as the one returned by errorNum() (Object::m_errno member)
See also:
serverErrorMsg(), drv_clearServerResult()

Reimplemented from KexiDB::Object.

Definition at line 408 of file pqxxconnection.cpp.

QString pqxxSqlConnection::serverResultName  )  [protected, virtual]
 

Returns:
engine-specific last server-side operation result name, (name for serverResult()). Use this in your application to give users more information on what's up.
Reimplement this for your driver - default implementation just returns null string. Note that this result name is not the same as the error message returned by serverErorMsg() or erorMsg()
See also:
serverErrorMsg(), drv_clearServerResult()

Reimplemented from KexiDB::Object.

Definition at line 413 of file pqxxconnection.cpp.


Member Data Documentation

pqxxSqlConnectionInternal* KexiDB::pqxxSqlConnection::d [protected]
 

for future extensions

Reimplemented from KexiDB::Connection.

Definition at line 90 of file pqxxconnection.h.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys