KDb
KDbConnection.cpp
48 * 2: (Kexi 2.5.0) Added maxLengthIsDefault property (type: bool, if true, KDbField::maxLengthStrategy() == KDbField::DefaultMaxLength)
175 KDbConnectionPrivate::KDbConnectionPrivate(KDbConnection* const conn, KDbDriver *drv, const KDbConnectionData& _connData,
224 t_objects->addField(new KDbField(QLatin1String("o_type"), KDbField::Byte, nullptr, KDbField::Unsigned));
232 KDbInternalTableSchema *t_objectdata = new KDbInternalTableSchema(QLatin1String("kexi__objectdata"));
241 t_fields->addField(new KDbField(QLatin1String("t_id"), KDbField::Integer, nullptr, KDbField::Unsigned));
242 t_fields->addField(new KDbField(QLatin1String("f_type"), KDbField::Byte, nullptr, KDbField::Unsigned));
431 void KDbConnectionPrivate::insertFieldsExpanded(const KDbQuerySchema *query, KDbQuerySchemaFieldsExpanded *cache)
707 tr("Could not create database \"%1\". This name is reserved for system database.").arg(dbName));
743 m_result = KDbResult(tr("Database \"%1\" has been created but could not be opened.").arg(dbName));
787 bool KDbConnection::useDatabase(const QString &dbName, bool kexiCompatible, bool *cancelled, KDbMessageHandler* msgHandler)
832 if (kexiCompatible && my_dbName.compare(anyAvailableDatabaseName(), Qt::CaseInsensitive) != 0) {
899 if (d->driver->behavior()->USE_TEMPORARY_DATABASE_FOR_CONNECTION_IF_NEEDED && !isDatabaseUsed()) {
997 const bool success = queryStringListInternal(&sql, &list, nullptr, nullptr, 0, KDb::isIdentifier);
1119 QSharedPointer<KDbSqlResult> KDbConnection::insertRecordInternal(const QString &tableSchemaName,
1163 C_INS_REC( C_A(0) C_A(1) C_A(2) C_A(3) C_A(4) C_A(5), V_A0 V_A(1) V_A(2) V_A(3) V_A(4) V_A(5) ) \
1164 C_INS_REC( C_A(0) C_A(1) C_A(2) C_A(3) C_A(4) C_A(5) C_A(6), V_A0 V_A(1) V_A(2) V_A(3) V_A(4) V_A(5) V_A(6) ) \
1165 C_INS_REC( C_A(0) C_A(1) C_A(2) C_A(3) C_A(4) C_A(5) C_A(6) C_A(7), V_A0 V_A(1) V_A(2) V_A(3) V_A(4) V_A(5) V_A(6) V_A(7) )
1184 QString tableName((it.hasNext() && it.peekNext()->table()) ? it.next()->table()->name() : QLatin1String("??")); \
1293 m_result.setMessage(QString()); //clear as this could be most probably just "Unknown error" string.
1305 for (KDbField::ListIterator it(fieldlist.fieldsIterator()); it != fieldlist.fieldsIteratorConstEnd(); ++it) {
1344 const KDbField::Type type = f->type(); // cache: evaluating type of expressions can be expensive
1519 KDbTableSchema *KDbConnection::copyTable(const KDbTableSchema &tableSchema, const KDbObject &newData)
1534 CreateTableOptions(CreateTableOption::Default) & ~CreateTableOptions(CreateTableOption::DropDestination)))
1641 if (!ts || !KDb::deleteRecords(this, *ts, QLatin1String("t_id"), tableSchema->id())) //field entries
1671 tristate KDbConnection::alterTable(KDbTableSchema* tableSchema, KDbTableSchema* newTableSchema)
1726 const int origID = destTableExists ? tableToReplace->id() : -1; //will be reused in the new table
1946 KDbConnection::tr("Transactions are not supported for \"%1\" driver.").arg( d->driver->metaData()->name() )); }
2132 KDbCursor* KDbConnection::executeQuery(const KDbEscapedString& sql, KDbCursor::Options options)
2202 kdbWarning() << "Aborting, object data should have at least 5 elements, found" << data.count();
2235 if (true != querySingleRecord(KDbEscapedString("SELECT o_id, o_type, o_name, o_caption, o_desc "
2329 QString KDbConnection::escapeIdentifier(const QString& id, KDb::IdentifierEscapingType escapingType) const
2353 tristate KDbConnection::querySingleRecordInternal(KDbRecordData *data, const KDbEscapedString *sql,
2439 tristate KDbConnection::querySingleString(const KDbEscapedString &sql, QString *value, int column,
2477 tristate KDbConnection::querySingleNumber(const KDbEscapedString &sql, int *number, int column,
2618 QDomElement* extendedTableSchemaMainEl, const QString& fieldName, QDomElement* extendedTableSchemaFieldEl,
2648 QDomElement extendedTableSchemaFieldPropertyEl = doc->createElement(QLatin1String("property"));
2651 extendedTableSchemaFieldPropertyEl.setAttribute(QLatin1String("custom"), QLatin1String("true"));
2652 extendedTableSchemaFieldPropertyEl.setAttribute(QLatin1String("name"), QLatin1String(propertyName));
2690 const KDbField::Type type = f->type(); // cache: evaluating type of expressions can be expensive
2691 if (f->visibleDecimalPlaces() >= 0/*nondefault*/ && KDb::supportsVisibleDecimalPlacesProperty(type)) {
2768 // Load extended schema information, if present (see ExtendedTableSchemaInformation in Kexi Wiki)
2890 defaultVariant = KDb::stringToVariant(defaultVariant.toString(), KDbField::variantType(f_type), &ok);
2933 tristate KDbConnection::loadDataBlock(int objectID, QString* dataString, const QString& dataID)
2946 bool KDbConnection::storeDataBlock(int objectID, const QString &dataString, const QString& dataID)
2968 + KDbEscapedString::number(objectID) + ',' + d->driver->valueToSql(KDbField::LongText, dataString)
3055 || tableName == QLatin1String("kexi__final") || tableName == QLatin1String("kexi__useractions");
3098 bool KDbConnection::updateRecord(KDbQuerySchema* query, KDbRecordData* data, KDbRecordEditBuffer* buf, bool useRecordId)
3116 KDbIndexSchema *pkey = (mt->primaryKey() && !mt->primaryKey()->fields()->isEmpty()) ? mt->primaryKey() : nullptr;
3137 continue; // skip values for fields outside of the master table (e.g. a "visible value" of the lookup field)
3152 tr("Could not update record because it does not contain entire primary key of master table."));
3200 bool KDbConnection::insertRecord(KDbQuerySchema* query, KDbRecordData* data, KDbRecordEditBuffer* buf, bool getRecordId)
3242 //kdbDebug() << "adding default value" << ci->field->defaultValue().toString() << "for column" << ci->field->name();
3288 continue; // skip values for fields outside of the master table (e.g. a "visible value" of the lookup field)
3374 KDbIndexSchema *pkey = (mt->primaryKey() && !mt->primaryKey()->fields()->isEmpty()) ? mt->primaryKey() : nullptr;
3493 int KDbConnection::recordCount(KDbTableOrQuerySchema* tableOrQuery, const QList<QVariant>& params)
void setCaption(const QByteArray &name, const QString &caption)
Sets caption for property name to caption.
Definition: KDbUtils.cpp:677
void append(const T &value)
bool isNull() const const
T & first()
QStringList objectNames(int objectType=KDb::AnyObjectType, bool *ok=nullptr)
Definition: KDbConnection.cpp:981
KDB_EXPORT QVariant loadPropertyValueFromDom(const QDomNode &node, bool *ok)
Definition: KDb.cpp:1123
tristate containsTable(const QString &tableName)
Definition: KDbConnection.cpp:1039
bool createDatabase(const QString &dbName)
Creates new database with name dbName, using this connection.
Definition: KDbConnection.cpp:695
void saveToDom(QDomDocument *doc, QDomElement *parentEl)
Definition: KDbLookupFieldSchema.cpp:479
KDB_EXPORT QString escapeIdentifier(const QString &string)
Definition: KDb.cpp:1334
QString toString(int indent) const const
const T value(const Key &key) const const
bool useDatabase(const QString &dbName=QString(), bool kexiCompatible=true, bool *cancelled=nullptr, KDbMessageHandler *msgHandler=nullptr)
Opens an existing database specified by dbName.
Definition: KDbConnection.cpp:787
tristate querySingleNumber(const KDbEscapedString &sql, int *number, int column=0, QueryRecordOptions options=QueryRecordOption::Default)
Definition: KDbConnection.cpp:2477
bool isValid() const const
virtual bool drv_executeSql(const KDbEscapedString &sql)=0
Executes query for a raw SQL statement sql without returning resulting records.
QDomNode firstChild() const const
QDomElement toElement() const const
Definition: KDbVersionInfo.shared.h:43
void insert(const QByteArray &name, const QVariant &value, const QString &caption=QString())
Inserts property with a given name, value and caption.
Definition: KDbUtils.cpp:659
Provides information about lookup field's setup.
Definition: KDbLookupFieldSchema.h:123
QString number(int n, int base)
virtual bool drv_getDatabasesList(QStringList *list)
Definition: KDbConnection.cpp:607
bool closeDatabase()
Closes currently used database for this connection.
Definition: KDbConnection.cpp:852
void setQueryParameters(const QList< QVariant > ¶ms)
Sets query parameters params for this cursor.
Definition: KDbCursor.cpp:612
CaseInsensitive
void setDefaultTransaction(const KDbTransaction &trans)
Sets default transaction.
Definition: KDbConnection.cpp:2079
void remove(const QByteArray &name)
Removes option with a given name if exists.
Definition: KDbConnection.cpp:152
virtual bool drv_rollbackTransaction(KDbTransactionData *trans)
Definition: KDbConnection.cpp:2122
QString tagName() const const
int recordCount(const KDbEscapedString &sql)
Returns number of records returned by given SQL statement.
Definition: KDbConnection.cpp:3453
Type type(const QSqlDatabase &db)
KDbField::ListIterator fieldsIterator() const
Definition: KDbFieldList.cpp:340
QSharedPointer< KDbSqlResult > prepareSql(const KDbEscapedString &sql)
Prepares execution of a new native (raw, backend-specific) SQL query.
Definition: KDbConnection.cpp:1280
virtual KDbPreparedStatementInterface * prepareStatementInternal()=0
static QStringList kdbSystemTableNames()
Definition: KDbConnection.cpp:1044
virtual bool drv_isDatabaseUsed() const
Definition: KDbConnection.h:1159
bool setupObjectData(const KDbRecordData &data, KDbObject *object)
Definition: KDbConnection.cpp:2199
tristate querySingleString(const KDbEscapedString &sql, QString *value, int column=0, QueryRecordOptions options=QueryRecordOption::Default)
Definition: KDbConnection.cpp:2439
QChar separator()
@ DropDestination
Drop destination table if exists.
void setValue(const QByteArray &name, const QVariant &value)
Sets value for property name to value.
Definition: KDbUtils.cpp:685
bool isNull() const const
KDbTableSchema * copyTable(const KDbTableSchema &tableSchema, const KDbObject &newData)
Definition: KDbConnection.cpp:1519
static void unregisterForChanges(KDbConnection *conn, KDbTableSchemaChangeListener *listener, const KDbTableSchema *table)
Unregisters listener for receiving (listening) information about changes in table schema table.
Definition: KDbTableSchemaChangeListener.cpp:412
virtual KDbCursor * prepareQuery(const KDbEscapedString &sql, KDbCursor::Options options=KDbCursor::Option::None)=0
A builder for generating various types of native SQL statements.
Definition: KDbNativeStatementBuilder.h:29
QString trimmed() const const
QString name() const const
QDomText createTextNode(const QString &value)
KDbField * setupField(const KDbRecordData &data)
Definition: KDbConnection.cpp:2855
virtual bool drv_commitTransaction(KDbTransactionData *trans)
Definition: KDbConnection.cpp:2117
virtual bool drv_afterUpdate(const QString &tableName, KDbFieldList *fields)
Definition: KDbConnection.h:1255
KDbTransaction beginTransaction()
Starts a new database transaction.
Definition: KDbConnection.cpp:1953
bool generateSelectStatement(KDbEscapedString *target, KDbQuerySchema *querySchema, const KDbSelectStatementOptions &options, const QList< QVariant > ¶meters=QList< QVariant >()) const
Definition: KDbNativeStatementBuilder.cpp:423
bool beginAutoCommitTransaction(KDbTransactionGuard *tg)
Definition: KDbConnection.cpp:1893
QByteArray number(int n, int base)
QStringList tableNames(bool alsoSystemTables=false, bool *ok=nullptr)
Definition: KDbConnection.cpp:1007
virtual QString escapeIdentifier(const QString &id) const
Identifier escaping function in the associated KDbDriver.
Definition: KDbConnection.cpp:3044
QVector< QVariant > parse(const QString &message, const QDateTime &externalIssueDateTime=QDateTime())
bool setContent(const QByteArray &data, bool namespaceProcessing, QString *errorMsg, int *errorLine, int *errorColumn)
QByteArray toLatin1() const const
QList::const_iterator constBegin() const const
tristate querySingleNumberInternal(const KDbEscapedString *sql, int *number, KDbQuerySchema *query, const QList< QVariant > *params, int column, QueryRecordOptions options)
Definition: KDbConnection.cpp:2458
bool queryStringList(const KDbEscapedString &sql, QStringList *list, int column=0)
Definition: KDbConnection.cpp:2539
bool commitTransaction(KDbTransaction transaction=KDbTransaction(), KDbTransaction::CommitOptions options=KDbTransaction::CommitOptions())
Commits specified transaction for this connection.
Definition: KDbConnection.cpp:1992
QDomElement createElement(const QString &tagName)
QString caption()
Definition: KDbObject.shared.h:31
bool exists() const const
virtual bool drv_useDatabase(const QString &dbName=QString(), bool *cancelled=nullptr, KDbMessageHandler *msgHandler=nullptr)=0
KDbRecordData * storeCurrentRecord() const
Definition: KDbCursor.cpp:183
QString currentDatabase() const
Get the name of the current database.
Definition: KDbConnection.cpp:892
bool setQuerySchemaObsolete(const QString &queryName)
Definition: KDbConnection.cpp:3035
bool storeNewObjectData(KDbObject *object)
Definition: KDbConnection.cpp:2324
const KDbTransaction transaction() const
Returns transaction that is controlled by this guard.
Definition: KDbTransaction.cpp:261
void setConnection(KDbConnection *conn)
Definition: KDbTableSchema.cpp:346
bool isFile() const const
virtual bool drv_disconnect()=0
KDbField * findSystemFieldName(const KDbFieldList &fieldlist)
Definition: KDbConnection.cpp:1303
Definition: KDbResult.shared.h:34
QHash::iterator insert(const Key &key, const T &value)
Q_GLOBAL_STATIC(Internal::StaticControl, s_instance) class ControlPrivate
bool useTemporaryDatabaseIfNeeded(QString *name)
Definition: KDbConnection.cpp:897
void setAttribute(const QString &name, const QString &value)
Definition: KDbVersionInfo.shared.h:87
KSERVICE_EXPORT KService::List query(FilterFunc filterFunc)
tristate dropTableInternal(KDbTableSchema *tableSchema, bool alsoRemoveSchema)
Definition: KDbConnection.cpp:1595
void prependMessage(int code, const QString &message)
Sets result code and prepends message to an existing message.
Definition: KDbResult.cpp:80
Definition: KDbTableSchema.h:209
QSharedPointer< KDbSqlResult > insertRecordInternal(const QString &tableSchemaName, KDbFieldList *fields, const KDbEscapedString &sql)
Definition: KDbConnection.cpp:1119
T * data() const const
KDB_EXPORT QVariant stringToVariant(const QString &s, QVariant::Type type, bool *ok)
Definition: KDb.cpp:1867
typedef ConstIterator
bool checkIfColumnExists(KDbCursor *cursor, int column)
Definition: KDbConnection.cpp:2398
bool operator==(const Qt3DRender::QGraphicsApiFilter &reference, const Qt3DRender::QGraphicsApiFilter &sample)
tristate querySingleRecordInternal(KDbRecordData *data, const KDbEscapedString *sql, KDbQuerySchema *query, const QList< QVariant > *params, QueryRecordOptions options)
Definition: KDbConnection.cpp:2353
virtual bool drv_beforeUpdate(const QString &tableName, KDbFieldList *fields)
Definition: KDbConnection.h:1243
bool deleteAllRecords(KDbQuerySchema *query)
Definition: KDbConnection.cpp:3430
void setMaxLengthStrategy(MaxLengthStrategy strategy)
Definition: KDbField.cpp:660
QString absoluteFilePath() const const
bool hasNext() const const
bool storeExtendedTableSchemaData(KDbTableSchema *tableSchema)
Definition: KDbConnection.cpp:2680
bool executeSql(const KDbEscapedString &sql)
Executes a new native (raw, backend-specific) SQL query.
Definition: KDbConnection.cpp:1286
bool databaseExists(const QString &dbName, bool ignoreErrors=true)
Definition: KDbConnection.cpp:630
QVariant::Type type() const const
KDbQuerySchema * querySchema(int queryId)
Definition: KDbConnection.cpp:3021
virtual tristate drv_containsTable(const QString &tableName)=0
QHash::const_iterator constBegin() const const
QHash::const_iterator constEnd() const const
QVariant::Type variantType() const
Converts field's type to QVariant equivalent as accurate as possible.
Definition: KDbField.h:368
bool isSymLink() const const
const T & at(int i) const const
KDbTransactionGuard class is a convenience class that simplifies handling transactions.
Definition: KDbTransactionGuard.h:51
virtual bool drv_alterTableName(KDbTableSchema *tableSchema, const QString &newName)
Definition: KDbConnection.cpp:1798
KDB_EXPORT bool deleteRecords(KDbConnection *conn, const QString &tableName, const QString &keyname, KDbField::Type keytype, const QVariant &keyval)
Deletes records using one generic criteria.
Definition: KDb.cpp:342
KDB_EXPORT bool supportsVisibleDecimalPlacesProperty(KDbField::Type type)
Definition: KDb.cpp:623
bool isEmpty() const const
KDB_EXPORT bool isDefaultValueAllowed(const KDbField &field)
Definition: KDb.cpp:1915
PropertySet & operator=(const PropertySet &other)
Assigns other to this property set and returns a reference to this property set.
Definition: KDbUtils.cpp:645
KDB_EXPORT int loadIntPropertyValueFromDom(const QDomNode &node, bool *ok)
Definition: KDb.cpp:1097
KDbEscapedString sqlFieldsList(KDbConnection *conn, const QString &separator=QLatin1String(","), const QString &tableOrAlias=QString(), KDb::IdentifierEscapingType escapingType=KDb::DriverEscaping) const
Definition: KDbFieldList.cpp:385
Property property(const QByteArray &name) const
Definition: KDbUtils.cpp:698
@ IgnoreInactive
Do not return error for inactive or null transactions when requesting commit or rollback.
bool rollbackTransaction(KDbTransaction trans=KDbTransaction(), KDbTransaction::CommitOptions options=KDbTransaction::CommitOptions())
Rolls back specified transaction for this connection.
Definition: KDbConnection.cpp:2029
tristate dropTable(KDbTableSchema *tableSchema)
Definition: KDbConnection.cpp:1590
int toInt(bool *ok) const const
virtual bool drv_closeDatabase()=0
int toInt(bool *ok, int base) const const
void setValue(const QByteArray &name, const QVariant &value)
Sets value for option name to value.
Definition: KDbConnection.cpp:143
bool isEmpty() const const
QString fromNativeSeparators(const QString &pathName)
provides data for single edited database record
Definition: KDbRecordEditBuffer.h:76
virtual bool drv_databaseExists(const QString &dbName, bool ignoreErrors=true)
Definition: KDbConnection.cpp:613
KDbCursor * executeQueryInternal(const KDbEscapedString &sql, KDbQuerySchema *query, const QList< QVariant > *params)
Definition: KDbConnection.cpp:2335
void setAvailableDatabaseName(const QString &dbName)
Definition: KDbConnection.cpp:3073
KDbFieldList * subList(const QString &n1, const QString &n2=QString(), const QString &n3=QString(), const QString &n4=QString(), const QString &n5=QString(), const QString &n6=QString(), const QString &n7=QString(), const QString &n8=QString(), const QString &n9=QString(), const QString &n10=QString(), const QString &n11=QString(), const QString &n12=QString(), const QString &n13=QString(), const QString &n14=QString(), const QString &n15=QString(), const QString &n16=QString(), const QString &n17=QString(), const QString &n18=QString())
Definition: KDbFieldList.cpp:251
bool hasChildNodes() const const
3-state logical type with three values: true, false and cancelled and convenient operators.
Definition: KDbTristate.h:100
KDbCursor * executeQuery(const KDbEscapedString &sql, KDbCursor::Options options=KDbCursor::Option::None)
Definition: KDbConnection.cpp:2132
void insert(const QByteArray &name, const QVariant &value, const QString &caption=QString())
Inserts option with a given name, value and caption.
Definition: KDbConnection.cpp:121
QHash::const_iterator constFind(const Key &key) const const
int indexOf(QStringView str, int from) const const
tristate resultExists(const KDbEscapedString &sql, QueryRecordOptions options=QueryRecordOption::Default)
Definition: KDbConnection.cpp:2556
QDomElement documentElement() const const
tristate querySingleStringInternal(const KDbEscapedString *sql, QString *value, KDbQuerySchema *query, const QList< QVariant > *params, int column, QueryRecordOptions options)
Definition: KDbConnection.cpp:2408
virtual KDbEscapedString escapeString(const QString &str) const
Definition: KDbConnection.cpp:3535
bool rollbackAutoCommitTransaction(const KDbTransaction &trans)
Definition: KDbConnection.cpp:1937
T * take()
QStringList databaseNames(bool also_system_db=false)
Definition: KDbConnection.cpp:573
QString fileName() const const
virtual bool drv_connect()=0
virtual bool drv_beforeInsert(const QString &tableName, KDbFieldList *fields)
Definition: KDbConnection.h:1219
KDbTableSchema * tableSchema(int tableId)
Definition: KDbConnection.cpp:2919
KGuiItem ok()
bool toBool() const const
bool contains(const T &value) const const
Definition: KDbFieldList.h:33
QString absolutePath() const const
QDomDocumentType doctype() const const
Provides information about database index that can be created for a database table.
Definition: KDbIndexSchema.h:39
bool setLookupFieldSchema(const QString &fieldName, KDbLookupFieldSchema *lookupFieldSchema)
Definition: KDbTableSchema.cpp:373
bool copyDataBlock(int sourceObjectID, int destObjectID, const QString &dataID=QString())
Definition: KDbConnection.cpp:2972
@ DefinedMaxLength
Used if setMaxLength() was called to set specific maximum value or to unlimited (0).
Definition: KDbField.h:432
QString toLower() const const
virtual bool drv_dropTable(const QString &tableName)
Definition: KDbConnection.cpp:1585
virtual bool drv_setAutoCommit(bool on)
Definition: KDbConnection.cpp:2127
virtual bool drv_afterInsert(const QString &tableName, KDbFieldList *fields)
Definition: KDbConnection.h:1231
void setCaption(const QByteArray &name, const QString &caption)
Sets caption for option name to caption.
Definition: KDbConnection.cpp:135
KDbProperties databaseProperties() const
Definition: KDbConnection.cpp:1059
Prepared statement interface for backend-dependent implementations.
Definition: KDbPreparedStatementInterface.h:31
bool storeObjectData(KDbObject *object)
Definition: KDbConnection.cpp:2319
KDB_EXPORT quint64 lastInsertedAutoIncValue(QSharedPointer< KDbSqlResult > result, const QString &autoIncrementFieldName, const QString &tableName, quint64 *recordId=nullptr)
Returns value of last inserted record for an autoincrement field.
Definition: KDb.cpp:392
Structure for storing single record with type information.
Definition: KDbRecordData.h:36
QList::const_iterator constEnd() const const
KDbQuerySchema provides information about database query.
Definition: KDbQuerySchema.h:45
@ AddLimitTo1
Adds a "LIMIT 1" clause to the query for optimization purposes (it should not include one already)
virtual bool drv_dropDatabase(const QString &dbName=QString())=0
QDomNode appendChild(const QDomNode &newChild)
KDbPreparedStatement prepareStatement(KDbPreparedStatement::Type type, KDbFieldList *fields, const QStringList &whereFieldNames=QStringList())
Definition: KDbConnection.cpp:3521
static KDbLookupFieldSchema * loadFromDom(const QDomElement &lookupEl)
Definition: KDbLookupFieldSchema.cpp:346
bool createTable(KDbTableSchema *tableSchema, CreateTableOptions options=CreateTableOption::Default)
Creates a new table.
Definition: KDbConnection.cpp:1397
tristate querySingleRecord(const KDbEscapedString &sql, KDbRecordData *data, QueryRecordOptions options=QueryRecordOption::Default)
Definition: KDbConnection.cpp:2380
KDB_EXPORT KDbEscapedString sqlWhere(KDbDriver *drv, KDbField::Type t, const QString &fieldName, const QVariant &value)
Definition: KDb.cpp:440
QString left(int n) const const
tristate alterTable(KDbTableSchema *tableSchema, KDbTableSchema *newTableSchema)
Definition: KDbConnection.cpp:1671
virtual bool drv_createTable(const KDbTableSchema &tableSchema)
Creates table using tableSchema information.
Definition: KDbConnection.cpp:1874
void setCustomProperty(const QByteArray &propertyName, const QVariant &value)
Sets value value for custom property propertyName.
Definition: KDbField.cpp:1042
static QVariant::Type variantType(Type type)
Converts type type to QVariant equivalent as accurate as possible.
Definition: KDbField.cpp:387
KDbServerVersionInfo serverVersion() const
Definition: KDbConnection.cpp:1049
Definition: KDbTableOrQuerySchema.h:33
virtual QVariant value(int i)=0
bool isWritable() const const
bool isEmpty() const const
Database specific connection data, e.g. host, port.
Definition: KDbConnectionData.shared.h:35
bool deleteRecord(KDbQuerySchema *query, KDbRecordData *data, bool useRecordId=false)
Definition: KDbConnection.cpp:3363
bool queryStringListInternal(const KDbEscapedString *sql, QStringList *list, KDbQuerySchema *query, const QList< QVariant > *params, int column, bool(*filterFunction)(const QString &))
Definition: KDbConnection.cpp:2496
Prepared database command for optimizing sequences of multiple database actions.
Definition: KDbPreparedStatement.h:75
bool operator==(const KDbConnectionOptions &other) const
Definition: KDbConnection.cpp:111
void clear()
Generic options for a single connection. The options are accessible using key/value pairs....
Definition: KDbConnectionOptions.h:35
bool generateCreateTableStatement(KDbEscapedString *target, const KDbTableSchema &tableSchema) const
Definition: KDbNativeStatementBuilder.cpp:446
bool updateRecord(KDbQuerySchema *query, KDbRecordData *data, KDbRecordEditBuffer *buf, bool useRecordId=false)
Definition: KDbConnection.cpp:3098
QSet::iterator insert(const T &value)
int count(const T &value) const const
tristate loadDataBlock(int objectID, QString *dataString, const QString &dataID=QString())
Definition: KDbConnection.cpp:2933
KDbVersionInfo databaseVersion() const
Definition: KDbConnection.cpp:1054
virtual bool drv_getServerVersion(KDbServerVersionInfo *version)=0
int size() const const
static tristate closeListeners(KDbConnection *conn, const KDbTableSchema *table, const QList< KDbTableSchemaChangeListener * > &except=QList< KDbTableSchemaChangeListener * >())
Closes all table schema listeners for table schema table except for the ones from the except list.
Definition: KDbTableSchemaChangeListener.cpp:530
virtual QString anyAvailableDatabaseName()
Definition: KDbConnection.cpp:3065
bool loadExtendedTableSchemaData(KDbTableSchema *tableSchema)
Definition: KDbConnection.cpp:2751
@ MultipleTransactions
multiple concurrent trasactions are supported (this implies !SingleTransactions)
Definition: KDbDriver.h:61
int compare(const QString &other, Qt::CaseSensitivity cs) const const
Definition: KDbMessageHandler.h:134
QString attribute(const QString &name, const QString &defValue) const const
virtual KDbTransactionData * drv_beginTransaction()
Definition: KDbConnection.cpp:2110
bool alterTableName(KDbTableSchema *tableSchema, const QString &newName, AlterTableNameOptions options=AlterTableNameOption::Default)
Alters name of table.
Definition: KDbConnection.cpp:1700
Provides database connection, allowing queries and data modification.
Definition: KDbConnection.h:51
KDbTransaction defaultTransaction() const
Returns handle of default transaction for this connection.
Definition: KDbConnection.cpp:2074
bool contains(const Key &key) const const
bool removeDataBlock(int objectID, const QString &dataID=QString())
Definition: KDbConnection.cpp:2992
virtual bool drv_createDatabase(const QString &dbName=QString())=0
bool dropDatabase(const QString &dbName=QString())
Drops database with name dbName.
Definition: KDbConnection.cpp:920
String
Helper class that assigns additional information for the column in a query.
Definition: KDbQueryColumnInfo.h:40
tristate loadObjectData(int type, int id, KDbObject *object)
Definition: KDbConnection.cpp:2224
KDbField::ListIterator fieldsIteratorConstEnd() const
Definition: KDbFieldList.cpp:345
bool storeMainFieldSchema(KDbField *field)
Definition: KDbConnection.cpp:1363
bool operator==(const PropertySet &other) const
Definition: KDbUtils.cpp:654
virtual bool drv_copyTableData(const KDbTableSchema &tableSchema, const KDbTableSchema &destinationTableSchema)
Definition: KDbConnection.cpp:1559
SystemTables
virtual KDbEscapedString recentSqlString() const
Return recently used SQL string.
Definition: KDbConnection.cpp:3531
QVector< V > values(const QMultiHash< K, V > &c)
QList< int > objectIds(int objectType, bool *ok=nullptr)
Definition: KDbConnection.cpp:1074
T value(int i) const const
bool dropQuery(KDbQuerySchema *querySchema)
Definition: KDbConnection.cpp:1813
Internal prototype for storing transaction handle for KDbTransaction object.
Definition: KDbTransactionData.h:35
const QList< QKeySequence > & copy()
QList< KDbTransaction > transactions()
Returns set of handles of currently active transactions.
Definition: KDbConnection.cpp:2090
virtual KDbSqlResult * drv_prepareSql(const KDbEscapedString &sql)=0
Prepares query for a raw SQL statement sql with possibility of returning records.
bool isReadable() const const
Definition: KDbTableSchema.h:37
void setTransaction(const KDbTransaction &transaction)
Assigns transaction to this guard.
Definition: KDbTransaction.cpp:235
QString toString() const const
bool commitAutoCommitTransaction(const KDbTransaction &trans)
Definition: KDbConnection.cpp:1924
KDB_EXPORT QString stringToIdentifier(const QString &s)
Definition: KDb.cpp:2166
bool storeDataBlock(int objectID, const QString &dataString, const QString &dataID=QString())
Definition: KDbConnection.cpp:2946
KDbLookupFieldSchema * lookupFieldSchema(const KDbField &field)
Definition: KDbTableSchema.cpp:388
@ DefaultMaxLength
Default maximum text length defined globally by the application.
Definition: KDbField.h:430
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Sat Jun 25 2022 06:21:32 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2022 The KDE developers.
Generated on Sat Jun 25 2022 06:21:32 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.