xBaseConnection

Search for usage in LXR

#include <XbaseConnection.h>

Inheritance diagram for xBaseConnection:

Public Member Functions

KDbCursorprepareQuery (const KDbEscapedString &sql, int cursor_options=0) override
 
KDbCursorprepareQuery (KDbQuerySchema *query, int cursor_options=0) override
 
KDbPreparedStatementInterfaceprepareStatementInternal () override
 
- Public Member Functions inherited from KDbConnection
 ~KDbConnection () override
 
tristate alterTable (KDbTableSchema *tableSchema, KDbTableSchema *newTableSchema)
 
bool alterTableName (KDbTableSchema *tableSchema, const QString &newName, AlterTableNameOptions options=AlterTableNameOption::Default)
 
virtual QString anyAvailableDatabaseName ()
 
bool autoCommit () const
 
KDbTransaction beginTransaction ()
 
void clearResult ()
 
bool closeDatabase ()
 
bool commitTransaction (KDbTransaction transaction=KDbTransaction(), KDbTransaction::CommitOptions options=KDbTransaction::CommitOptions())
 
bool connect ()
 
tristate containsTable (const QString &tableName)
 
bool copyDataBlock (int sourceObjectID, int destObjectID, const QString &dataID=QString())
 
KDbTableSchemacopyTable (const KDbTableSchema &tableSchema, const KDbObject &newData)
 
KDbTableSchemacopyTable (const QString &tableName, const KDbObject &newData)
 
bool createDatabase (const QString &dbName)
 
bool createTable (KDbTableSchema *tableSchema, CreateTableOptions options=CreateTableOption::Default)
 
QString currentDatabase () const
 
KDbConnectionData data () const
 
bool databaseExists (const QString &dbName, bool ignoreErrors=true)
 
QStringList databaseNames (bool also_system_db=false)
 
KDbProperties databaseProperties () const
 
KDbVersionInfo databaseVersion () const
 
KDbTransaction defaultTransaction () const
 
bool deleteCursor (KDbCursor *cursor)
 
bool disconnect ()
 
KDbDriverdriver () const
 
bool dropDatabase (const QString &dbName=QString())
 
bool dropQuery (const QString &queryName)
 
bool dropQuery (KDbQuerySchema *querySchema)
 
tristate dropTable (const QString &tableName)
 
tristate dropTable (KDbTableSchema *tableSchema)
 
virtual QString escapeIdentifier (const QString &id) const
 
virtual KDbEscapedString escapeString (const QString &str) const
 
KDbCursorexecuteQuery (const KDbEscapedString &sql, KDbCursor::Options options=KDbCursor::Option::None)
 
KDbCursorexecuteQuery (KDbQuerySchema *query, const QList< QVariant > &params, KDbCursor::Options options=KDbCursor::Option::None)
 
KDbCursorexecuteQuery (KDbQuerySchema *query, KDbCursor::Options options=KDbCursor::Option::None)
 
KDbCursorexecuteQuery (KDbTableSchema *table, KDbCursor::Options options=KDbCursor::Option::None)
 
bool executeSql (const KDbEscapedString &sql)
 
KDbFieldfindSystemFieldName (const KDbFieldList &fieldlist)
 
QSharedPointer< KDbSqlResultinsertRecord (KDbFieldList *fields, const QList< QVariant > &values)
 
QSharedPointer< KDbSqlResultinsertRecord (KDbTableSchema *tableSchema, const QList< QVariant > &values)
 
bool isConnected () const
 
bool isDatabaseUsed () const
 
tristate isEmpty (KDbTableSchema *table)
 
bool isInternalTableSchema (const QString &tableName)
 
tristate loadDataBlock (int objectID, QString *dataString, const QString &dataID=QString())
 
tristate loadObjectData (int type, const QString &name, KDbObject *object)
 
tristate loadObjectData (int type, int id, KDbObject *object)
 
QList< int > objectIds (int objectType, bool *ok=nullptr)
 
QStringList objectNames (int objectType=KDb::AnyObjectType, bool *ok=nullptr)
 
