Kexi API Documentation (2.0 alpha)

KexiDB::DriverPrivate Class Reference

#include <driver_p.h>

List of all members.


Detailed Description

Private driver's data members. Available for implementation.

Definition at line 142 of file driver_p.h.

Public Member Functions

 DriverPrivate ()
virtual ~DriverPrivate ()
void initKexiKeywords ()
void initDriverKeywords (const char *keywords[], int hashSize)

Public Attributes

QPtrDict< Connectionconnections
QString fileDBDriverMimeType
KService * service
bool isFileDriver: 1
bool isDBOpenedAfterCreate: 1
int features
QValueVector< QStringtypeNames
 real type names for this engine
QMap< QCString, QVariant > properties
QMap< QCString, QStringpropertyCaptions
AdminToolsadminTools
QAsciiDict< bool > * driverSQLDict

Static Public Attributes

static QAsciiDict< bool > * kexiSQLDict = 0
static const char * kexiSQLKeywords []

Protected Member Functions

void initInternalProperties ()

Friends

class DriverManagerInternal


Constructor & Destructor Documentation

DriverPrivate::DriverPrivate  ) 
 

Definition at line 38 of file driver_p.cpp.

References adminTools, driverSQLDict, kexiSQLDict, properties, and propertyCaptions.

DriverPrivate::~DriverPrivate  )  [virtual]
 

Definition at line 93 of file driver_p.cpp.

References adminTools, and driverSQLDict.


Member Function Documentation

void DriverPrivate::initDriverKeywords const char *  keywords[],
int  hashSize
 

Initialise the dictionary of driver-specific keywords used for escaping. hashSize is the number of buckets to use in the dictionary.

See also:
Driver::initSQLKeywords().

Definition at line 111 of file driver_p.cpp.

References driverSQLDict.

Referenced by KexiDB::Driver::initSQLKeywords().

void DriverPrivate::initInternalProperties  )  [protected]
 

Used by driver manager to initialize properties taken using internal driver flags.

Definition at line 56 of file driver_p.cpp.

References features, fileDBDriverMimeType, KexiDB::Driver::IgnoreTransactions, isFileDriver, KexiDB::Driver::MultipleTransactions, KexiDB::Driver::NestedTransactions, properties, propertyCaptions, KexiDB::Driver::SingleTransactions, and KexiDB::version().

Referenced by KexiDB::DriverManagerInternal::driver().

void DriverPrivate::initKexiKeywords  ) 
 

Initialise the dictionary of Kexi SQL keywords used for escaping.

Definition at line 100 of file driver_p.cpp.

References kexiSQLDict, and kexiSQLKeywords.


Friends And Related Function Documentation

friend class DriverManagerInternal [friend]
 

Definition at line 239 of file driver_p.h.


Member Data Documentation

AdminTools* KexiDB::DriverPrivate::adminTools
 

Provides a number of database administration tools for the driver.

Definition at line 202 of file driver_p.h.

Referenced by KexiDB::Driver::adminTools(), DriverPrivate(), and ~DriverPrivate().

QPtrDict<Connection> KexiDB::DriverPrivate::connections
 

Definition at line 148 of file driver_p.h.

Referenced by KexiDB::Driver::connectionsList(), KexiDB::Driver::createConnection(), KexiDB::Connection::destroy(), and KexiDB::Driver::removeConnection().

QAsciiDict<bool>* KexiDB::DriverPrivate::driverSQLDict
 

Driver-specific SQL keywords that need to be escaped if used as an identifier (e.g. for a table or column name) that aren't also Kexi SQL keywords. These don't neccesarily need to be escaped when displayed by the front-end, because they won't confuse the parser. However, they do need to be escaped before sending to the DB-backend which will have it's own parser.

See also:
DriverBehaviour::SQL_KEYWORDS.

Definition at line 222 of file driver_p.h.

Referenced by DriverPrivate(), KexiDB::Driver::escapeIdentifier(), initDriverKeywords(), KexiDB::Driver::initSQLKeywords(), and ~DriverPrivate().

int KexiDB::DriverPrivate::features
 

