Skip to content

Commit afe299e

Browse files
committed
upgraded to MySQL v9.0
- workflows, tools, docs, qmake, CMake, ...
1 parent d5819e2 commit afe299e

23 files changed

+45
-45
lines changed

.env.win32.example

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ TINY_VCPKG_ROOT = $$quote(E:/xyz/vcpkg/)
66
TINY_VCPKG_TRIPLET = x64-windows
77

88
# MySQL C library (default installation path is auto-detected)
9-
#TINY_MYSQL_ROOT = $$quote($$(ProgramFiles)/MySQL/MySQL Server 8.4/)
9+
#TINY_MYSQL_ROOT = $$quote($$(ProgramFiles)/MySQL/MySQL Server 9.0/)

.github/workflows/msvc2022-qt6-drivers.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
# Settings (constant variables)
3636
TINY_QT_VERSION: 6.7.2
3737
TINY_QT_SPEC: win64_msvc2019_64
38-
TINY_MYSQL_SERVICE: MySQL84
38+
TINY_MYSQL_SERVICE: MySQL90
3939
# My system is unresponsive with 10
4040
TINY_PARALLEL: 8
4141

.github/workflows/msys2-ucrt64-drivers.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
# Don't user more than 3 for GCC, it would need 64GB RAM (no money 💵)
3939
TINY_PARALLEL_GCC: 3
4040
TINY_PARALLEL_CLANG_OR_VCPKG: 9
41-
TINY_MYSQL_SERVICE: MySQL84
41+
TINY_MYSQL_SERVICE: MySQL90
4242
# Used by the msys2.cmd script and cygpath.exe
4343
MSYS2_ROOT: C:\msys64
4444

.github/workflows/vcpkg-windows-drivers.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
env:
2525
# Settings (constant variables)
26-
TINY_MYSQL_SERVICE: MySQL84
26+
TINY_MYSQL_SERVICE: MySQL90
2727
TINY_PARALLEL: 10
2828

2929
# State variables

NOTES.txt

+9-9
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ MySQL Timezone tables:
541541
mysql_config_editor print --all
542542
mysql --login-path=root -p mysql
543543
source timezone_posix.sql;
544-
Restart-Service MySQL84
544+
Restart-Service MySQL90
545545

546546

547547
Versions info:
@@ -1153,7 +1153,7 @@ TinyDrivers output of operator<<()-s:
11531153

11541154
Output of all TinyDrivers operator<<()-s SqlDatabase, SqlRecord, SqlField, DummySqlError
11551155

