Details
-
Bug
-
Resolution: Done
-
P2: Important
-
6.2.4, 6.3.1, 6.4.0 Beta2
-
None
-
-
8
-
c350fc960 (dev), 53d038096 (6.5)
-
Foundation Sprint 63
Description
Since Qt 6.2 QSqlQuery's copy-constructor and copy-assignment operator are deprecated.
The rational behind that is that QSqlQuery should be a move-only type.
However, we still use the deprecated methods in our APIs.
Specifically:
- QSqlTableModel::setQuery() takes query by constant reference.
- QSqlQueryModel::query() returns a copy of the query.
The first call should be deprecated in favor of a method that takes an rvalue ref, like it is done for QSqlQueryModel::setQuery().
The second case is more problematic. Probably the best case would be to return a pointer to the current query? With this approach the user will be able to access all the public methods of QSqlQuery. This will, however, require to provide a different name for the pointer getter, or to add an explicit parameter (because function overloads can't differ only by return type).
Attachments
Issue Links
- is required for
-
QTBUG-105126 Build QtBase with QT_DISABLE_DEPRECATED_BEFORE = current Qt version
- Closed
- resulted in
-
PYSIDE-2300 Method query() is absent in QSqlTableModel and QSqlQueryModel
- Closed