Features (like transactions, etc.) supported by this driver (sum of selected Features enum items). This member should be filled in driver implementation's constructor (by default m_features==NoFeatures).

Definition at line 186 of file driver_p.h.

Referenced by KexiDB::Connection::beginAutoCommitTransaction(), KexiDB::Connection::beginTransaction(), KexiDB::Connection::commitAutoCommitTransaction(), KexiDB::Connection::commitTransaction(), KexiDB::Driver::features(), initInternalProperties(), KexiDB::Connection::rollbackTransaction(), KexiDB::Connection::setAutoCommit(), KexiDB::Connection::setDefaultTransaction(), KexiDB::SQLiteDriver::SQLiteDriver(), and KexiDB::Driver::transactionsSupported().

QString KexiDB::DriverPrivate::fileDBDriverMimeType
 

Name of MIME type of files handled by this driver if it is a file-based database's driver (equal X-Kexi-FileDBDriverMime service property)

Definition at line 158 of file driver_p.h.

Referenced by KexiDB::DriverManagerInternal::driver(), KexiDB::Driver::fileDBDriverMimeType(), and initInternalProperties().

bool KexiDB::DriverPrivate::isDBOpenedAfterCreate
 

Internal constant flag: Set this in subclass if after successful drv_createDatabased() database is in opened state (as after useDatabase()). For most engines this is not true.

Definition at line 169 of file driver_p.h.

Referenced by KexiDB::Connection::createDatabase(), and KexiDB::SQLiteDriver::SQLiteDriver().

bool KexiDB::DriverPrivate::isFileDriver
 

Internal constant flag: Set this in subclass if driver is a file driver

Definition at line 164 of file driver_p.h.

Referenced by KexiDB::Driver::createConnection(), initInternalProperties(), KexiDB::Driver::isFileDriver(), and KexiDB::SQLiteDriver::SQLiteDriver().

QAsciiDict< bool > * KexiDB::DriverPrivate::kexiSQLDict = 0 [static]
 

Kexi SQL keywords that need to be escaped if used as an identifier (e.g. for a table or column name). These keywords will be escaped by the front-end, even if they are not recognised by the backend to provide UI consistency and to allow DB migration without changing the queries.

See also:
DriverPrivate::initKexiKeywords(), KexiDB::kexiSQLKeywords.

Definition at line 29 of file driver_p.cpp.

Referenced by DriverPrivate(), KexiDB::Driver::escapeIdentifier(), and initKexiKeywords().

const char * KexiDB::DriverPrivate::kexiSQLKeywords [static]
 

Definition at line 12 of file keywords.cpp.

Referenced by initKexiKeywords().

QMap<QCString,QVariant> KexiDB::DriverPrivate::properties
 

Driver properties dictionary (indexed by name), useful for presenting properties to the user. Set available properties here in driver implementation.

Definition at line 194 of file driver_p.h.

Referenced by DriverPrivate(), initInternalProperties(), KexiDB::Driver::propertyNames(), KexiDB::Driver::propertyValue(), and KexiDB::SQLiteDriver::SQLiteDriver().

QMap<QCString,QString> KexiDB::DriverPrivate::propertyCaptions
 

i18n'd captions for properties. You do not need to set predefined properties' caption in driver implementation -it's done automatically.

Definition at line 199 of file driver_p.h.

Referenced by DriverPrivate(), initInternalProperties(), and KexiDB::Driver::propertyCaption().

KService* KexiDB::DriverPrivate::service
 

Info about the driver as a service.

Definition at line 161 of file driver_p.h.

Referenced by KexiDB::DriverManagerInternal::driver(), and KexiDB::Driver::service().

QValueVector<QString> KexiDB::DriverPrivate::typeNames
 

real type names for this engine

Definition at line 189 of file driver_p.h.

Referenced by KexiDB::SQLiteDriver::SQLiteDriver(), KexiDB::pqxxSqlDriver::sqlTypeName(), and KexiDB::Driver::sqlTypeName().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for Kexi 2.0 alpha.
Documentation copyright © 2002-2007 the Kexi Team.
Generated on Tue Apr 1 20:50:41 2008 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003