KDbConnectionOptionsoptions ()
 
virtual KDbCursorprepareQuery (const KDbEscapedString &sql, KDbCursor::Options options=KDbCursor::Option::None)=0
 
KDbCursorprepareQuery (KDbQuerySchema *query, const QList< QVariant > &params, KDbCursor::Options options=KDbCursor::Option::None)
 
virtual KDbCursorprepareQuery (KDbQuerySchema *query, KDbCursor::Options options=KDbCursor::Option::None)=0
 
KDbCursorprepareQuery (KDbTableSchema *table, KDbCursor::Options options=KDbCursor::Option::None)
 
QSharedPointer< KDbSqlResultprepareSql (const KDbEscapedString &sql)
 
KDbPreparedStatement prepareStatement (KDbPreparedStatement::Type type, KDbFieldList *fields, const QStringList &whereFieldNames=QStringList())
 
QList< int > queryIds (bool *ok=nullptr)
 
KDbQuerySchemaquerySchema (const QString &queryName)
 
KDbQuerySchemaquerySchema (int queryId)
 
tristate querySingleNumber (const KDbEscapedString &sql, int *number, int column=0, QueryRecordOptions options=QueryRecordOption::Default)
 
tristate querySingleNumber (KDbQuerySchema *query, int *number, const QList< QVariant > &params, int column=0, QueryRecordOptions options=QueryRecordOption::Default)
 
tristate querySingleNumber (KDbQuerySchema *query, int *number, int column=0, QueryRecordOptions options=QueryRecordOption::Default)
 
tristate querySingleRecord (const KDbEscapedString &sql, KDbRecordData *data, QueryRecordOptions options=QueryRecordOption::Default)
 
tristate querySingleRecord (KDbQuerySchema *query, KDbRecordData *data, const QList< QVariant > &params, QueryRecordOptions options=QueryRecordOption::Default)
 
tristate querySingleRecord (KDbQuerySchema *query, KDbRecordData *data, QueryRecordOptions options=QueryRecordOption::Default)
 
tristate querySingleString (const KDbEscapedString &sql, QString *value, int column=0, QueryRecordOptions options=QueryRecordOption::Default)
 
tristate querySingleString (KDbQuerySchema *query, QString *value, const QList< QVariant > &params, int column=0, QueryRecordOptions options=QueryRecordOption::Default)
 
tristate querySingleString (KDbQuerySchema *query, QString *value, int column=0, QueryRecordOptions options=QueryRecordOption::Default)
 
bool queryStringList (const KDbEscapedString &sql, QStringList *list, int column=0)
 
bool queryStringList (KDbQuerySchema *query, QStringList *list, const QList< QVariant > &params, int column=0)
 
bool queryStringList (KDbQuerySchema *query, QStringList *list, int column=0)
 
virtual KDbEscapedString recentSqlString () const
 
int recordCount (const KDbEscapedString &sql)
 
int recordCount (const KDbTableSchema &tableSchema)
 
int recordCount (KDbQuerySchema *querySchema, const QList< QVariant > &params=QList< QVariant >())
 
int recordCount (KDbTableOrQuerySchema *tableOrQuery, const QList< QVariant > &params=QList< QVariant >())
 
bool removeDataBlock (int objectID, const QString &dataID=QString())
 
bool removeObject (int objId)
 
tristate resultExists (const KDbEscapedString &sql, QueryRecordOptions options=QueryRecordOption::Default)
 
bool rollbackTransaction (KDbTransaction trans=KDbTransaction(), KDbTransaction::CommitOptions options=KDbTransaction::CommitOptions())
 
KDbServerVersionInfo serverVersion () const
 
bool setAutoCommit (bool on)
 
void setAvailableDatabaseName (const QString &dbName)
 
void setDefaultTransaction (const KDbTransaction &trans)
 
bool setQuerySchemaObsolete (const QString &queryName)
 
bool storeDataBlock (int objectID, const QString &dataString, const QString &dataID=QString())
 
bool storeNewObjectData (KDbObject *object)
 
bool storeObjectData (KDbObject *object)
 
QList< int > tableIds (bool *ok=nullptr)
 
QStringList tableNames (bool alsoSystemTables=false, bool *ok=nullptr)
 
KDbTableSchematableSchema (const QString &tableName)
 
KDbTableSchematableSchema (int tableId)
 
QList< KDbTransactiontransactions ()
 
bool useDatabase (const QString &dbName=QString(), bool kexiCompatible=true, bool *cancelled=nullptr, KDbMessageHandler *msgHandler=nullptr)
 
bool useTemporaryDatabaseIfNeeded (QString *name)
 
- Public Member Functions inherited from KDbResultable
 KDbResultable (const KDbResultable &other)
 
void clearResult ()
 
KDbMessageHandlermessageHandler () const
 
KDbResultableoperator= (const KDbResultable &other)
 
KDbResult result () const
 
void setMessageHandler (KDbMessageHandler *handler)
 
void showMessage ()
 

Protected Member Functions

 xBaseConnection (KDbDriver *driver, KDbDriver *internalDriver, const KDbConnectionData &connData)
 
virtual bool drv_closeDatabase ()
 
virtual bool drv_connect (KDbServerVersionInfo *version)
 
virtual bool drv_containsTable (const QString &tableName)
 
virtual bool drv_createDatabase (const QString &dbName=QString())
 
virtual bool drv_disconnect ()
 
virtual bool drv_dropDatabase (const QString &dbName=QString())
 
virtual bool drv_executeSql (const KDbEscapedString &sql)
 
virtual bool drv_getDatabasesList (QStringList *list)
 
virtual bool drv_getTablesList (QStringList *list)
 
virtual quint64 drv_lastInsertRecordId ()
 
virtual bool drv_useDatabase (const QString &dbName=QString(), bool *cancelled=0, KDbMessageHandler *msgHandler=0)
 
virtual QString serverResultName () const
 
- Protected Member Functions inherited from KDbConnection
 KDbConnection (KDbDriver *driver, const KDbConnectionData &connData, const KDbConnectionOptions &options)
 
void addCursor (KDbCursor *cursor)
 
bool beginAutoCommitTransaction (KDbTransactionGuard *tg)
 
bool checkConnected ()
 
bool checkIfColumnExists (KDbCursor *cursor, int column)
 
bool checkIsDatabaseUsed ()
 
bool commitAutoCommitTransaction (const KDbTransaction &trans)
 
bool deleteAllRecords (KDbQuerySchema *query)
 
bool deleteRecord (KDbQuerySchema *query, KDbRecordData *data, bool useRecordId=false)
 
void destroy ()
 
tristate dropTableInternal (KDbTableSchema *tableSchema, bool alsoRemoveSchema)
 
virtual bool drv_afterInsert (const QString &tableName, KDbFieldList *fields)
 
virtual bool drv_afterUpdate (const QString &tableName, KDbFieldList *fields)
 
virtual bool drv_alterTableName (KDbTableSchema *tableSchema, const QString &newName)
 
virtual bool drv_beforeInsert (const QString &tableName, KDbFieldList *fields)
 
virtual bool drv_beforeUpdate (const QString &tableName, KDbFieldList *fields)
 
virtual KDbTransactionDatadrv_beginTransaction ()
 
virtual tristate drv_changeFieldProperty (KDbTableSchema *table, KDbField *field, const QString &propertyName, const QVariant &value)
 
virtual bool drv_commitTransaction (KDbTransactionData *trans)
 
virtual bool drv_connect ()=0
 
virtual bool drv_copyTableData (const KDbTableSchema &tableSchema, const KDbTableSchema &destinationTableSchema)
 
virtual bool drv_createTable (const KDbTableSchema &tableSchema)
 
virtual bool drv_createTable (const QString &tableName)
 
virtual bool drv_databaseExists (const QString &dbName, bool ignoreErrors=true)
 
virtual bool drv_dropTable (const QString &tableName)
 
virtual bool drv_getServerVersion (KDbServerVersionInfo *version)=0
 
virtual QStringList drv_getTableNames (bool *ok)
 
