kexi
KexiDB::MySqlConnection Class Reference
#include <mysqlconnection.h>

Detailed Description
Should override kexiDB/kexiDB all other members are done by the base class.Definition at line 40 of file mysqlconnection.h.
Public Member Functions | |
virtual Cursor * | prepareQuery (const QString &statement=QString::null, uint cursor_options=0) |
virtual Cursor * | prepareQuery (QuerySchema &query, uint cursor_options=0) |
virtual PreparedStatement::Ptr | prepareStatement (PreparedStatement::StatementType type, FieldList &fields) |
Protected Member Functions | |
MySqlConnection (Driver *driver, ConnectionData &conn_data) | |
virtual bool | drv_connect (KexiDB::ServerVersionInfo &version) |
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 int | serverResult () |
virtual QString | serverResultName () |
virtual QString | serverErrorMsg () |
virtual void | drv_clearServerResult () |
virtual bool | drv_getTablesList (QStringList &list) |
virtual bool | drv_containsTable (const QString &tableName) |
Protected Attributes | |
MySqlConnectionInternal * | d |
Friends | |
class | MySqlDriver |
class | MySqlCursor |
Constructor & Destructor Documentation
MySqlConnection::MySqlConnection | ( | Driver * | driver, | |
ConnectionData & | conn_data | |||
) | [protected] |
Used by driver
Definition at line 43 of file mysqlconnection.cpp.
Member Function Documentation
Cursor * MySqlConnection::prepareQuery | ( | const QString & | statement = QString::null , |
|
uint | cursor_options = 0 | |||
) | [virtual] |
driver-specific string escaping
Prepares SELECT query described by raw statement.
- Returns:
- opened cursor created for results of this query or NULL if there was any error. Cursor can have optionally applied cursor_options (one of more selected from KexiDB::Cursor::Options). Preparation means that returned cursor is created but not opened. Open this when you would like to do it with Cursor::open().
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Prepares query described by query schema. params are values of parameters that will be inserted into places marked with [] before execution of the query.
Note for driver developers: you should initialize cursor engine-specific resources and return Cursor subclass' object (passing query and cursor_options to it's constructor). Kexi SQL and driver-specific escaping is performed on table names.
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 87 of file mysqlconnection.cpp.
PreparedStatement::Ptr MySqlConnection::prepareStatement | ( | PreparedStatement::StatementType | type, | |
FieldList & | fields | |||
) | [virtual] |
Prepare a SQL statement and return a PreparedStatement instance.
Implements KexiDB::Connection.
Definition at line 202 of file mysqlconnection.cpp.
bool MySqlConnection::drv_connect | ( | KexiDB::ServerVersionInfo & | version | ) | [protected, virtual] |
For reimplemenation: connects to database. version should be set to real server's version.
- Returns:
- true on success.
Implements KexiDB::Connection.
Definition at line 53 of file mysqlconnection.cpp.
bool MySqlConnection::drv_disconnect | ( | ) | [protected, virtual] |
For reimplemenation: disconnects database
- Returns:
- true on success.
Implements KexiDB::Connection.
Definition at line 83 of file mysqlconnection.cpp.
bool MySqlConnection::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 95 of file mysqlconnection.cpp.
bool MySqlConnection::drv_createDatabase | ( | const QString & | dbName = QString::null |
) | [protected, virtual] |
For reimplemenation: creates new database using connection
Implements KexiDB::Connection.
Definition at line 114 of file mysqlconnection.cpp.
bool MySqlConnection::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 123 of file mysqlconnection.cpp.
bool MySqlConnection::drv_closeDatabase | ( | ) | [protected, virtual] |
For reimplemenation: closes previously opened database using connection.
Implements KexiDB::Connection.
Definition at line 131 of file mysqlconnection.cpp.
bool MySqlConnection::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 137 of file mysqlconnection.cpp.
bool MySqlConnection::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 142 of file mysqlconnection.cpp.
Q_ULLONG MySqlConnection::drv_lastInsertRowID | ( | ) | [protected, virtual] |
Executes query statement and returns resulting rows (used mostly for SELECT query).
- 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 146 of file mysqlconnection.cpp.
int MySqlConnection::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.
- See also:
- serverErrorMsg(), drv_clearServerResult()
Reimplemented from KexiDB::Object.
Definition at line 152 of file mysqlconnection.cpp.
QString MySqlConnection::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.
- See also:
- serverErrorMsg(), drv_clearServerResult()
Reimplemented from KexiDB::Object.
Definition at line 157 of file mysqlconnection.cpp.
QString MySqlConnection::serverErrorMsg | ( | ) | [protected, virtual] |
KexiDB library offers detailed error numbers using errorNum() and detailed error i18n'd messages using errorMsg() - this information is 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
- default implementation just returns null string.
- See also:
- serverErrorMsg()
Reimplemented from KexiDB::Object.
Definition at line 169 of file mysqlconnection.cpp.
void MySqlConnection::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 162 of file mysqlconnection.cpp.
bool MySqlConnection::drv_getTablesList | ( | QStringList & | list | ) | [protected, virtual] |
- Todo:
- move this somewhere to low level class (MIGRATION?)
Implements KexiDB::Connection.
Definition at line 181 of file mysqlconnection.cpp.
bool MySqlConnection::drv_containsTable | ( | const QString & | tableName | ) | [protected, virtual] |
- Todo:
- move this somewhere to low level class (MIGRATION?)
- Returns:
- false if it does not exist or error occurred. The lookup is case insensitive.
Implements KexiDB::Connection.
Definition at line 174 of file mysqlconnection.cpp.
Member Data Documentation
MySqlConnectionInternal* KexiDB::MySqlConnection::d [protected] |
for future extensions
Reimplemented from KexiDB::Connection.
Definition at line 79 of file mysqlconnection.h.
The documentation for this class was generated from the following files: