| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: I10cf9f915c602c8e5a0e7d7c9e17b7bc5ca00640
|
| |
| |
| |
| |
| |
| |
| | |
The header file is named QtSql, not QtSQL.
Change-Id: Ia3634c80d73f04fd27256f392cfed2068eeb9bc5
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
| |
| |
| |
| |
| |
| |
| | |
.qmake.conf (and previously .qmake.cache) already does that for us.
Change-Id: I06cc01fa45921d7bd66dda7a0f88729faeff37bd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|\|
| |
| |
| | |
Change-Id: If2168c519daf45390af04af9ef9722770453a493
|
| |
| |
| |
| |
| |
| |
| |
| | |
Follow-up to commit c9f77564df14f91276e9ca693a9b3f339dab9334
Task-number: QTBUG-27482
Change-Id: I17c12ee14d4609bccbe67bba2581f13d72c069ae
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I69e4178bbe967a70b1141122639883b5cbacd924
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Bill King <bill.king@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's convenient to be able to connect a button to select()
and signals that provide a row to selectRow().
Change-Id: I520d5564943f679ec9e68331878a211dd52b4a06
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: David Faure <david.faure@kdab.com>
|
| |
| |
| |
| | |
Change-Id: I32c3730f8181d73a7c8e36ef382c74b8da754269
|
|/
|
|
|
|
|
|
|
|
|
| |
The examples include path already contains 'sql', so we can't prefix the
includes with 'sql' as well. Changing the include path to also include
the parent examples directory is not an option, as qdoc will then try to
generate output for example single example.
Change-Id: Ifae07af86e60e6105a0625f29fbd6bc8f73b2550
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
qdocconf files can now reference $QT_INSTALL_DOCS to pick up e.g. global
includes, instead of using relative paths. Qt modules will automatically
get a doc target that builds and installs into the right place (including
supporting shadow-builds) if they set QMAKE_DOCS before loading(qt_module).
Change-Id: Ia408385199e56e3ead0afa45645a059d1a8b0d48
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
Introduce value overload to take field name as a parameter.
This allows for terser application code that avoids explicit
calls to QSqlRecord::value().
Change-Id: I02b6712cd5ec41633b902714315b5716c17d1a9b
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
|
|
|
|
|
|
|
| |
Change the validation of index parameter to use -1 constant
instead of QSql::BeforeFirstRow which is unrelated to field index
Change-Id: I43b42bc7ce717bcd9ddc987d2e716f1672c00775
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
|
|
|
|
|
| |
Task-number: QTBUG-27449
Change-Id: I052c7c9beab344e6c0902f9440c1d6b74e15b0b6
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
|
|
|
|
|
|
|
|
| |
Test added.
Change-Id: Ibd72ef2aeee482abbd22991573460e55dc577457
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: David Faure (fixes for KDE) <faure@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit fbf010a26617b3986e9a76bd9c004403aebfcdc2 introduced a version
of record(row) that includes the generated flags, but it neglected to
populate the values using virtual data() as QSqlQueryModel correctly
does.
Test included lest we forget again.
Change-Id: I49d0f8f87cd0c5078aa6a0e8373b2cffc01f2387
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
setRecord() should use setData() as intended so that reimplementations
of setData() in subclasses will be respected.
Commit 11bd543d901f67f79db3f5b5dfaa626c6e8faa45 failed to consider this.
Test added which should prevent this mistake being repeated.
Change-Id: Ia2d930cd42b5a27521bb389edb1b07fb1bf0fa36
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is good for performance in terms of avoiding unnecessary
database activity and keeping the cache smaller.
Detail:
This change was not included in the big refactoring of QSqlTM. The
idea was that the model shouldn't second guess the intention of the
application and maybe the application wants to cause a submit.
It was a marginal consideration.
Now I think it's clear that our interest in not unnecessarily
expanding the cache outweighs that. In addition, applications can now
call selectRow() if they worry that the database values for the row
have changed and want to set a value back again.
Test added.
Change-Id: I63814dcb63a96c6ba1c8cc227807725a954a0b68
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: David Faure <david.faure@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The STL-style iteration over the cache in submitAll() assumed the
iterator would remain valid until reaching cache.end(). This failed
to consider that virtual selectRow() might be overridden so that
it removes rows from the cache. For example, it might call select()
which would empty the cache.
The new approach checks at each iteration whether the row is
still in the cache. Using foreach here is justified by its fitness
for purpose and readability.
New test included.
Change-Id: Idee8807ede239c3ba56ff1604574c49f47385ad2
Reviewed-by: David Faure (fixes for KDE) <faure@kde.org>
|
|
|
|
|
|
| |
Change-Id: Ia33d7ef08e43bad95d57823e37757a09e53493b9
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|
|
|
|
| |
Change-Id: Iebec20c1be5a0610007a8e7ffd2646bda7f2785d
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
| |
Change-Id: I5550c62d412510bc2c5acceb2cae7d2f2ef6a8d3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
|
|
|
|
|
|
|
|
|
| |
Assigning backslashes to qmake variables yields a warning
these days. Use forward slashes as they get automatically converted.
Task-number: QTBUG-27325
Change-Id: I804fa641064ce183e9794026ad1dbc91725d334d
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
|
|
|
|
|
|
|
|
| |
Since we only want one row, never ever run a SELECT without a WHERE
clause.
Change-Id: I40a78935f5573111faa3922eae97e6d5961be5f2
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
|
|
|
|
|
|
|
|
|
| |
It's good to clean up the query before emitting signals about the
updated row. It's possible that connected slots will call selectRow()
again for other rows.
Change-Id: I482fe2dd58218f53567ce8725ee591ce2eeda348
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method was originally intended for refreshing rows after
submitting changes. It should also work for refreshing rows
that are unchanged (i.e., not cached), but did not because
constructing the primary values depended on the cache. As a
consequence, the WHERE clause for the query was not created.
Fixed by deriving primary values for uncached rows from the
query record. Note that the cache is still authoritative for rows
it holds. This is important because the prmary values there may
differ from the original query record due to changes to columns
of the primary key.
Includes new test.
Change-Id: I41cca2cbf26019d4b495ffa6d876e2b55ec57803
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
|
|
|
|
|
|
|
| |
Change copyrights and license headers from Nokia to Digia
Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|
|
|
|
|
| |
Change-Id: I846439a9cf7ad965ed27a00f98dbc4ff97abe73b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|
|
|
|
| |
Change-Id: I3049b24ae287bee50aca1de06664a2309df69edf
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
|
|
|
|
|
|
|
|
| |
cpp files should include their own headers first (but below config.h)
Change-Id: I225bc0f09988167ae7f938f7f21a77d05a3d191b
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
|
|
|
|
| |
Change-Id: I84a925a8be4964fae667f5a2500157283a8057d2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
All qdocconf settings that should be used by all Qt modules are now in
qt-module-defaults.qdocconf.
Change-Id: I2a0315a55db3fcbb0160c4392d2da98611043d83
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
|
|
|
|
|
|
|
|
| |
Make sure all C++ class comparison operators are const.
Change-Id: Ib4a66f2afe6c62f437dae1ecde94287d3db8442d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <faure@kde.org>
|
|
|
|
|
|
|
|
|
|
|
| |
This is an automated change performing the following replacements:
join\("(.)"\) -> join('\1')
join\(QLatin1String\("(.)"\)\) -> join(QLatin1Char('\1'))
join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))
Change-Id: Ie395d82d17710683968d006d22de313ef49dc6e5
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
|
|
|
|
|
|
|
| |
https://codereview.qt-project.org/#change,33974 only works in the case
of a developer build. Not in a normal prefix build.
Change-Id: I3a3e5029cefaa9f83c5deb71665f0efa9d812819
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
We should be using the global qdocconf for the common variables. This
change also allows you to just specify -installdir without using a
templatedir.
Change-Id: I207d279d9b5199212e896fc5ccab5c212b1896c6
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
There is no need to emit signals for inserting and removing rows
and columns while resetting the model. Suppress these signals in
such a way that subclasses can benefit without worrying about it.
Change-Id: I04447c87173be54a7323b97608cdd40ae245b80b
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Follow-up to 83c9ebbd6692cde99ee692e6549c591100f12545.
Consider the case where calls to the reset methods on the same object
are nested as in the following sequence:
1. beginResetModel()
2. beginResetModel()
3. endResetModel()
4. endResetModel()
In such cases, only the outermost calls, i.e., 1) and 4), should emit
signals.
After 83c9ebbd6692cde99ee692e6549c591100f12545, 1) and 3) emitted the
signals, which is wrong. This is corrected by keeping track of the
nesting level.
Such sequences can come about when a base class calls the begin/end
methods between the calls made by the subclass.
QSqlTableModel::select() is an example of this.
Test included.
Change-Id: Ia62b45cb1abaab00a32bb8357de4a958bcff83e5
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
| |
It seems we need \internal in this case.
Change-Id: I3f290bb0d22f9f3b5d04d27b13a7ef8961b2dd6c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
|
|
|
|
|
|
|
|
| |
There are too many references to the QWidget lib documentation
in there. On the other hand this keeps snippets working.
Change-Id: I7dd63b7fba1758accea2663f7b427940a8857e32
Reviewed-by: Martin Smith <martin.smith@nokia.com>
|
|
|
|
|
|
| |
Change-Id: Ibf16731f04f2c53adeff1b8b1fcc6f1555e3613d
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Bill King <bill.king@nokia.com>
|
|
|
|
|
| |
Change-Id: I38d01d3b5d2b9b15edd389ea17142bd75f00e135
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
Otherwise, the open statement, say in QSqlQueryModel, will prevent
other statements from running.
Task-number: QTBUG-18608
Change-Id: Icdd6817fb981678be6fb70ade21a8123e152dcf6
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
|
|
|
|
|
|
|
| |
this is more logical, following the qt_plugin and qt_tool scheme.
Change-Id: Ib3b2abec6728cdab260e15128b1cd78e8e6f5d6a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Under Windows it's quite possible that OpenSSL, DBUS or MySQL is
not installed into a central place. If -I and -L is
passed at configure time, it is added to all targets,
and if that path contained a conflicting header things would go
wrong.
Change-Id: Ic3338c49aa6eaa91b3abf5341e709ef604bf7aab
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
|
|
|
|
|
|
|
| |
-Simple landing page which contains a link to the SQL guide and API.
-Gave a new title to C++ API page.
Change-Id: I54eca4f6933bafa0affd5825e7fe2e1a2522dad0
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
|
|
|
|
|
|
|
| |
Change-Id: I3c3c96fbbc19e2a69ac2f22618f15f5262718e50
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
QSqlQueryModel::record(row) populates the record it returns with values
from virtual data(), so the values themselves can be supplied by
QSqlTableModel. However, it is also desirable to be able to interrogate
QSqlTableModel for the actual current record in its cache, including
properties such as the generated flag.
Change-Id: I733901913b7d237d5762448e953a99b5bd83fc7f
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The generated flag should affect the generation of SQL commands rather
than how the fields of the source record are applied to the model before
submitting. This correction allows setRecord() to be used to change TRUE
generated flags to FALSE.
Clarified documentation on this point and updated change log.
Change-Id: I7ee124930822561ed8beee6c6259970b3e929c9b
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SQL Server 10 introduced stricter rules for TIMESTAMP validation,
making it necessary to specify the decimal digits.
Other databases might do the same as well, so this patch introduces
a check for the TIMESTAMP column size and adjusts the decimal digits
parameter as needed.
Task-number: QTBUG-2192
Change-Id: If6d798c6c928ebda75bc474e49a07fbbfbe5816c
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
|
|
|
|
|
|
| |
Task-number: QTBUG-23260
Change-Id: I922a8b5cba5d8784305fb1779ccd352ab2ece365
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
|