1156-
SqlDatabase(driver="QMYSQL", database="tinyorm_test_1", host="mysql.test", port=3306, user="szachara", open=true", options="SSL_CERT=C:/mysql/mysql_8.4/data/client-cert.pem;SSL_CA=C:/mysql/mysql_8.4/data/ca.pem;SSL_KEY=C:/mysql/mysql_8.4/data/client-key.pem")
1156+
SqlDatabase(driver="QMYSQL", database="tinyorm_test_1", host="mysql.test", port=3306, user="szachara", open=true", options="SSL_CERT=C:/mysql/mysql_9.0/data/client-cert.pem;SSL_CA=C:/mysql/mysql_9.0/data/ca.pem;SSL_KEY=C:/mysql/mysql_9.0/data/client-key.pem")
11571157
--
11581158
SqlRecord(7)
11591159
0: SqlField(name: "id", type: qulonglong, value: "1", isNull: false, isValid: true, length: 20, precision: 0, required: true, sqlType: 8, sqlTypeName: BIGINT, autoIncrement: true, tableName: "users")
@@ -3329,10 +3329,10 @@ MariaDB11
33293329
NT SERVICE\MariaDB11
33303330
mysqld.exe --install MariaDB11 --defaults-file="E:\mysql\mariadb_11\data\my.ini"
33313331

3332-
MySQL84
3333-
"C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.4\my.ini" MySQL84
3334-
NT SERVICE\MySQL84
3335-
mysqld.exe --install MySQL84 --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.4\my.ini"
3332+
MySQL90
3333+
"C:\Program Files\MySQL\MySQL Server 9.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 9.0\my.ini" MySQL90
3334+
NT SERVICE\MySQL90
3335+
mysqld.exe --install MySQL90 --defaults-file="C:\ProgramData\MySQL\MySQL Server 9.0\my.ini"
33363336

33373337
postgresql-x64-16
33383338
"C:\Program Files\PostgreSQL\16\bin\pg_ctl.exe" runservice -N "postgresql-x64-16" -D "E:\postgres\16\data" -w
@@ -3418,11 +3418,11 @@ MySQL option files syntax:
34183418
- C API client library as well
34193419
- [mysql] is applied for MySQL programs only
34203420
- options in last sections override the previous one
3421-
- the best order is: [client], [mysqlXYZ], [mysqld], [mysqld-8.4]
3422-
- [mysqld-8.4] targets specific MySQL version
3421+
- the best order is: [client], [mysqlXYZ], [mysqld], [mysqld-9.0]
3422+
- [mysqld-9.0] targets specific MySQL version
34233423
- the [DEFAULT] section can be used for own variables, if some variable value can't be resolved
34243424
the this section is checked at first
3425-
- https://dev.mysql.com/doc/refman/8.4/en/option-files.html#option-file-syntax
3425+
- https://dev.mysql.com/doc/refman/9.0/en/option-files.html#option-file-syntax
34263426

34273427

34283428
vcpkg CMake build command:

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Whole library is documented as markdown documents:
6060
The following list summarizes all the `TinyDrivers` and `TinyMySql` libraries' features. 🆕
6161

6262
- both, normal and prepared statements are supported
63-
- TLS/SSL connections using [`MYSQL_OPT_SSL_MODE`](https://dev.mysql.com/doc/c-api/8.4/en/mysql-options.html) (verify_ca, verify_identity) 🔥
63+
- TLS/SSL connections using [`MYSQL_OPT_SSL_MODE`](https://dev.mysql.com/doc/c-api/9.0/en/mysql-options.html) (verify_ca, verify_identity) 🔥
6464
- setting many other connection options (see [`mysqldriver_p.cpp`](https://github.com/silverqx/TinyORM/blob/main/drivers/mysql/src/orm/drivers/mysql/mysqldriver_p.cpp))
6565
- building and linking against the [`MariaDB Connector/C`](https://mariadb.com/kb/en/mariadb-connector-c/)
6666
- transactions

conf.pri.example

+7-7
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@
3030
# environment variable.
3131
# - TINY_MYSQL_ROOT - Path to the MySQL installation folder.
3232
# If not defined, then it tries to guess the MySQL installation folder:
33-
# $$(ProgramFiles)/MySQL/MySQL Server (8.4|8.3|8.2|8.1|8.0|5.7)/)
33+
# $$(ProgramFiles)/MySQL/MySQL Server (9.0|8.4|8.3|8.2|8.1|8.0|5.7)/)
3434
#
3535
# You can set these variables in the .env (recommended) or conf.pri files,
3636
# in the .qmake.conf file (or wherever you want), or as environment variables.
3737
#
3838
# These variables will be set after auto-configuration is done:
3939
#
4040
# - TINY_VCPKG_INCLUDE - Path to the vcpkg include folder (vcpkg/installed/<triplet>/include/).
41-
# - TINY_MYSQL_INCLUDE - Path to the MySQL include folder (MySQL Server 8.4/include/).
42-
# - TINY_MYSQL_LIB - Path to the MySQL lib folder (MySQL Server 8.4/lib/).
41+
# - TINY_MYSQL_INCLUDE - Path to the MySQL include folder (MySQL Server 9.0/include/).
42+
# - TINY_MYSQL_LIB - Path to the MySQL lib folder (MySQL Server 9.0/lib/).
4343
#
4444
# The TINY_MYSQL_INCLUDE and TINY_MYSQL_LIB are only set on win32 platform except mingw.
4545

@@ -158,7 +158,7 @@ else:win32-msvc|win32-clang-msvc {
158158
# Explicitly specify the MySQL root installation path using the $$TINY_MYSQL_ROOT
159159
# !disable_autoconf {
160160
# # Used in the tiny_find_mysql()
161-
# TINY_MYSQL_ROOT = $$quote($$(ProgramFiles)/MySQL/MySQL Server 8.4/)
161+
# TINY_MYSQL_ROOT = $$quote($$(ProgramFiles)/MySQL/MySQL Server 9.0/)
162162
# return()
163163
# }
164164

@@ -172,12 +172,12 @@ else:win32-msvc|win32-clang-msvc {
172172
mysql_ping {
173173
# Find the MySQL C library and add it on system include path and library path
174174
tiny_find_mysql()
175-
# tiny_find_mysql($$quote($$(ProgramFiles)/MySQL/MySQL Server 8.4/))
175+
# tiny_find_mysql($$quote($$(ProgramFiles)/MySQL/MySQL Server 9.0/))
176176

177177
# tiny_add_system_includepath(\
178-
# $$quote(C:/Program Files/MySQL/MySQL Server 8.4/include/))
178+
# $$quote(C:/Program Files/MySQL/MySQL Server 9.0/include/))
179179

180-
# LIBS_PRIVATE += $$quote(-LC:/Program Files/MySQL/MySQL Server 8.4/lib/)
180+
# LIBS_PRIVATE += $$quote(-LC:/Program Files/MySQL/MySQL Server 9.0/lib/)
181181
# LIBS_PRIVATE += -llibmysql
182182
}
183183
}

docs/building/tinyorm.mdx

+3-3
Original file line numberDiff line numberDiff line change
@@ -994,7 +994,7 @@ These are <u>`qmake`</u> and <u>`environment`</u> variables that affect the `Aut
994994
| -------------------- | ----------- |
995995
| `TINY_VCPKG_ROOT` | Path to the `vcpkg` installation folder.<br/>If not defined, then it tries to use the `VCPKG_ROOT` environment variable. |
996996
| `TINY_VCPKG_TRIPLET` | The `vcpkg` `triplet` to use <small>(vcpkg/installed/$$TINY_VCPKG_TRIPLET/)</small>.<br/>If not defined, then it tries to guess the `vcpkg` `triplet` based on the current compiler and OS (based on the `QMAKESPEC`), and as the last thing, it tries to use the `VCPKG_DEFAULT_TRIPLET` environment variable. |
997-
| `TINY_MYSQL_ROOT` | Path to the `MySQL` installation folder.<br/>If not defined, then it tries to guess the `MySQL` installation folder (`win32` only): <code>$$(ProgramFiles)/MySQL/MySQL Server (8.4&vert;8.3&vert;8.2&vert;8.1&vert;8.0&vert;5.7)/</code> |
997+
| `TINY_MYSQL_ROOT` | Path to the `MySQL` installation folder.<br/>If not defined, then it tries to guess the `MySQL` installation folder (`win32` only): <code>$$(ProgramFiles)/MySQL/MySQL Server (9.0&vert;8.4&vert;8.3&vert;8.2&vert;8.1&vert;8.0&vert;5.7)/</code> |
998998

999999
You can set these variables in the `.env` (recommended) or `conf.pri` files, in the `.qmake.conf` file (or wherever you want), or as environment variables.
10001000

@@ -1003,8 +1003,8 @@ These variables will be set after `auto-configuration` is done:
10031003
| Variable Name | Description |
10041004
| -------------------- | ----------- |
10051005
| `TINY_VCPKG_INCLUDE` | Path to the `vcpkg` `include` folder <small>(vcpkg/installed/&lt;triplet&gt;/include/)</small>. |
1006-
| `TINY_MYSQL_INCLUDE` | Path to the `MySQL` `include` folder <small>(MySQL Server 8.4/include/)</small>. |
1007-
| `TINY_MYSQL_LIB` | Path to the `MySQL` `lib` folder <small>(MySQL Server 8.4/lib/)</small>. |
1006+
| `TINY_MYSQL_INCLUDE` | Path to the `MySQL` `include` folder <small>(MySQL Server 9.0/include/)</small>. |
1007+
| `TINY_MYSQL_LIB` | Path to the `MySQL` `lib` folder <small>(MySQL Server 9.0/lib/)</small>. |
10081008

10091009
The `TINY_MYSQL_INCLUDE` and `TINY_MYSQL_LIB` are only set on `win32` platform except `mingw`.
10101010

docs/database/getting-started.mdx

+3-3
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ The first argument is configuration hash which is of type `QVariantHash` and the
358358

359359
You may also configure connection options by `options` key as `QVariantHash` or `QString`, you can pass any [connection options](https://doc.qt.io/qt/qsqldatabase.html#setConnectOptions) supported by `QSqlDatabase`.
360360

361-
You can also configure [Transaction Isolation Levels](https://dev.mysql.com/doc/refman/8.4/en/innodb-transaction-isolation-levels.html) for MySQL connection with the `isolation_level` configuration option.
361+
You can also configure [Transaction Isolation Levels](https://dev.mysql.com/doc/refman/9.0/en/innodb-transaction-isolation-levels.html) for MySQL connection with the `isolation_level` configuration option.
362362

363363
The `version` option is relevant only for the MySQL connections and you can save/avoid one database query (select version()) if you provide it manually. On the base of this version will be decided which [session variables](https://github.com/silverqx/TinyORM/blob/main/src/orm/connectors/mysqlconnector.cpp#L154) will be set if strict mode is enabled and whether to use an [alias](https://github.com/silverqx/TinyORM/blob/main/src/orm/query/grammars/mysqlgrammar.cpp#L36) during the `upsert` method call.
364364

@@ -794,13 +794,13 @@ Since unprepared statements do not bind parameters, they may be vulnerable to SQ
794794

795795
#### Implicit Commits
796796

797-
When using the `DB` facade's `statement` methods within transactions, you must be careful to avoid statements that cause [implicit commits](https://dev.mysql.com/doc/refman/8.4/en/implicit-commit.html). These statements will cause the database engine to indirectly commit the entire transaction, leaving TinyORM unaware of the database's transaction level. An example of such a statement is creating a database table:
797+
When using the `DB` facade's `statement` methods within transactions, you must be careful to avoid statements that cause [implicit commits](https://dev.mysql.com/doc/refman/9.0/en/implicit-commit.html). These statements will cause the database engine to indirectly commit the entire transaction, leaving TinyORM unaware of the database's transaction level. An example of such a statement is creating a database table:
798798

799799
```cpp
800800
DB::statement("create table users (name varchar(255) null)");
801801
```
802802
803-
Please refer to the MySQL manual for [a list of all statements](https://dev.mysql.com/doc/refman/8.4/en/implicit-commit.html) that trigger implicit commits.
803+
Please refer to the MySQL manual for [a list of all statements](https://dev.mysql.com/doc/refman/9.0/en/implicit-commit.html) that trigger implicit commits.
804804
805805
### Using Multiple Database Connections
806806

docs/database/query-builder.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1021,7 +1021,7 @@ All databases except SQL Server require the columns in the second argument of th
10211021
:::
10221022
10231023
:::info
1024-
Row and column aliases will be used with the MySQL server >=8.0.19 instead of the VALUES() function as is described in the MySQL [documentation](https://dev.mysql.com/doc/refman/8.4/en/insert-on-duplicate.html). The MySQL server version is auto-detected and can be overridden in the [configuration](/database/getting-started.mdx#configuration).
1024+
Row and column aliases will be used with the MySQL server >=8.0.19 instead of the VALUES() function as is described in the MySQL [documentation](https://dev.mysql.com/doc/refman/9.0/en/insert-on-duplicate.html). The MySQL server version is auto-detected and can be overridden in the [configuration](/database/getting-started.mdx#configuration).
10251025
:::
10261026
10271027
## Update Statements

docs/dependencies.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Be aware that the standard support for the last release of the __Qt v5__ series
3030

3131
##### Optional
3232

33-
- &gt;= [MySQL Connector/C 8](https://dev.mysql.com/downloads/c-api/) - used only for the [`mysql_ping`](https://dev.mysql.com/doc/c-api/8.4/en/mysql-ping.html) function and provided by [MySQL 8 Server](https://dev.mysql.com/downloads/mysql/)
33+
- &gt;= [MySQL Connector/C 8](https://dev.mysql.com/downloads/c-api/) - used only for the [`mysql_ping`](https://dev.mysql.com/doc/c-api/9.0/en/mysql-ping.html) function and provided by [MySQL 8 Server](https://dev.mysql.com/downloads/mysql/)
3434

3535
:::info
3636
The `TinyORM` will support `Qt` versions that aren't [end-of-life](https://endoflife.date/qt).

docs/tinydrivers/getting-started.mdx

+5-5
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ It was designed to drop the `QtSql` dependency while maintaining backward compat
2222
##### Features summary
2323

2424
- both, normal and prepared statements are supported
25-
- TLS/SSL connections using [`MYSQL_OPT_SSL_MODE`](https://dev.mysql.com/doc/c-api/8.4/en/mysql-options.html) (verify_ca, verify_identity) 🔥
25+
- TLS/SSL connections using [`MYSQL_OPT_SSL_MODE`](https://dev.mysql.com/doc/c-api/9.0/en/mysql-options.html) (verify_ca, verify_identity) 🔥
2626
- setting many other connection options (see [`mysqldriver_p.cpp`](https://github.com/silverqx/TinyORM/blob/main/drivers/mysql/src/orm/drivers/mysql/mysqldriver_p.cpp))
2727
- building and linking against the [`MariaDB Connector/C`](https://mariadb.com/kb/en/mariadb-connector-c/)
2828
- transactions
@@ -52,9 +52,9 @@ Currently, only the `MySQL` database driver is supported and finished.
5252

5353
The following describes the differences between `QMYSQL` and `TinyMySql` drivers.
5454

55-
The `QMYSQL` driver doesn't support setting `MySQL` non-flag [connection options](https://dev.mysql.com/doc/c-api/8.4/en/mysql-options.html) like `MYSQL_OPT_RECONNECT` without the value, it needs to be defined with value like `=1` or `=TRUE` (case-sensitive), only real flag options like `CLIENT_INTERACTIVE` can be set without the value and `=` character.
55+
The `QMYSQL` driver doesn't support setting `MySQL` non-flag [connection options](https://dev.mysql.com/doc/c-api/9.0/en/mysql-options.html) like `MYSQL_OPT_RECONNECT` without the value, it needs to be defined with value like `=1` or `=TRUE` (case-sensitive), only real flag options like `CLIENT_INTERACTIVE` can be set without the value and `=` character.
5656

57-
On the other hand, the `TinyMySql` driver allows setting non-flag [connection options](https://dev.mysql.com/doc/c-api/8.4/en/mysql-options.html) options without the value and `=` character, which are considered enabled (ON or TRUE).
57+
On the other hand, the `TinyMySql` driver allows setting non-flag [connection options](https://dev.mysql.com/doc/c-api/9.0/en/mysql-options.html) options without the value and `=` character, which are considered enabled (ON or TRUE).
5858

5959
##### Removed features
6060

@@ -102,7 +102,7 @@ To control shared and static build use [`static`](building/tinyorm.mdx#qmake-sta
102102

103103
Performance is several milliseconds faster compared to `QtSql` with the `QMYSQL` driver. It was tuned using the `KCacheGrind` to be so. It's ~40ms faster on [`TinyOrmPlayground`](https://github.com/silverqx/TinyOrmPlayground) project with __620__ database queries compiled using `GCC v13.2.1` Debug build on Linux. Similar results can be expected on other platforms but it's not guaranteed.
104104

105-
This means performance is very similar to `QtSql`. There is not much to speed up because `TinyDrivers` code is swift and 90% of the time is spent inside the [`MySQL C API`](https://dev.mysql.com/doc/c-api/8.4/en/) because we always have to wait for the database server, especially when creating database connections using eg. [`mysql_real_connect()`](https://dev.mysql.com/doc/c-api/8.4/en/mysql-real-connect.html) (this function is king among the slowest functions 😎, which is understandable of course).
105+
This means performance is very similar to `QtSql`. There is not much to speed up because `TinyDrivers` code is swift and 90% of the time is spent inside the [`MySQL C API`](https://dev.mysql.com/doc/c-api/9.0/en/) because we always have to wait for the database server, especially when creating database connections using eg. [`mysql_real_connect()`](https://dev.mysql.com/doc/c-api/9.0/en/mysql-real-connect.html) (this function is king among the slowest functions 😎, which is understandable of course).
106106

107107
## Internals
108108

@@ -112,7 +112,7 @@ This means performance is very similar to `QtSql`. There is not much to speed up
112112
- SQL API layer
113113
- Public API layer
114114

115-
The Driver layer is eg. `TinyMySql` library which is responsible for communicating with the underlying database driver (eg. [`MySQL C API`](https://dev.mysql.com/doc/c-api/8.4/en/)).
115+
The Driver layer is eg. `TinyMySql` library which is responsible for communicating with the underlying database driver (eg. [`MySQL C API`](https://dev.mysql.com/doc/c-api/9.0/en/)).
116116

117117
The SQL API layer is a semi-layer that glues everything up and sits between the Public interface API and the Driver layer.
118118

docs/tinyorm/getting-started.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -847,7 +847,7 @@ All databases except SQL Server require the columns in the second argument of th
847847
:::
848848
849849
:::info
850-
Row and column aliases will be used with the MySQL server >=8.0.19 instead of the VALUES() function as is described in the MySQL [documentation](https://dev.mysql.com/doc/refman/8.4/en/insert-on-duplicate.html). The MySQL server version is auto-detected and can be overridden in the [configuration](/database/getting-started.mdx#configuration).
850+
Row and column aliases will be used with the MySQL server >=8.0.19 instead of the VALUES() function as is described in the MySQL [documentation](https://dev.mysql.com/doc/refman/9.0/en/insert-on-duplicate.html). The MySQL server version is auto-detected and can be overridden in the [configuration](/database/getting-started.mdx#configuration).
851851
:::
852852
853853
## Deleting Models

drivers/common/src/orm/drivers/sqlfield.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ operator<<(QDebug debug, const TINYORM_PREPEND_NAMESPACE(Orm::Drivers::SqlField)
134134
in MySQL v8.3, what means connector C API doesn't provide this default field value,
135135
also both IS_NULLABLE and COLUMN_DEFAULT must be checked to correctly obtain this
136136
information, there is also some info at about NO_DEFAULT_VALUE_FLAG:
137-
https://dev.mysql.com/doc/c-api/8.4/en/c-api-data-structures.html:
137+
https://dev.mysql.com/doc/c-api/9.0/en/c-api-data-structures.html:
138138
- SHOW COLUMNS FROM users;
139139
- describe users; (the same as SHOW COLUMNS)
140140
- select c.COLUMN_NAME, c.IS_NULLABLE, c.COLUMN_DEFAULT from information_schema.`COLUMNS` c where c.TABLE_SCHEMA = 'tinyorm_test_1' and c.TABLE_NAME = 'users'; (this select-s as little info as possible)

drivers/mysql/include/orm/drivers/mysql/mysqldriver.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ namespace Orm::Drivers::MySql
8888
int
8989
MySqlDriver::maximumIdentifierLength(const IdentifierType /*unused*/) const noexcept
9090
{
91-
// https://dev.mysql.com/doc/refman/8.4/en/identifier-length.html
91+
// https://dev.mysql.com/doc/refman/9.0/en/identifier-length.html
9292
return 64;
9393
}
9494

include/orm/databaseconnection.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -613,7 +613,7 @@ namespace Orm
613613
const QString &queryString, const QList<QVariant> &preparedBindings,
614614
const RunCallback<Return> &callback) const
615615
{
616-
// TODO would be good to call KILL on lost connection to free locks, https://dev.mysql.com/doc/c-api/8.4/en/c-api-auto-reconnect.html silverqx
616+
// TODO would be good to call KILL on lost connection to free locks, https://dev.mysql.com/doc/c-api/9.0/en/c-api-auto-reconnect.html silverqx
617617
if (!causedByLostConnection(errorMessage))
618618
std::rethrow_exception(ePtr);
619619

0 commit comments

Comments
 (0)