SqliteDriver
#include <SqliteDriver.h>
Protected Member Functions | |
KDbAdminTools * | drv_createAdminTools () const override |
KDbConnection * | drv_createConnection (const KDbConnectionData &connData, const KDbConnectionOptions &options) override |
QByteArray | drv_escapeIdentifier (const QByteArray &str) const override |
QString | drv_escapeIdentifier (const QString &str) const override |
bool | drv_isSystemFieldName (const QString &n) const override |
Protected Member Functions inherited from KDbDriver | |
KDbDriver (QObject *parent, const QVariantList &args) | |
virtual KDbEscapedString | addLimitTo1 (const KDbEscapedString &sql, bool add=true) |
KDbDriverBehavior * | behavior () |
const KDbDriverBehavior * | behavior () const |
void | initDriverSpecificKeywords (const char *const *keywords) |
virtual bool | isValid () |
KDbConnection * | removeConnection (KDbConnection *conn) |
void | setMetaData (const KDbDriverMetaData *metaData) |
virtual bool | supportsDefaultValue (const KDbField &field) const |
Protected Member Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
bool | isSignalConnected (const QMetaMethod &signal) const const |
int | receivers (const char *signal) const const |
QObject * | sender () const const |
int | senderSignalIndex () const const |
virtual void | timerEvent (QTimerEvent *event) |
Protected Attributes | |
SqliteDriverPrivate *const | dp |
Protected Attributes inherited from KDbDriver | |
KDbDriverPrivate *const | d |
Protected Attributes inherited from KDbResultable | |
Private *const | d |
KDbResult | m_result |
Additional Inherited Members | |
Public Types inherited from KDbDriver | |
enum | Features { NoFeatures = 0 , SingleTransactions = 1 , MultipleTransactions = 2 , NestedTransactions = 4 , CursorForward = 8 , CursorBackward = (CursorForward + 16) , CompactingDatabaseSupported = 32 , IgnoreTransactions = 1024 } |
Public Types inherited from QObject | |
typedef | QObjectList |
Properties inherited from QObject | |
objectName | |
Static Public Member Functions inherited from KDbDriver | |
static QString | defaultSqlTypeName (KDbField::Type type) |
static bool | isKDbSystemObjectName (const QString &name) |
Static Public Member Functions inherited from QObject | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
Detailed Description
SQLite database driver.
Definition at line 29 of file SqliteDriver.h.
Constructor & Destructor Documentation
◆ SqliteDriver()
SqliteDriver::SqliteDriver | ( | QObject * | parent, |
const QVariantList & | args ) |
Definition at line 50 of file SqliteDriver.cpp.
◆ ~SqliteDriver()
|
override |
Definition at line 96 of file SqliteDriver.cpp.
Member Function Documentation
◆ ceilingOrFloorFunctionToString()
|
overridevirtual |
Generates native (driver-specific) CEILING() and FLOOR() function calls.
Default implementation USES CEILING() and FLOOR(), respectively. For CEILING() uses: (CASE WHEN X = CAST(X AS INT) THEN CAST(X AS INT) WHEN X >= 0 THEN CAST(X AS INT) + 1 ELSE CAST(X AS INT) END). For FLOOR() uses: (CASE WHEN X >= 0 OR X = CAST(X AS INT) THEN CAST(X AS INT) ELSE CAST(X AS INT) - 1 END).
Reimplemented from KDbDriver.
Definition at line 205 of file SqliteDriver.cpp.
◆ collationSql()
|
overridevirtual |
Implemented for KDbDriver class.
- Returns
- SQL clause to add for unicode text collation sequence used in ORDER BY clauses of SQL statements generated by KDb. Later other clauses may use this statement. One space character should be be prepended. Can be reimplemented for other drivers, e.g. the SQLite3 driver returns " COLLATE ''". Default implementation returns empty string.
Reimplemented from KDbDriver.
Definition at line 157 of file SqliteDriver.cpp.
◆ drv_createAdminTools()
|
overrideprotectedvirtual |
Creates admin tools object providing a number of database administration tools for the driver. This is called once per driver.
Note for driver developers: Reimplement this method by returning a KDbAdminTools-derived object. Default implementation creates anmd returns an empty admin tools KDbAdminTools object.
- See also
- adminTools()
Reimplemented from KDbDriver.
Definition at line 152 of file SqliteDriver.cpp.
◆ drv_createConnection()
|
overrideprotectedvirtual |
For reimplementation: creates and returns connection object with additional structures specific for a given driver. KDbConnection object should inherit KDbConnection and have a destructor that descructs all allocated driver-dependent connection structures.
Implements KDbDriver.
Definition at line 103 of file SqliteDriver.cpp.
◆ drv_escapeIdentifier() [1/2]
|
overrideprotectedvirtual |
This is overloaded version of drv_escapeIdentifier( const QString& str ) to be implemented in the same way.
Implements KDbDriver.
Definition at line 147 of file SqliteDriver.cpp.
◆ drv_escapeIdentifier() [2/2]
Driver-specific SQL string escaping. This method is used by escapeIdentifier(). Implement escaping for any character like " or ' as your database engine requires. Do not append or prepend any quotation marks characters - it is automatically done by escapeIdentifier() using KDbDriverBehavior::OPENING_QUOTATION_MARK_BEGIN_FOR_IDENTIFIER and KDbDriverBehavior::CLOSING_QUOTATION_MARK_BEGIN_FOR_IDENTIFIER.
Implements KDbDriver.
Definition at line 142 of file SqliteDriver.cpp.
◆ drv_isSystemFieldName()
|
overrideprotectedvirtual |
- Returns
- true if n is a system field name; for this driver fields with name equal "_ROWID_" is considered as system field.
Implements KDbDriver.
Definition at line 120 of file SqliteDriver.cpp.
◆ escapeBLOB()
|
overridevirtual |
◆ escapeString() [1/2]
|
overridevirtual |
This is overloaded version of escapeString( const QString& str ) to be implemented in the same way.
Implements KDbDriver.
Definition at line 132 of file SqliteDriver.cpp.
◆ escapeString() [2/2]
|
overridevirtual |
Escape a string for use as a value.
Implements KDbDriver.
Definition at line 127 of file SqliteDriver.cpp.
◆ greatestOrLeastFunctionToString()
|
overridevirtual |
Generates native (driver-specific) GREATEST() and LEAST() function calls.
Uses MAX() and MIN(), respectively. If arguments are of text type, to each argument default (unicode) collation is assigned that is configured for SQLite by KDb. Example: SELECT MAX('ą' COLLATE '', 'z' COLLATE '').
Reimplemented from KDbDriver.
Definition at line 162 of file SqliteDriver.cpp.
◆ isSystemDatabaseName()
|
overridevirtual |
- Returns
- false for this driver.
Implements KDbDriver.
Definition at line 114 of file SqliteDriver.cpp.
◆ isSystemObjectName()
|
overridevirtual |
- Returns
- true if n is a system object name; for this driver any object with name prefixed with "sqlite_" is considered as system object.
Implements KDbDriver.
Definition at line 109 of file SqliteDriver.cpp.
◆ randomFunctionToString()
|
overridevirtual |
Generates native (driver-specific) RANDOM() and RANDOM(X,Y) function calls.
Accepted args can contain zero or two positive integer arguments X, Y; X < Y. In case of numeric arguments, RANDOM(X, Y) returns a random integer that is equal or greater than X and less than Y. Because SQLite returns integer between -9223372036854775808 and +9223372036854775807, RANDOM() for SQLite is equal to (RANDOM()+9223372036854775807)/18446744073709551615. Similarly, RANDOM(X,Y) for SQLite is equal to (X + CAST((Y-X) * (RANDOM()+9223372036854775807)/18446744073709551615 AS INT)).
(X + CAST((Y - X) * (RANDOM()+9223372036854775807)/18446744073709551615 AS INT)).
Reimplemented from KDbDriver.
Definition at line 187 of file SqliteDriver.cpp.
Member Data Documentation
◆ dp
|
protected |
Definition at line 107 of file SqliteDriver.h.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:19:08 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.