summaryrefslogtreecommitdiffstats
path: root/src/plugins/sqldrivers
Commit message (Collapse)AuthorAgeFilesLines
* Reland: CMake: Annotate some qt_find_package calls with MODULEAlexandru Croitor8 days2-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A qt_find_package call first tries to find a Config package with the CONFIG mode option, and if not found, falls back to an arg-less mode which searches both Config and Find modules. For some packages, we know we want to find the Find module because there can't be a Config package, e.g our FindWrap modules or any of the other Find modules we carry in our cmake directory. So we should annotate these calls with MODULE. Aside from slightly faster configuration, there is another reason to do so. Future versions of CMake will automatically log find_package calls that have a state change (e.g. Not Found -> Found) into CMakeConfigureLog.yaml. Due to the Config-first logic in qt_find_package, we always unset the Foo_DIR variable if the Config package is not found. This means that there will be a constant build up of not-found messages in the log. Explicitly annotating the calls with MODULE will prevent this. Do that. This commit relands f1a59e974f013fcf8629d8cbacab58d895523100 This reverts commit 0ce82b78a35026cb56ff76d1c24b311008934a53. Pick-to: 6.10 Change-Id: I5d37579d2f4957215ce1475b5c0ec8509d77c83d Reviewed-by: Joerg Bornemann <[email protected]>
* Revert "CMake: Annotate some qt_find_package calls with MODULE"Alexandru Croitor12 days2-8/+7
| | | | | | | | | | | | | | | | | | | This breaks reconfiguring Qt in various ways, one of which is CMake Error at cmake/QtTargetHelpers.cmake:1557 (message): PkgConfig::ATSPI2 is not a valid target. This happens because pkg_check_modules sets ATSPI2_FOUND to 1, so qt_find_package thinks it shouldn't find the FindATSPI2.cmake module, which ends up not creating the ATSPI2 target. This reverts commit f1a59e974f013fcf8629d8cbacab58d895523100. Pick-to: 6.10 Fixes: QTBUG-137870 Change-Id: Ica74a236c6b1bb9d7ca9af29175cb2e84a93251b Reviewed-by: Fabian Kosmale <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]>
* CMake: Annotate some qt_find_package calls with MODULEAlexandru Croitor2025-06-172-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | A qt_find_package call first tries to find a Config package with the CONFIG mode option, and if not found, falls back to an arg-less mode which searches both Config and Find modules. For some packages, we know we want to find the Find module because there can't be a Config package, e.g our FindWrap modules or any of the other Find modules we carry in our cmake directory. So we should annotate these calls with MODULE. Aside from slightly faster configuration, there is another reason to do so. Future versions of CMake will automatically log find_package calls that have a state change (e.g. Not Found -> Found) into CMakeConfigureLog.yaml. Due to the Config-first logic in qt_find_package, we always unset the Foo_DIR variable if the Config package is not found. This means that there will be a constant build up of not-found messages in the log. Explicitly annotating the calls with MODULE will prevent this. Do that. Pick-to: 6.10 Change-Id: I465b015ac18f8a09b9a5c86cec7b6312a0bfbdf1 Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Joerg Bornemann <[email protected]>
* SQL/ODBC: misc cleanupChristian Ehrlicher2025-06-091-57/+43
| | | | | | | | | | | Misc cleanup - merge qGetIntData and qGetBigIntData - remove unused braces - properly initialize values Pick-to: 6.10 Change-Id: I0867dbbfa611087cd470b821f1f8d7ed74ed0aae Reviewed-by: Axel Spoerl <[email protected]>
* SQL/DB2 & ODBC: avoid some code duplicationChristian Ehrlicher2025-06-092-40/+9
| | | | | | | | | Avoid some code duplication by using a template parameter for qMakeError() and qSqlWarning(). Pick-to: 6.10 Change-Id: I698ab063fce6c7be1cb3debdb9e83978eac10409 Reviewed-by: Axel Spoerl <[email protected]>
* SQL/ODBC: fix escaping the username/passwordChristian Ehrlicher2025-06-081-1/+1
| | | | | | | | | | | The escaping for '{' was wrong in the previous commit. Amends 38277a88f1dd69de6e031bc8313c8d5beadf6bd0 Pick-to: 6.8 6.9 6.10 Task-number: QTBUG-122642 Change-Id: Ia363c76b27e527114769b4a923418cddad5586f1 Reviewed-by: Axel Spoerl <[email protected]>
* Bump version to 6.11.0Jani Heikkinen2025-06-051-1/+1
| | | | | Change-Id: I14ec3a08bf704535b9b10e33ec8ee0f9415f2d7c Reviewed-by: Qt Submodule Update Bot <[email protected]>
* SQL/MySQL: add option MYSQL_OPT_SSL_VERIFY_SERVER_CERTChristian Ehrlicher2025-06-031-0/+3
| | | | | | | | | | | | | | Add option MYSQL_OPT_SSL_VERIFY_SERVER_CERT to disable ssl for MySQL 5.7.x and MariaDB. This is needed as MariaDB does not support the SSL_MODE options but defaults to ssl nowadays. Also enhance the documentation for MYSQL_OPT_TLS_VERSION and MYSQL_OPT_SSL_MODE by providing the needed MySQL/MariaDB versions for those options. Pick-to: 6.10 6.9 6.8 Fixes: QTBUG-136550 Change-Id: If570cf8e92d0df7c9e2c4d0e009857eaf33f4f2d Reviewed-by: Axel Spoerl <[email protected]>
* CMake: Don't unconditionally enable the ASM languageJoerg Bornemann2025-05-021-1/+1
| | | | | | | | | | | | | CMake MR #10626 doesn't consider the MSVC compiler as valid assembler anymore, thus unconditionally requiring ASM breaks with CMake > 4.0.1 on MSVC. Enable ASM only on non-Android Unix. Remove the ASM language where it's not needed. Pick-to: 6.5 6.8 6.9 Change-Id: I5df71edfce0f4920e39262f722e4bf95a735f31b Reviewed-by: Alexandru Croitor <[email protected]>
* SQL/MySQL: adjust check for MariaDB client libraryChristian Ehrlicher2025-05-011-4/+4
| | | | | | | | | | | The correct define to check for MariaDB C Connector is MARIADB_PACKAGE_VERSION_ID, not MARIADB_BASE_VERSION (which is a string describing the server version the c connector relates to). Pick-to: 6.9 6.8 Task-number: QTBUG-136550 Change-Id: I844900d9b6622fd3a72db63298e5c34de8a2f3dc Reviewed-by: Thiago Macieira <[email protected]>
* SQL/MySQL: Add milliseconds in formatValue()Christian Ehrlicher2025-04-231-1/+1
| | | | | | | | | | | | MySQL does understand ISO 8601 formatted datetime strings with milliseconds so use Qt::ISODateWithMs instead Qt::ISODate within formatValue(). Pick-to: 6.9 6.8 6.5 Task-number: QTBUG-95071 Fixes: QTBUG-136042 Change-Id: I182475c706c8eda0e3f97e23d98d3f91e372244a Reviewed-by: Thiago Macieira <[email protected]>
* SQL/OCI: do not shadow QSqlCachedResultPrivate::sqlChristian Ehrlicher2025-04-232-56/+54
| | | | | | | | | | | Rename QOCIResultPrivate::sql to QOCIResultPrivate::stmtp to avoid shadowing of the sql member from base class. Remove some useless casts as a drive-by. Pick-to: 6.9 Task-number: QTBUG-136024 Change-Id: I2a5951991039c4de7aecc29f9161dede7b4f3473 Reviewed-by: Volker Hilsheimer <[email protected]>
* SQL/OCI: Fix usage of QOCIResult::d_ptrChristian Ehrlicher2025-04-232-2/+2
| | | | | | | | | | | | | The refactoring in 82681fd8a2af1113da5bd13875ba71c1efd45afb added a d_ptr of type QOCIResultPrivate. This shadowed the d_ptr from QSqlCachedResult and an unitialized QOCIResult::d_ptr variable which in the end made the whole plugin unusable. Fix it by removing the unneeded d_ptr member. Pick-to: 6.9 Fixes: QTBUG-136024 Change-Id: I5ecacba8079eadbfae25a32720b43b4465c096d8 Reviewed-by: Volker Hilsheimer <[email protected]>
* SQL/MySQL: use utc datetime in formatValue()Christian Ehrlicher2025-03-311-1/+1
| | | | | | | | | | | | We store timestamps as utc in the database but QSqlDriver::formatValue() does not format the datetime string as utc. Fix it by converting the datetime object to utc first. This amends 2781c3b6248fe4410a7afffd41bad72d8567fc95 Pick-to: 6.9 6.8 Fixes: QTBUG-135135 Change-Id: Id26b251e9ed9800d6caff7f43de25fd9e9b08f43 Reviewed-by: Thiago Macieira <[email protected]>
* Check the PROJECT_NAME more thoroughlyCristian Le2025-02-141-1/+1
| | | | | | | | | This was missed in 3e1a223318dbda50a010ba851841a9e51c80c42b Task-number: QTBUG-127953 Pick-to: 6.8 6.9 Change-Id: I2ff6cafe852ec2696aea37e2e79e3c8b95c0e8ca Reviewed-by: Alexandru Croitor <[email protected]>
* SQL/PSQL: use a QByteArray for preparedStmtIdChristian Ehrlicher2025-01-291-10/+9
| | | | | | | | | | | ... instead a QString as it gets converted to an utf-8 string anyway to avoid this conversion. Pick-to: 6.9 Task-number: QTBUG-132303 Change-Id: I3fcf721f9fd0d1dd181af262663fddd532262ee3 Reviewed-by: Thierry Bastian <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
* SQL/PSQL: slight improvement in codeThierry Bastian2025-01-281-3/+6
| | | | | | | | | added a details about code paths that cannot happen and added constexpr Fixes: QTBUG-132303 Pick-to: 6.9 Change-Id: I98340c5a1f275c00aafb3294cf8e5e8368126b76 Reviewed-by: Christian Ehrlicher <[email protected]>
* SQL/PSQL: Avoid copies of data in QByteArray when binding such a valueThierry Bastian2025-01-281-22/+33
| | | | | | | Fixes: QTBUG-132303 Pick-to: 6.9 Change-Id: I84e822078d684850c5c0384338cfa4c01fe5007f Reviewed-by: Christian Ehrlicher <[email protected]>
* SQL/PSQL: call deallocatePreparedStmt() unconditionallyChristian Ehrlicher2025-01-271-5/+3
| | | | | | | | | | | deallocatePreparedStmt() knows by itself when to call the psql cleanup routines or not. No need to have this logic outside this function. Pick-to: 6.9 Task-number: QTBUG-132303 Change-Id: Ib1a5ba7b53c156f6a6b93f23a3ec8c851d7398fc Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Thierry Bastian <[email protected]>
* Add support for PostgreSQL prepared statements with pgBouncerThierry Bastian2025-01-232-42/+70
| | | | | | | | | | | | | | | Since 2023, pgBouncer supports prepared statements but only when prepared/executed/removed at the protocol level. So to support this, You need to call the appropriate functions from libpq. it does not change the behavior otherwise. You can note that to free statements, libpq only has the function in v17. Prior versions of postgresql will still use DEALLOCATE. Fixes: QTBUG-132303 Pick-to: 6.9 Change-Id: I2456820bbea318e1715ae46617bf4d137815ca54 Reviewed-by: Christian Ehrlicher <[email protected]>
* SQL/ODBC: escape values in connection stringChristian Ehrlicher2025-01-221-16/+7
| | | | | | | | | | | | | | | | The previous attempt to escape invalid characters for username/password did not work for e.g. '}' or '{'. The msdn documentation is somewhat inconsitent here but after testing it looks like putting the username/password inside '{' and '}' no matter if needed or not is the easiest way. We have to escape '}' by doubling it though. No need to escape the DSN - testing on windows revealed that ';' is not allowed in there and '\'' and '"' at the start of the DSN is perfectly fine without any escaping. Pick-to: 6.9 6.8 Fixes: QTBUG-122642 Change-Id: I04d007d343dd65eb0dbc0252518843eb43cd9ab8 Reviewed-by: Axel Spoerl <[email protected]>
* SQL/PSQL: add full support for uuid column typeChristian Ehrlicher2024-12-181-0/+7
| | | | | | | | | | Add full support for uuid column type by decoding a uuid column directly into a QUuid. Storing a QUuid in a database was already supported for a longer time. Task-number: QTBUG-130389 Change-Id: I1b86749e2317c619b3aa8a4f9292c83c33fdcaad Reviewed-by: Thiago Macieira <[email protected]>
* Bump version to 6.10.0Jani Heikkinen2024-12-131-1/+1
| | | | | Change-Id: Iad7b22da970e4e95816aaa0643206ecf502e23af Reviewed-by: Qt Submodule Update Bot <[email protected]>
* Replace a few toString() or fromUtf8() QString::arg() parametersMarc Mutz2024-12-031-1/+1
| | | | | | | | | | ...and fromUtf8() format strings. QString::arg() is now available on QUtf8StringView, too and can handle UTF-8 arguments directly. Change-Id: Ifa8b1ea0f41414d15a6919b1967e0a45e4d7929f Reviewed-by: Ahmad Samir <[email protected]>
* CMake: Fix standalone build of sqldrivers with SBOMAlexandru Croitor2024-12-031-3/+5
| | | | | | | | | | | | | | | | | | | | | | | The standalone build of the sqldrivers plugin never called the SBOM project begin and end functions. This cause an error in qt_internal_add_plugin which tried to read the SBOM project name. Replace the calls to qt_prepare_standalone_project and qt_print_feature_summary with qt_build_repo_begin and qt_build_repo_end. This ensures the SBOM project is setup, as well as many other behaviors that a standalone internal build of a module is expected to have. Additionally we need to tell the SBOM project where to find the licenses for the standalone build. This is done by setting the new QT_SBOM_LICENSE_DIRS variable to the qtbase license directory. Pick-to: 6.8 Fixes: QTBUG-131799 Change-Id: I2e31ecffdff28561d1c4a6b8fbcd8125188d2c48 Reviewed-by: Joerg Bornemann <[email protected]>
* SQL/Mimer: simplify uuid conversionChristian Ehrlicher2024-11-051-4/+3
| | | | | | | | | | | | | Simplify converting a QUuid to a rfc4122 representation by using the built-in toRfc4122() function and don't allocate a temporary QByteArray when converting it back from rfc4122 to a QUuid. As a drive-by make sure to not detach when converting a QByteArray to a blob. Pick-to: 6.8 Change-Id: Ib8fc7744952377d14ef39c0d901a6a8419eb018d Reviewed-by: Fredrik Ålund <[email protected]> Reviewed-by: Axel Spoerl <[email protected]>
* SQL/PostgreSQL: fix comment for formatting QDateTimeChristian Ehrlicher2024-10-231-3/+3
| | | | | | | | | | | The comment to convert a QDateTime to a PostgreSQL compatible string was outdated. Adjust it to the current state and make clear that the PostgreSQL documentation is unclear here. Pick-to: 6.8 Task-number: QTBUG-129983 Change-Id: I46e45082f2154881ab34278c5e9887cb2274dd64 Reviewed-by: Edward Welbourne <[email protected]>
* SQL/PostgreSQL: fix parsing timestamptz return valuesChristian Ehrlicher2024-10-171-6/+7
| | | | | | | | | | | When setting the timezone explicitly to something different to the localtime (e.g. UTC), the strings returned for timestamptz columns contain a '+xx' annotation which resulted in a parser error. Pick-to: 6.8 Fixes: QTBUG-129983 Change-Id: I4f5e45860e88a5c44b2f1409dae667984ac90913 Reviewed-by: Edward Welbourne <[email protected]>
* SQL/Firebird: Fix interpretation of time stamp with timezoneAndreas Bacher2024-09-121-3/+7
| | | | | | | | | | The firebird api expects the timestamp (ISC_TIMESTAMP_TZ) of a timestamp with time zone is provided in UTC. Pick-to: 6.8 6.7 Task-number: QTBUG-128493 Change-Id: Iacc85ca1141407f5ab73fd0198c7b2db770bf589 Reviewed-by: Christian Ehrlicher <[email protected]> Reviewed-by: Johann Anhofer <[email protected]>
* SQL/plugins: Fix configure options '-sql-<foo>'Christian Ehrlicher2024-08-261-8/+0
| | | | | | | | | | | | | The configure options '-sql-<foo>' and '-no-sql-<foo>' did not work as expected because they were overridden by some ancient 'plugin-sql-<foo>' option. It looks like an ancient relict from Qt4 times where you could specify if a sql driver could be built as plugin or as built-in module which is not supported anymore since Qt5.8. Pick-to: 6.8 6.7 6.5 Fixes: QTBUG-128337 Change-Id: I7f0a0cf4b1dd11af32c48b50ceacf0f26eafffcf Reviewed-by: Joerg Bornemann <[email protected]>
* SQL/OCI: misc cleanupChristian Ehrlicher2024-08-251-46/+34
| | | | | | | | | | | | | | Do some cleanup: - use qsizetype instead int - use default member init instead in ctor - remove unneeded functions - make a getter const This is a follow-up of 7005630a9b735f2e59e3345fee0305e0277c0208- Pick-to: 6.8 Change-Id: Ibb02bd93a130c5d60bf431608666a5ad1fe71ead Reviewed-by: Volker Hilsheimer <[email protected]>
* SQL/OCI: use OCIBindByPos2 instead OCIBindByPosChristian Ehrlicher2024-08-251-61/+61
| | | | | | | | | | | Use OCIBindByPos2 instead OCIBindByPos where it was not yet changed to allow lengths > 2^31 (and avoid unneeded casts). This is a follow-up of 7005630a9b735f2e59e3345fee0305e0277c0208. Pick-to: 6.8 Change-Id: I8b6efdfdb0fb349043e9c84ceba17e008882f584 Reviewed-by: Volker Hilsheimer <[email protected]>
* SQL/OCI: Compile with MSVC/64bitChristian Ehrlicher2024-08-221-21/+21
| | | | | | | | | Make the oci driver compilable with MSVC 2022 / 64bit. One more reason to get those drivers checked within the CI. Pick-to: 6.8 6.7 6.5 Change-Id: Iec07adcd4cafde5e028ea306fb88e635a22e2234 Reviewed-by: Volker Hilsheimer <[email protected]>
* Check the PROJECT_NAME when attempt to build sql driversAlexey Edelev2024-08-201-1/+1
| | | | | | | | | | | Check the PROJECT_NAME but not CMAKE_PROJECT_NAME when attempt building sqldrivers. This should be save since we expect that the project() is called pre-Qt repo. Task-number: QTBUG-127953 Pick-to: 6.8 Change-Id: Ief3f11ba747ded0984ccfe1cfa6b7b47da538137 Reviewed-by: Alexandru Croitor <[email protected]>
* SQL/ODBC: Fix calling SQLGetData() for old driversChristian Ehrlicher2024-08-101-5/+4
| | | | | | | | | | | | | | | Some old drivers don't return SQL_NO_DATA when all data was fetched which resulted in an infinite loop. The previous check does not work when we receive chunked data and the driver returns fewer bytes than the maximum buffer size. Therefore simply check for SQL_SUCCESS since according the msdn docs, SQL_SUCCESS_WITH_INFO must be returned when there is more data to fetch. This also avoids an additional call to SQLGetData() here. Pick-to: 6.8 6.7 6.5 Fixes: QTBUG-119753 Change-Id: I42ed194f3955a650e63615615fe82d785f324228 Reviewed-by: Thiago Macieira <[email protected]>
* CMake: Fix build of oci plugin on arm macOS with the classic linkerAlexandru Croitor2024-08-051-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | When using Xcode 14, or 15 but with the classic linker on arm macOS, the linking of the oci plugin fails with: ld: file not found: @rpath/libnnz.dylib for architecture arm64 Even though the file is present in the expected location. This seems to be related to the use of the -flat_namespace flag, which was originally added in 2003 for Qt 3.1, to avoid an issue with the linker not finding the environ symbol. These flags doesn't seem to be necessary anymore to successfully link the plugin. Remove both the -flat_namespace and -U,_environ flags when building the plugin. Amends 3ada49976a06ae251911fd8cd734f697fe4ddab4 in the historical qt repo, which is not available publicly. Pick-to: 6.5 6.7 6.8 Fixes: QTBUG-127342 Change-Id: If522cacb92aceff35d36d3bcfd3c1f838c134ada Reviewed-by: Alexey Edelev <[email protected]>
* SQL/IBase: Don't let open() fail when lastError() is setChristian Ehrlicher2024-07-181-5/+0
| | | | | | | | | | | | | | | | Since QSqlDriver::lastError() always contains the last error, it is not a valid source to check if the last operation failed or not. Therefore remove the check for lastError() when initializing the timezone mapping - the function is optional since an old database might not contain the timezone mapping table which is perfectly fine. Pick-to: 6.8 Fixes: QTBUG-127175 Task-number: QTBUG-125467 Change-Id: I22ea75c004654cead9a4461d2eaccfcbe8a116be Reviewed-by: Andreas Bacher <[email protected]> Reviewed-by: Hamish Moffatt <[email protected]> Reviewed-by: Axel Spoerl <[email protected]>
* SQL/MySQL: honor schema when retrieving table recordChristian Ehrlicher2024-07-181-1/+2
| | | | | | | | | | | | Honor the schema when retrieving the table record - otherwise we might end up getting the data for the wrong table (same tablename but wrong schema). Pick-to: 6.8 Fixes: QTBUG-127129 Task-number: QTBUG-122723 Change-Id: Ia3e9293dbdc77da760dd4d0702104048187fad5f Reviewed-by: Axel Spoerl <[email protected]>
* Add copyright and license information to CMakeLists.txt missing itLucie Gérard2024-07-081-0/+2
| | | | | | Task-number: QTBUG-124453 Change-Id: If078c9301e5ba76c2c43f48903b84cac872f1835 Reviewed-by: Alexandru Croitor <[email protected]>
* SQL/ODBC: ignore empty connect optionsChristian Ehrlicher2024-07-041-1/+1
| | | | | | | | | Don'tprint a warning on empty connect options/when no connect option is set. This ammends 5a03e5c51b4e5f699d4bf4cf10226758a10e8120. Pick-to: 6.8 Change-Id: I83ba8a34a3c08dc596c81ccb494f50af80f9b57c Reviewed-by: Axel Spoerl <[email protected]>
* SQL/ODBC: properly set SQL_ATTR_CURSOR_SCROLLABLEChristian Ehrlicher2024-07-041-15/+15
| | | | | | | | | | | | | Setting a query in forward-only or scrollable mode was done with SQL_ATTR_CURSOR_TYPE in ODBCv2. Nearly all ODBCv3 drivers also honor this value but some don't and need the ODBC v3 conformant SQL_ATTR_CURSOR_SCROLLABLE attribute instead. Fix it by setting both attributes. Fixes: QTBUG-126118 Pick-to: 6.8 6.7 6.5 Change-Id: I6d974b7b3e94113b0a87f1cc7f8cff0deb53642b Reviewed-by: Axel Spoerl <[email protected]>
* SQL/SQLite: add check for localtime_r/localtime_sChristian Ehrlicher2024-07-011-0/+10
| | | | | | | | | | Add a check for localtime_r/localtime_s to avoid the usage of a sqlite mutex when a time needs to be converted. Pick-to: 6.8 Change-Id: I536497da1938131298c1198db85dab74d6157e35 Reviewed-by: Alexey Edelev <[email protected]> Reviewed-by: Alexandru Croitor <[email protected]>
* OCI: misc code tidies and fixesDennis Oberst2024-06-282-19/+23
| | | | | | | | | | | | | | | | | | | | | | In it's current state the plugin is not buildable. This patch tries to address that by fixing those issues. They include: - Drag QOCIResultPrivate into the namespace and forward declare as class. It is defined as class and this should stay in sync. - Mark the overwritten members with 'override'. - add missing declaration for 'fetchNext' - Make the pimpl a proper Qt-dPtr by using Q_DECLARE_PRIVATE and rename it into 'd_ptr' so that we can use the 'Q_D' macro. - Remove the function call to 'isCursor'. This bool is member variable of the class. - Remove a '+' in front of 'internal_prepare' definition. - Remove the 'QOCIDriverPrivate' argument to the ctor. The initial one didn't had it and no other definition was provided. Amends: 82681fd8a2af1113da5bd13875ba71c1efd45afb Change-Id: I5b5042730b0decb440795bbb627c2cacc098594e Reviewed-by: Christian Ehrlicher <[email protected]>
* OCI: allow accessing results of PL/SQL procedure calls returning a REF CURSORVolker Hilsheimer2024-06-192-48/+83
| | | | | | | | | | | | Move the QOCIResult implementation of QSqlCachedResult into the private qsql_oci_p.h header, and register it as a meta type that we can pass through QVariant. Add a field that indicates whether that results represents a cursor variable, and bind it to the statement handle if so. Fixes: QTBUG-166 Fixes: QTBUG-44643 Change-Id: Iafbf5474ad7efc6d24eb52a5c5a1b3d2b6842387 Reviewed-by: Andy Shaw <[email protected]>
* Straighten out various logging categoriesUlf Hermann2024-06-195-5/+5
| | | | | | | | | | | | Either make them static or declare them in a header. We want them to be static wherever possible, in order to reduce the number of visible symbols. If they can't be static, however, they should at least be declared in only one place. Task-number: QTBUG-67692 Change-Id: I6f3b596ed4f0adc9873dd0a5f54f055a991a6207 Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Volker Hilsheimer <[email protected]>
* CMake: Add a way to use system/bundled 3rdparty libs in bulkJoerg Bornemann2024-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | [ChangeLog][CMake] Added the configure feature 'force-system-libs'. Enabling this feature enables every 'system-foolib' feature, and the system-provided 3rdparty library foo will be used. If the library is not found, an error is yielded. Also added the analogous 'force-bundled-libs' feature that enforces the usage of bundled 3rdparty libs. [ChangeLog][CMake] The configure script gained the options -force-system-libs and -force-bundled-libs that control the same-named configure features. Since we now need a way to mark a feature as "controlling the usage of a system 3rdparty library", we added the SYSTEM_LIBRARY feature to the qt_feature command. Patches that add this argument to qt_feature calls in other repositories follow. Fixes: QTBUG-96910 Change-Id: I5c411409ea5f3f6425b6bed6fa00d10eddbc366c Reviewed-by: Alexandru Croitor <[email protected]>
* CMake: Annotate some targets with SBOM informationAlexandru Croitor2024-06-131-0/+2
| | | | | | | Pick-to: 6.8 Task-number: QTBUG-122899 Change-Id: I2eb70ca4d52e30c8e15ca7b350df6965d93732f8 Reviewed-by: Alexey Edelev <[email protected]>
* SQL/IBase: simplify date/time conversionChristian Ehrlicher2024-06-121-46/+24
| | | | | | | | | | Simplify date/time conversion by using QTime::fromMSecsSinceStartOfDay() / QTime::toMSecsSinceStartOfDay() and avoiding some intermediate variables. Pick-to: 6.8 Change-Id: I16e673405a347417866cdf100a13d817c1b17ff8 Reviewed-by: Volker Hilsheimer <[email protected]>
* SQL/IBase: Fix some translatable messagesFriedemann Kleint2024-06-101-2/+2
| | | | | | | | Amends 4b0b41ec3b362715012f8c771b72c4704f8170f3. Pick-to: 6.8 Change-Id: If51e22fb9b19755a0d8f222f8c0044563f8c55f8 Reviewed-by: Christian Ehrlicher <[email protected]>
* SQL/IBase: code cleanup part 5/5Christian Ehrlicher2024-06-071-9/+14
| | | | | | | | Make some untranslated texts translatable. Pick-to: 6.8 Change-Id: I636cdcaff749d6770d82095e4a2381097f83ed2c Reviewed-by: Axel Spoerl <[email protected]>