virtual bool drv_isDatabaseUsed () const
 
virtual KDbSqlResultdrv_prepareSql (const KDbEscapedString &sql)=0
 
virtual bool drv_rollbackTransaction (KDbTransactionData *trans)
 
virtual bool drv_setAutoCommit (bool on)
 
KDbCursorexecuteQueryInternal (const KDbEscapedString &sql, KDbQuerySchema *query, const QList< QVariant > *params)
 
bool insertRecord (KDbQuerySchema *query, KDbRecordData *data, KDbRecordEditBuffer *buf, bool getRecordId=false)
 
QSharedPointer< KDbSqlResultinsertRecordInternal (const QString &tableSchemaName, KDbFieldList *fields, const KDbEscapedString &sql)
 
bool loadExtendedTableSchemaData (KDbTableSchema *tableSchema)
 
tristate querySingleNumberInternal (const KDbEscapedString *sql, int *number, KDbQuerySchema *query, const QList< QVariant > *params, int column, QueryRecordOptions options)
 
tristate querySingleRecordInternal (KDbRecordData *data, const KDbEscapedString *sql, KDbQuerySchema *query, const QList< QVariant > *params, QueryRecordOptions options)
 
tristate querySingleStringInternal (const KDbEscapedString *sql, QString *value, KDbQuerySchema *query, const QList< QVariant > *params, int column, QueryRecordOptions options)
 
bool queryStringListInternal (const KDbEscapedString *sql, QStringList *list, KDbQuerySchema *query, const QList< QVariant > *params, int column, bool(*filterFunction)(const QString &))
 
void removeMe (KDbTableSchema *ts)
 
bool rollbackAutoCommitTransaction (const KDbTransaction &trans)
 
KDbFieldsetupField (const KDbRecordData &data)
 
bool setupObjectData (const KDbRecordData &data, KDbObject *object)
 
bool storeExtendedTableSchemaData (KDbTableSchema *tableSchema)
 
bool storeMainFieldSchema (KDbField *field)
 
void takeCursor (KDbCursor *cursor)
 
bool updateRecord (KDbQuerySchema *query, KDbRecordData *data, KDbRecordEditBuffer *buf, bool useRecordId=false)
 

Protected Attributes

xBaseConnectionInternal * d
 
- Protected Attributes inherited from KDbResultable
Private *const d
 
KDbResult m_result
 

Additional Inherited Members

- Public Types inherited from KDbConnection
enum class  AlterTableNameOption { Default = 0 , DropDestination = 1 }
 
typedef QFlags< AlterTableNameOptionAlterTableNameOptions
 
enum class  CreateTableOption { Default = 0 , DropDestination = 1 }
 
typedef QFlags< CreateTableOptionCreateTableOptions
 
enum class  QueryRecordOption { AddLimitTo1 = 1 , Default = AddLimitTo1 }
 
typedef QFlags< QueryRecordOptionQueryRecordOptions
 
- Static Public Member Functions inherited from KDbConnection
static QStringList kdbSystemTableNames ()
 
- Public Attributes inherited from KDbConnection
 H_INS_REC_ALL
 

Detailed Description

Provides database connection, allowing queries and data modification.

Definition at line 32 of file XbaseConnection.h.

Constructor & Destructor Documentation

◆ ~xBaseConnection()

xBaseConnection::~xBaseConnection ( )
virtual

Definition at line 33 of file XbaseConnection.cpp.

◆ xBaseConnection()

xBaseConnection::xBaseConnection ( KDbDriver * driver,
KDbDriver * internalDriver,
const KDbConnectionData & connData )
protected

Used by driver

Definition at line 27 of file XbaseConnection.cpp.

Member Function Documentation

◆ drv_closeDatabase()

bool xBaseConnection::drv_closeDatabase ( )
protectedvirtual

For implementation: closes previously opened database using connection.

Implements KDbConnection.

Definition at line 94 of file XbaseConnection.cpp.

◆ drv_connect()

bool xBaseConnection::drv_connect ( KDbServerVersionInfo * version)
protectedvirtual
Todo
xBase version here

