summaryrefslogtreecommitdiffstats
path: root/src/sql
Commit message (Collapse)AuthorAgeFilesLines
* fix binding of bool type in mysql driverMark Brand2012-11-131-1/+6
| | | | | | | | | | | | | | | | | | | MYSQL_TYPE_TINY should be used for binding bool input value. MYSQL_TYPE_LONG might be too big for bool, resulting in bools being saved in the database as int 127. The problem was not specific to the vendor's BOOL column type. http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html http://dev.mysql.com/doc/refman/5.0/en/c-api-prepared-statement-type-codes.html Added generic autotest to make sure that binding bool works. All drivers should pass this test. Task-number: QTBUG-27763 Change-Id: I4e69f8e3b32fffb702ec9fa8a80ff5c50dea954b Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Bill King <bill.king@nokia.com> (cherry picked from qt5/qtbase commit 593b8f7f0b35ddc424d8ccbd5df11fcf2442858e))
* QtSql: Correct documented default precision policy.Mark Brand2012-10-171-8/+4
| | | | | | | | | | Follow-up to commit c9f77564df14f91276e9ca693a9b3f339dab9334 Task-number: QTBUG-27482 Change-Id: I17c12ee14d4609bccbe67bba2581f13d72c069ae Reviewed-by: Mark Brand <mabrand@mabrand.nl> (cherry picked from qt5/qtbase commit 7a34e88edcc8b05744cede732f79f99acaad75ef) Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* correct spelling in QtSql documentationMark Brand2012-10-171-1/+1
| | | | | | | Change-Id: I69e4178bbe967a70b1141122639883b5cbacd924 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Bill King <bill.king@nokia.com> (cherry picked from qt5/qtbase commit f8cfb4bebd331ca950511570d141c5ec9172c7e6)
* Fix error when inserting to tables with datetime fields with QODBCThiago A. Correa2012-10-081-4/+42
| | | | | | | | | | | | | | 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> (cherry picked from qtbase/b8b79a0f37ec74fd5b4ad829e522a384ba3622ae)
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2953-1262/+1262
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: I280c0a575987d1770e354b4948f1d4d767d711ea Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* documentation: grammar nitpickMark Brand2012-08-311-3/+3
| | | | | | | | | | Cherry-picked from qt5/qtbase 4692432b61b09f010a3a7e57e80b9599686fe438 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Bill King <bill.king@nokia.com> Change-Id: I1944946b5f17bbf69005d2da30cedff4970f9827 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Update contact information in license headers.Sergio Ahumada2012-08-0153-106/+106
| | | | | | | | | | | | | - Replace Nokia contact email address with Qt Project website. - Remove "All rights reserved" line from license headers. As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: Ie7ba62011752fcb149b99b26317c54f2a0cfa931 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Doc: Fix typo foreigh -> foreignSergio Ahumada2012-07-161-1/+1
| | | | | | Task-number: QTBUG-23260 Change-Id: I7d9ff3a23e1f20df5883d7c932a51c582945685c Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QSqlTM: respect generated flag in insertRecord() and setRecord()Mark Brand2012-07-131-1/+4
| | | | | | | | | | | | | | | | These methods failed to respect the setting of the generated flag on the fields of source record. INSERT and UPDATE statements should only include fields where generated is TRUE. Test included. Follow-up to 0f15ab4e750690bdb2b649332d5c3276bf24c440. Change-Id: I2f10dbcd7e5e5123489b38a123effe43a673a427 Task-number: QTBUG-23592 Reviewed-by: Bill King <bill.king@nokia.com> Reviewed-by: Jason Dolan <jason.t.dolan@gmail.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Fix memory leak in 64-bits ODBC driverHonglei Zhang2012-04-271-1/+2
| | | | | | | | | This fix complements the commit 8c28db8cda. A similiar function call was forgotten in the previous fix. Task-number: QTBUG-25256 Change-Id: I38880e755a78951985484b718c89ac43a6dc2b4c Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* QSqlQueryModel::fetchMore() documentation fixMark Brand2012-04-241-1/+1
| | | | | | | Change-Id: If046e674abad9c2dcff934a2fdd80d4133e1f4ad Reviewed-by: Andy Shaw <andy.shaw@digia.com> cherry-picked from qt5/qtbase: 508a90302b5bd2a1b228c62d1a1b24a3e66d24a9 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* Fix for memory leak in 64 bit ODBC driver's call to SQLGetStmtAttr()Yan Shapochnik2012-04-201-1/+2
| | | | | | | | | | | | | Windows API call to SQLGetStmtAttr() attempts to place an 8 byte value into the isScrollable variable which of type SQLINTEGER which is a long and is 32 bit on Windows even when the driver is compiled for 64 bit. Changing the isScrollable to and 8 byte SQLULEN type. Task-number: QTBUG-25256 Change-Id: I1aae0b306e8d1ff5fc3b293b3e9ddd40546b85ad Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
* Memory leak fix of sqlite driver when close failedHonglei Zhang2012-04-032-3/+12
| | | | | | | | | | | | | | If an ongoing query is not finalized before close function is called, sqlite driver can't close the connection to sqlite. In this case, the failure is only reported to the client via getLastError(). Even if the client want to handle this case, there is no easy way to revoke the close function. This commit finalizes all queries before close is called. Task-number: QTBUG-16967 Change-Id: I069f6073bd46f53780e13d269e44aa86366e0574 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* Improve type detection for query resultsAndy Shaw2012-03-121-4/+29
| | | | | | | | | | | | | | | When an aggregate function is used for a column in a SQL resultset then it should ensure that the right data type is reported for that column. This also concerns expressions when the returned column does not map directly to a table column. Test included for this. Task-number: QTBUG-22038 Change-Id: I681297accc979081d14b44d190ab9d5f83aac215 Reviewed-by: Mark Brand <mabrand@mabrand.nl> Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com> (cherry picked from commit 678ab52ccba0b6a6903e9aee404dbe84fb74c91d)
* Ensure that QSqlDatabase::database() is still thread-safeAndy Shaw2012-02-071-4/+1
| | | | | | | | | | | | | | | | QSqlDatabase::database() is documented to be thread-safe and when the driver is queried for the numericalPrecisionPolicy set then it can comprimise the thread-safety. Since the driver itself (if one is set) will be queried for the numericalPrecisionPolicy when numericalPrecisionPolicy() is called on the QSqlDatabase then we can have it fallback to the default instead rather than taking the driver's own setting. Task-number: QTBUG-13423 Change-Id: Ie6a8ed76236a3bb3b8bfdb61ef156699b05a93ab Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Various Qt documentation bug fixes (wk 42)artoka2012-01-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-18101 Task-number: QTBUG-8673 Task-number: QTBUG-14194 Task-number: QTBUG-9109 Task-number: QTBUG-9466 Task-number: QTBUG-8323 Task-number: QTBUG-7924 Task-number: QTBUG-20355 Task-number: QTBUG-19367 Task-number: QTBUG-21295 Task-number: QTBUG-14554 Task-number: QTBUG-8331 Task-number: QTBUG-8329 Task-number: QTBUG-8786 Task-number: QTBUG-8787 Change-Id: I4b6403df4a0078fa385abbfab5b6c3a94f175295 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Handle the 'real' datatype correctly in the SQLite driverAndy Shaw2012-01-261-0/+1
| | | | | | | | | | | | | The 'real' datatype should be seen as a QVariant::Double type and not as a QVariant::String type otherwise it does not get presented correctly when using a non Qt application to access it. Test is included for QSqlQuery. Task-number: QTBUG-16373 Change-Id: Ie323ce49eb95e4d6bb4c3814ba9a957a63f4b259 Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Update year in Nokia copyright messages.Jason McDonald2012-01-1153-53/+53
| | | | | | | | | Simple search and replace. This commit doesn't touch 3rd-party files, nor translations (where the change is not so simple and will be handled in a separate commit). Change-Id: I4e48513b8078a44a8cd272326685b25338890148 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Revert "Fix sqlite driver memory eating due to close failure"Sinan Tanilkan2011-12-071-7/+0
| | | | | | Introduced a problem for the SDK (QTBUG-23036). This reverts commit 9a5fb6bd5f0fb3b37897bf722e4cc1673309623c.
* QSqlRelationalTableModel doesn't follow relations on the first columnHonglei Zhang2011-12-051-1/+1
| | | | | | | | | QSqlRelationalTableModel doesn't follow relations on the first column of a table. The DisplayRole and the EditRole for indexes on column 0 are always the same. The bug is found in QSqlRelationalTableModel::data. Task-number: QTBUG-20038 Reviewed-by: Charles Yin
* Fix sqlite driver memory eating due to close failureHonglei Zhang2011-11-301-0/+7
| | | | | | | | | | | | | If an ongoing query is not finalized before close function is called, sqlite driver still tries to close the connection to sqlite. In this case, sqlite reports an error to sqlite driver which is not reported to the client. The failure in close causes connection to sqlite unclosed and memory is not freed. This fix tries to finalize all queries before close function is called. The close function should succeed. Task-number: QTBUG-16967 Reviewed-by: Charles Yin
* QSQLITE support only one statement at a timeHonglei Zhang2011-11-302-2/+15
| | | | | | | | | | SQLite driver support only one statement at a time. This fix makes the exec and prepare call failed if more than one statements are given. This is bug fix for QTBUG-21884. Also the behaviour is documented in the API specification. Task-number: QTBUG-21884 Reviewed-by: Charles Yin
* retreving -> retrievingAlbert Astals Cid2011-09-281-3/+3
| | | | | | | Reported by Freek de Kruijf in KDE translation project Merge-request: 1405 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Added correct licence headers to symsql source filesTimo Kauppinen2011-09-212-36/+36
| | | | | Task-number: QT-4860 Reviewed-by: Honglei Zhang
* Release Symbian SQL driverHonglei Zhang2011-09-211-175/+124
| | | | | | | | | | Symbian SQL driver provides service of secure databases. SQL databases are stored in Symbian SQL server's private data cage. The API ensures only authorised clients can access the database. The Symbian SQL driver enables Qt application to use Symbian secure databases. Task-number: QT-4860 Reviewed-by: Trust Me
* Fixed a typo found by static checkerTimo Kauppinen2011-09-211-1/+1
| | | | | Task-number: QT-4860 Reviewd-by: Honglei Zhang
* Added SQL driver plugin implementation for Symbian.Timo Kauppinen2011-09-213-0/+1373
| | | | | | | The Symbian SQL driver enables the usage of native Symbian SQL server from Qt code. Symbian SQL driver also supports the usage of Symbian platform security capabilities. Task-number: QT-4860 Reviewed-by: Honglei Zhang
* Merge remote-tracking branch 'mainline/4.8'Oswald Buddenhagen2011-08-261-10/+18
|\
| * Doc: Fixed qdoc warnings.David Boddie2011-08-151-9/+17
| |
| * Doc: Fixed qdoc warnings.David Boddie2011-08-151-2/+2
| |
* | Replace 'i < len-1 && func(i+1)' by 'i+1 < len && func(i+1)'suzuki toshiya2011-08-181-2/+2
|/ | | | | Merge-request: 1299 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Make it possible to update a related table after an external updateAndy Shaw2011-07-261-2/+34
| | | | | | | | | | | | | | | | When a table that is related to in a QSqlRelationalTableModel gets updated in some way (e.g. a new row, or the data is changed) then the related model could not be updated without recreating the QSqlRelationalTableModel. Now, to get around this, select() can be called on the related model to get it to be updated. Task-number: QTBUG-7885 Reviewed-by: Charles Yin Reviewed-by: Michael Goddard Change-Id: Ic589e840234f3a809bcb112a807a87afe0bc25ca
* Add docs for QSqlRelationalTableModel::JoinModeCharles Yin2011-07-191-0/+12
| | | | | | | Task-number:QTBUG-8217 Reviewed-by:Michael Goddard Change-Id: Ie2af750c3a64aa634e11617cf9b3f9e7bdcf3a5f
* Fixed behavior on NULL foreign keysDaNiMoTh2011-07-192-12/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using a simple INNER JOIN, like: SELECT a,b,rel.c FROM table1, table2 WHERE (table1.smthing = table2.smthing) which doesn't show row where foreign keys are NULL, allow use of LEFT JOIN like: SELECT a,b,rel.c FROM table1 LEFT JOIN table2 ON table1.smthing = table2.smthing The trick works also for multi-relational tables. Just remember to use the new API setJoinMode. Signed-off-by: DaNiMoTh <jjdanimoth@gmail.com> Change-Id: I349f9418e4859923977942add59872b000cac2c5 Task-number:QTBUG-8217 Reviewed-by:Michael Goddard Reviewed-by:Charles Yin Merge-request: 2576 Reviewed-by: Charles Yin <charles.yin@nokia.com>
* Merge branch '4.8' of scm.dev.nokia.troll.no:qt/qtDavid Boddie2011-05-2451-860/+860
|\ | | | | | | | | | | | | | | Conflicts: src/gui/text/qrawfont.cpp src/gui/text/qtextlayout.cpp src/gui/util/qscroller.cpp src/gui/widgets/qlineedit.cpp
| * Update licenseheader text in source files for qt4.8Jyri Tahtela2011-05-1351-860/+860
| | | | | | | | | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* | Doc: Documented the value returned when no field can be found.David Boddie2011-05-111-1/+2
|/ | | | Task-number: QTBUG-19115
* Merge branch 4.7 into qt-4.8-from-4.7Qt Continuous Integration System2011-04-281-2/+6
|\
| * Fixed QTBUG-11935 : "With MySQL version > 50000 the QMYSQLDriver::Emmanuel BOURGERIE2011-04-271-4/+4
| | | | | | | | | | | | | | | | | | | | tables() returns tables in all databases on the server" This bugfix has been rewritten to match contributors advise. Change-Id: I3a9cf900ff7eae47c9ffdbcf34bcb1b4396d9837 Merge-request: 1010 Reviewed-by: Charles Yin <charles.yin@nokia.com>
| * Fixed QTBUG-11935Emmanuel BOURGERIE2011-04-271-2/+6
| | | | | | | | | | | | Change-Id: Ia7bdb0ceecf2892f6be73d1816764a2bab6275f1 Merge-request: 1010 Reviewed-by: Charles Yin <charles.yin@nokia.com>
* | let generated flag control SQL generationMark Brand2011-03-295-32/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if QSqlField's QVariant value had type "invalid", this caused the field to be omitted in data-changing SQL statements generated from QSqlRecord edit buffers. Complaints against this mechanism: - It precludes initializing value type to field type, which would otherwise seem sensible and useful, such as when using model.data() in contexts where the field type is not readily available. - QSqlField::clear() does initialize value type to match field type and so is incompatible with this mechanism. - Problems such as described in QTBUG-13211. - Unwanted distinction between "invalid" and "null" when mapping field values to SQL values. - QSqlField's generated flag already provides a mechanism for controlling SQL generation. These complaints are redressed here by replacing this mechanism with reliance on QSqlField's generated flag. The flag is initialized to false in new edit records and set to true when a value is set. Applications can still manipulate generated flags directly to control SQL generation. Generation of SELECT statements already used the generated flag and is unaffected by this change. Merge-request: 1114 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com> Reviewed-by: Michael Goddard
* | Merge branch 4.7 into qt-master-from-4.7Qt Continuous Integration System2011-02-182-3/+3
|\ \ | |/
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-02-182-3/+3
| |\ | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Added test case for corrupt pixel count in XPM image. QImage crash when invalid XPM is read. Fix an issue with removing rows in a table model.
| | * Fix an issue with removing rows in a table model.Michael Goddard2011-02-182-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tables with nulls in a row were not being deleted properly in some cases. Made sure the responsible function no longer has default parameters so this doesn't happen again. Change-Id: I479121172d5ac172ca49da78638b9353d7a67548 Task-number: QTBUG-16007, QTBUG-15979 Reviewed-by: Charles Yin
* | | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-02-106-14/+39
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/development/qmake-manual.qdoc mkspecs/symbian-gcce/qmake.conf qmake/project.cpp src/corelib/global/qnamespace.qdoc src/declarative/graphicsitems/qdeclarativetext.cpp src/gui/text/qtextdocumentlayout.cpp src/gui/text/qtextdocumentlayout_p.h tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp tests/auto/networkselftest/networkselftest.pro tests/auto/qscriptengine/tst_qscriptengine.cpp tools/designer/src/components/signalsloteditor/signalslot_utils.cpp tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt-html-templates.qdocconf tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf tools/qdoc3/test/qt.qdocconf tools/qdoc3/test/qt_ja_JP.qdocconf tools/qdoc3/test/qt_zh_CN.qdocconf
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2011-02-091-3/+6
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: 4.7.2 changes Change paging attributes for Symbian binaries Fix build failure Fix regression in creating mkspecs/default Changes for 4.7.2 Recreate Symbian raster backing store when WA_TranslucentBackground set
| | * | Change paging attributes for Symbian binariesIain2011-02-091-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed UNPAGED workaround from QtCore and QtSql on OS releases where data paging is supported. Depends on new macro being defined in the OS builds (SYMBIAN_DLL_DATA_EXPORTS_SUPPORTED) to allow us to detect this. Data exports are supported in all S^3 builds after early 2009, however, this macro is only added recently (and thus isn't defined in, eg. Symbian Foundation PDKs (v3.0.4), or current releases (v0.9) of the S^3 SDK from Nokia). Thus building Qt against these older S^3 builds will still result in QtCore and QtSql being unpaged. Also, remove PAGED keyword from all Qt-based software. This changes the code paging field in the Symbian (E32Image) header from "paged" to "default". Thus it is left to the configuration of the particular device whether paging is used for the binary or not. All devices that support code paging should have it turned on (the value is stored in the HAL, so can be checked using eg. fshell); data paging may or may not be turned on depending on the device characteristics. Leaving both code and data paging as "default" means that any limitations in the device (eg. around flash wear) can be controlled by that device by disabling the appropriate types of paging. This change also leaves the way open to deprecated PAGED as a keyword in the Symbian build systems, so you can only opt out of paging. This makes more sense, as the default for code paging will be on, the default for data paging will be on if the device can handle it, and binaries should only be opting out of paging if they have some specific real-time requirements that paging inhibits. Task-number: QT-3503 Task-number: QTBUG-13931 Reviewed-by: Shane Kearns
| * | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2011-02-044-10/+32
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Move the QtHelp tests in its own profile Namespace compilation - OCI typedefs should be outside Qt namespace. Fix some removeRows issues with QSqlTableModel. Mention the requirement for OCI when building the SQL oracle driver. Try to document that invalid database arguments use the default database. Update some documentation about what happens with select()/setQuery(). Make sure that setRecord emits dataChanged() with OnManualSubmit. QSqlTableModel/QSqlQueryModel and insertColumns problem. tst_qsvgrenderer: works on shadowbuild
| | * | Namespace compilation - OCI typedefs should be outside Qt namespace.Michael Goddard2011-02-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | psql, sqlite2 drivers already do this correctly. Change-Id: I1f02401432d5c39fa1572e2f6255941b8a67e591 Task-number: QTBUG-17076 Reviewed-by: Charles Yin
| | * | Fix some removeRows issues with QSqlTableModel.Michael Goddard2011-02-041-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added some better unit testing around the problem areas. Change-Id: Ie4749da298aebbae6aec9558ebe8c8f2196c705f Task-number: QTBUG-14916 Reviewed-by: Charles Yin