QSqlDatabase: deprecate QSqlDatabase::exec()

The note that QSqlDatabase::exec() is deprecated was added more than 12
years ago so it's time to also mark the function as such.

Change-Id: Ic5e7c31b3ff5b21e16e2640548cba1a4baaeeb1c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
Christian Ehrlicher 2023-02-13 20:33:27 +01:00
parent 386dcbf6b9
commit 12909d7c3d
5 changed files with 29 additions and 20 deletions

View File

@ -389,9 +389,6 @@ void QSqlDatabasePrivate::disable()
\li registers a custom-made driver
\endtable
\note QSqlDatabase::exec() is deprecated. Use QSqlQuery::exec()
instead.
\note When using transactions, you must start the
transaction before you create your query.
@ -692,8 +689,9 @@ QSqlDatabase::~QSqlDatabase()
lastError() is not affected.
\sa QSqlQuery, lastError()
\deprecated [6.6] Use QSqlQuery::exec() instead.
*/
#if QT_DEPRECATED_SINCE(6, 6)
QSqlQuery QSqlDatabase::exec(const QString & query) const
{
QSqlQuery r(d->driver->createResult());
@ -703,6 +701,7 @@ QSqlQuery QSqlDatabase::exec(const QString & query) const
}
return r;
}
#endif
/*!
Opens the database connection using the current connection

View File

@ -48,7 +48,10 @@ public:
QStringList tables(QSql::TableType type = QSql::Tables) const;
QSqlIndex primaryIndex(const QString& tablename) const;
QSqlRecord record(const QString& tablename) const;
#if QT_DEPRECATED_SINCE(6, 6)
QT_DEPRECATED_VERSION_X_6_6("QSqlQuery::exec() instead.")
QSqlQuery exec(const QString& query = QString()) const;
#endif
QSqlError lastError() const;
bool isValid() const;

View File

@ -375,11 +375,15 @@ void tst_QSqlQuery::dropTestTables(QSqlDatabase db)
if (dbType == QSqlDriver::MSSqlServer || dbType == QSqlDriver::Oracle)
tablenames << qTableName("qtest_longstr", __FILE__, db);
if (dbType == QSqlDriver::MSSqlServer)
db.exec("DROP PROCEDURE " + qTableName("test141895_proc", __FILE__, db));
if (dbType == QSqlDriver::MSSqlServer) {
QSqlQuery q(db);
q.exec("DROP PROCEDURE " + qTableName("test141895_proc", __FILE__, db));
}
if (dbType == QSqlDriver::MySqlServer)
db.exec("DROP PROCEDURE IF EXISTS " + qTableName("bug6852_proc", __FILE__, db));
if (dbType == QSqlDriver::MySqlServer) {
QSqlQuery q(db);
q.exec("DROP PROCEDURE IF EXISTS " + qTableName("bug6852_proc", __FILE__, db));
}
tst_Databases::safeDropTables(db, tablenames);

View File

@ -78,15 +78,16 @@ void tst_QSqlRelationalDelegate::recreateTestTables(QSqlDatabase db)
void tst_QSqlRelationalDelegate::initTestCase()
{
foreach (const QString &dbname, dbs.dbNames) {
QSqlDatabase db=QSqlDatabase::database(dbname);
QSqlDatabase db = QSqlDatabase::database(dbname);
QSqlQuery q(db);
QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db);
if (dbType == QSqlDriver::Interbase) {
db.exec("SET DIALECT 3");
q.exec("SET DIALECT 3");
} else if (dbType == QSqlDriver::MSSqlServer) {
db.exec("SET ANSI_DEFAULTS ON");
db.exec("SET IMPLICIT_TRANSACTIONS OFF");
q.exec("SET ANSI_DEFAULTS ON");
q.exec("SET IMPLICIT_TRANSACTIONS OFF");
} else if (dbType == QSqlDriver::PostgreSQL) {
db.exec("set client_min_messages='warning'");
q.exec("set client_min_messages='warning'");
}
recreateTestTables(db);
}

View File

@ -134,15 +134,16 @@ void tst_QSqlRelationalTableModel::recreateTestTables(QSqlDatabase db)
void tst_QSqlRelationalTableModel::initTestCase()
{
foreach (const QString &dbname, dbs.dbNames) {
QSqlDatabase db=QSqlDatabase::database(dbname);
QSqlDatabase db = QSqlDatabase::database(dbname);
QSqlQuery q(db);
QSqlDriver::DbmsType dbType = tst_Databases::getDatabaseType(db);
if (dbType == QSqlDriver::Interbase) {
db.exec("SET DIALECT 3");
q.exec("SET DIALECT 3");
} else if (dbType == QSqlDriver::MSSqlServer) {
db.exec("SET ANSI_DEFAULTS ON");
db.exec("SET IMPLICIT_TRANSACTIONS OFF");
q.exec("SET ANSI_DEFAULTS ON");
q.exec("SET IMPLICIT_TRANSACTIONS OFF");
} else if (dbType == QSqlDriver::PostgreSQL) {
db.exec("set client_min_messages='warning'");
q.exec("set client_min_messages='warning'");
}
recreateTestTables(db);
}
@ -167,8 +168,9 @@ void tst_QSqlRelationalTableModel::dropTestTables( QSqlDatabase db )
qTableName("casetest1", __FILE__, db)};
tst_Databases::safeDropTables( db, tableNames );
db.exec("DROP SCHEMA " + qTableName("QTBUG_5373", __FILE__, db) + " CASCADE");
db.exec("DROP SCHEMA " + qTableName("QTBUG_5373_s2", __FILE__, db) + " CASCADE");
QSqlQuery q(db);
q.exec("DROP SCHEMA " + qTableName("QTBUG_5373", __FILE__, db) + " CASCADE");
q.exec("DROP SCHEMA " + qTableName("QTBUG_5373_s2", __FILE__, db) + " CASCADE");
}
void tst_QSqlRelationalTableModel::init()