Definition at line 37 of file XbaseConnection.cpp.

◆ drv_containsTable()

bool xBaseConnection::drv_containsTable ( const QString & tableName)
protectedvirtual
Todo
move this somewhere to low level class (MIGRATION?)

Implements KDbConnection.

Definition at line 148 of file XbaseConnection.cpp.

◆ drv_createDatabase()

bool xBaseConnection::drv_createDatabase ( const QString & dbName = QString())
protectedvirtual

For implementation: creates new database using connection

Todo
Check whether this function has any use.

Implements KDbConnection.

Definition at line 79 of file XbaseConnection.cpp.

◆ drv_disconnect()

bool xBaseConnection::drv_disconnect ( )
protectedvirtual

For implementation: disconnects database

Returns
true on success.

Implements KDbConnection.

Definition at line 50 of file XbaseConnection.cpp.

◆ drv_dropDatabase()

bool xBaseConnection::drv_dropDatabase ( const QString & dbName = QString())
protectedvirtual

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

Todo
is here escaping needed

Implements KDbConnection.

Definition at line 101 of file XbaseConnection.cpp.

◆ drv_executeSql()

bool xBaseConnection::drv_executeSql ( const KDbEscapedString & sql)
protectedvirtual

Executes query for a raw SQL statement sql without returning resulting records.

It is useful mostly for INSERT queries but it is possible to execute SELECT queries when returned records can be ignored. The @sql should be is valid and properly escaped.

Note
Only use this method if you really need.
See also
executeSql

Implements KDbConnection.

Definition at line 108 of file XbaseConnection.cpp.

◆ drv_getDatabasesList()

bool xBaseConnection::drv_getDatabasesList ( QStringList * list)
protectedvirtual

For reimplementation: 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.

See also
databaseNames
Todo
Check whether this is the right thing to do

Reimplemented from KDbConnection.

Definition at line 71 of file XbaseConnection.cpp.

◆ drv_getTablesList()

bool xBaseConnection::drv_getTablesList ( QStringList * list)
protectedvirtual
Todo
move this somewhere to low level class (MIGRATION?)

Definition at line 154 of file XbaseConnection.cpp.

◆ drv_lastInsertRecordId()

quint64 xBaseConnection::drv_lastInsertRecordId ( )
protectedvirtual
Todo

Definition at line 112 of file XbaseConnection.cpp.

◆ drv_useDatabase()

bool xBaseConnection::drv_useDatabase ( const QString & dbName = QString(),
bool * cancelled = 0,
KDbMessageHandler * msgHandler = 0 )
protectedvirtual

For implementation: opens existing database using connection

Returns
true on success, false on failure; sets cancelled to true if this action has been cancelled.
Todo
is here escaping needed?

Implements KDbConnection.

Definition at line 86 of file XbaseConnection.cpp.

◆ prepareQuery() [1/2]

KDbCursor * xBaseConnection::prepareQuery ( const KDbEscapedString & sql,
int cursor_options = 0 )
override

Definition at line 54 of file XbaseConnection.cpp.

◆ prepareQuery() [2/2]

KDbCursor * xBaseConnection::prepareQuery ( KDbQuerySchema * query,
int cursor_options = 0 )
override

Definition at line 63 of file XbaseConnection.cpp.

◆ prepareStatementInternal()

KDbPreparedStatementInterface * xBaseConnection::prepareStatementInternal ( )
overridevirtual
Todo
returns nullptr for now
Todo
return new XBasePreparedStatement(*d);

Implements KDbConnection.

Definition at line 163 of file XbaseConnection.cpp.

◆ serverResultName()

QString xBaseConnection::serverResultName ( ) const
protectedvirtual

Implemented for KDbResultable.

Reimplemented from KDbResultable.

Definition at line 127 of file XbaseConnection.cpp.

Member Data Documentation

◆ d

xBaseConnectionInternal* xBaseConnection::d
protected

Definition at line 70 of file XbaseConnection.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 Tue Mar 26 2024 11:21:01 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.