SqliteDriver

Search for usage in LXR

#include <SqliteDriver.h>

Inheritance diagram for SqliteDriver:

Public Member Functions

 SqliteDriver (QObject *parent, const QVariantList &args)
 
KDbEscapedString ceilingOrFloorFunctionToString (const QString &name, const KDbNArgExpression &args, KDbQuerySchemaParameterValueListIterator *params, KDb::ExpressionCallStack *callStack) const override
 
KDbEscapedString collationSql () const override
 
KDbEscapedString escapeBLOB (const QByteArray &array) const override
 
KDbEscapedString escapeString (const QByteArray &str) const override
 
KDbEscapedString escapeString (const QString &str) const override
 
KDbEscapedString greatestOrLeastFunctionToString (const QString &name, const KDbNArgExpression &args, KDbQuerySchemaParameterValueListIterator *params, KDb::ExpressionCallStack *callStack) const override
 
bool isSystemDatabaseName (const QString &) const override
 
bool isSystemObjectName (const QString &n) const override
 
KDbEscapedString randomFunctionToString (const KDbNArgExpression &args, KDbQuerySchemaParameterValueListIterator *params, KDb::ExpressionCallStack *callStack) const override
 
- Public Member Functions inherited from KDbDriver
 ~KDbDriver () override
 
KDbAdminToolsadminTools () const
 
KDbEscapedString concatenateFunctionToString (const KDbBinaryExpression &args, KDbQuerySchemaParameterValueListIterator *params, KDb::ExpressionCallStack *callStack) const
 
const QSet< KDbConnection * > connections () const
 
KDbConnectioncreateConnection (const KDbConnectionData &connData)
 
KDbConnectioncreateConnection (const KDbConnectionData &connData, const KDbConnectionOptions &options)
 
virtual KDB_DEPRECATED KDbEscapedString dateTimeToSql (const QDateTime &v) const
 
virtual KDbEscapedString dateTimeToSql (const QVariant &v) const
 
virtual KDbEscapedString dateToSql (const QVariant &v) const
 
QByteArray escapeIdentifier (const QByteArray &str) const
 
QString escapeIdentifier (const QString &str) const
 
int features () const
 
virtual KDbEscapedString hexFunctionToString (const KDbNArgExpression &args, KDbQuerySchemaParameterValueListIterator *params, KDb::ExpressionCallStack *callStack) const
 
virtual KDbEscapedString ifnullFunctionToString (const KDbNArgExpression &args, KDbQuerySchemaParameterValueListIterator *params, KDb::ExpressionCallStack *callStack) const
 
KDbUtils::Property internalProperty (const QByteArray &name) const
 
QList< QByteArrayinternalPropertyNames () const
 
bool isDriverSpecificKeyword (const QByteArray &word) const
 
bool isSystemFieldName (const QString &name) const
 
virtual KDbEscapedString lengthFunctionToString (const KDbNArgExpression &args, KDbQuerySchemaParameterValueListIterator *params, KDb::ExpressionCallStack *callStack) const
 
const KDbDriverMetaDatametaData () const
 
virtual QString sqlTypeName (KDbField::Type type, const KDbField &field) const
 
virtual KDbEscapedString timeToSql (const QVariant &v) const
 
bool transactionsSupported () const
 
virtual KDbEscapedString unicodeFunctionToString (const KDbNArgExpression &args, KDbQuerySchemaParameterValueListIterator *params, KDb::ExpressionCallStack *callStack) const
 
KDbEscapedString valueToSql (const KDbField *field, const QVariant &v) const
 
KDbEscapedString valueToSql (const QString &ftype, const QVariant &v) const
 
virtual KDbEscapedString valueToSql (KDbField::Type ftype, const QVariant &v) const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
QBindable< QStringbindableObjectName ()
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo () const const
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isQuickItemType () const const
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_GADGET_EXPORT (EXPORT_MACRO)
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setObjectName (QAnyStringView name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool setProperty (const char *name, QVariant &&value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType)
 
QThreadthread () const const
 
- Public Member Functions inherited from KDbResultable
 KDbResultable (const KDbResultable &other)
 
void clearResult ()
 
KDbMessageHandlermessageHandler () const
 
KDbResultableoperator= (const KDbResultable &other)
 
KDbResult result () const
 
virtual QString serverResultName () const
 
void setMessageHandler (KDbMessageHandler *handler)
 
void showMessage ()
 

Protected Member Functions

KDbAdminToolsdrv_createAdminTools () const override
 
KDbConnectiondrv_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)
 
KDbDriverBehaviorbehavior ()
 
const KDbDriverBehaviorbehavior () const
 
void initDriverSpecificKeywords (const char *const *keywords)
 
virtual bool isValid ()
 
KDbConnectionremoveConnection (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
 
QObjectsender () 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()

SqliteDriver::~SqliteDriver ( )
override

Definition at line 96 of file SqliteDriver.cpp.

Member Function Documentation

◆ ceilingOrFloorFunctionToString()

KDbEscapedString SqliteDriver::ceilingOrFloorFunctionToString ( const QString & name,
const KDbNArgExpression & args,
KDbQuerySchemaParameterValueListIterator * params,
KDb::ExpressionCallStack * callStack ) const
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()

KDbEscapedString SqliteDriver::collationSql ( ) const
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()

KDbAdminTools * SqliteDriver::drv_createAdminTools ( ) const
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()

KDbConnection * SqliteDriver::drv_createConnection ( const KDbConnectionData & connData,
const KDbConnectionOptions & options )
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]

QByteArray SqliteDriver::drv_escapeIdentifier ( const QByteArray & str) const
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]

QString SqliteDriver::drv_escapeIdentifier ( const QString & str) const
overrideprotectedvirtual

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()

bool SqliteDriver::drv_isSystemFieldName ( const QString & n) const
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()

KDbEscapedString SqliteDriver::escapeBLOB ( const QByteArray & array) const
overridevirtual

Escape BLOB value array.

Implements KDbDriver.

Definition at line 137 of file SqliteDriver.cpp.

◆ escapeString() [1/2]

KDbEscapedString SqliteDriver::escapeString ( const QByteArray & str) const
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]

KDbEscapedString SqliteDriver::escapeString ( const QString & str) const
overridevirtual

Escape a string for use as a value.

Implements KDbDriver.

Definition at line 127 of file SqliteDriver.cpp.

◆ greatestOrLeastFunctionToString()

KDbEscapedString SqliteDriver::greatestOrLeastFunctionToString ( const QString & name,
const KDbNArgExpression & args,
KDbQuerySchemaParameterValueListIterator * params,
KDb::ExpressionCallStack * callStack ) const
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()

bool SqliteDriver::isSystemDatabaseName ( const QString & name) const
overridevirtual
Returns
false for this driver.

Implements KDbDriver.

Definition at line 114 of file SqliteDriver.cpp.

◆ isSystemObjectName()

bool SqliteDriver::isSystemObjectName ( const QString & n) const
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()

KDbEscapedString SqliteDriver::randomFunctionToString ( const KDbNArgExpression & args,
KDbQuerySchemaParameterValueListIterator * params,
KDb::ExpressionCallStack * callStack ) const
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

SqliteDriverPrivate* const SqliteDriver::dp
protected

Definition at line 107 of file SqliteDriver.h.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 4 2024 16:38:32 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.