376 Commits

Author SHA1 Message Date
silverqx
ea71bdfdb9 qmake MSYS2 disabled LLD linker override for g++
LLD isn't faster than bfd, I also did linking when bfd was faster than
LLD.

 - also updated docs

[skip ci]
2024-08-26 20:08:23 +02:00
silverqx
efa0c4e96c qmake/docs updated comments
[skip ci]
2024-08-26 20:05:21 +02:00
silverqx
9a213d9962 fixtypo
[skip ci]
2024-08-17 15:15:30 +02:00
silverqx
65abb5410f bump version to TinyORM v0.38.0 and tom v0.10.0
Also bumped to:

 - TinyDrivers v0.2.0
 - TinyMySql v0.2.0
 - TinyUtils v0.5.0

 - removed Qt v5 support (since TinyORM v0.38.0) 🎉🕺🙌 eda9df9f
   - renamed all occurrences of QVector to QList 8a71078f
   - renamed all occurrences of toVector to toList (Model) 118acd88
 - renamed all getQtQuery and similar to getSqlQuery 7f897b33
 - drivers populate Default Column Values

 - added MySQL v9.0 support
 - increased min. GCC version to v11.2
 - upgraded everything to latest versions 😁

 - qmake/cmake added support for ccache >=4.10 (on Windows with PCH) 🙌👌
 - Qt removed deprecated API-s up to Qt v6.9
 - bugfix in String::snake() 🤔
 - vcpkg bugfix /MT vs /MD

 - docs added API Stability boxes and a new page
 - fixed all Visual Studio 2022 analyzer warnings (Recommended Rules Profile)
 - greatly optimized PCH
 - cmake added support for ctest --parallel 🎉
 - workflows added LTO to matrix (Linux/Windows)
 - tools added deploy scripts 👌
 - ~500 more improvements and bugfix-es 😮😎
2024-08-16 08:22:58 +02:00
silverqx
1c0a478c70 drivers fixtypo 2024-08-11 20:32:37 +02:00
silverqx
e2ce873715 drivers added optional access check 2024-08-11 20:32:37 +02:00
silverqx
9c2ff1739f suppressed Clazy warnings 2024-08-09 01:12:06 +02:00
silverqx
0c83c9ebdd drivers fixtypo 2024-08-06 21:01:44 +02:00
silverqx
f1b8473092 enhanced NotNull
Use Q_ASSERT_X() for Debug builds.
2024-08-06 21:01:01 +02:00
silverqx
b58158e876 revisited all Q_UNREACHABLE() 😰
I have a weird feeling that I will have to return to this again. :/
These unreachable macros scares me. :/
2024-08-06 21:00:56 +02:00
silverqx
f9cd6323a8 enhanced NotNull helper 2024-08-02 13:19:44 +02:00
silverqx
f043f05953 drivers fixed Clang Tidy warnings 2024-07-30 16:52:27 +02:00
silverqx
2519c193ed fixed Clazy warnings 2024-07-30 14:03:44 +02:00
silverqx
571639892d drivers bugfix removed noexcept specifier 2024-07-30 00:22:33 +02:00
silverqx
d9da81ef37 drivers mysql suppressed Clang Tidy warning 2024-07-29 23:44:09 +02:00
silverqx
3a14b13367 fixed Clang Tidy warnings 2024-07-29 23:39:39 +02:00
silverqx
1e4b0bce79 drivers mysql bugfix loadable MySQL driver 2024-07-29 14:49:47 +02:00
silverqx
c49fe456f0 drivers mysql updated comment 2024-07-29 14:48:58 +02:00
silverqx
a9e6ef9a56 drivers added todo task 2024-07-29 13:48:32 +02:00
silverqx
e833caa106 removed elaborated friend declarations
Used forward declarations declared before instead.

It looks like the elaborated friend declarations will be dropped
from the C++26.
2024-07-28 17:51:22 +02:00
silverqx
2b7976bd30 drivers updated comment 2024-07-28 12:53:09 +02:00
silverqx
840dbf2071 drivers added SqlQuery::isEmpty()
- used in some test methods
 - extracted throw an exception logic
2024-07-28 12:52:55 +02:00
silverqx
5154bc945b drivers added/updated comment 2024-07-28 09:13:51 +02:00
silverqx
656895eb1e drivers fixtypo 2024-07-28 00:34:48 +02:00
silverqx
fbafb316f1 drivers removed const_cast<>
This is possible after the std::enable_shared_from_this<MySqlDriver> was
added.
2024-07-28 00:34:47 +02:00
silverqx
88b8286e35 drivers removed driverWeakInternal()
This is possible after the std::enable_shared_from_this<MySqlDriver> was
added.
2024-07-28 00:34:45 +02:00
silverqx
3518d9f316 drivers get rid of passing weak_ptr<SqlDriver> 🙌
Used the std::enable_shared_from_this<MySqlDriver> base class to avoid
passing the weak_ptr<SqlDriver> all around. It greatly simplified
the code and also the logic is more correct.

It also allowed to remove the SqlDatabase::driverWeak() non-const
version which was dedicated exactly for this, to be able to pass it
to methods that needed it, no more needed now.
2024-07-28 00:32:39 +02:00
silverqx
f9cdaba8ba drivers added IWYU pragma 2024-07-27 21:12:39 +02:00
silverqx
66e0404688 drivers mysql added comment 2024-07-26 21:52:40 +02:00
silverqx
eba49776c1 drivers optimized cleanup before query execution
Don't cleanup on the newly created instance.
2024-07-26 21:51:05 +02:00
silverqx
ee78b3f534 drivers mysql added comment and removed todo task 2024-07-26 19:20:00 +02:00
silverqx
d540bd4c53 drivers mysql removed memset() to 0 2024-07-26 13:59:08 +02:00
silverqx
9b63cc9f1f drivers mysql added/updated comments 2024-07-26 12:39:09 +02:00
silverqx
beeeff52b0 drivers mysql added todo task 2024-07-26 12:39:09 +02:00
silverqx
e4e46ff463 drivers mysql +1 for string buffers length
- updated comments
2024-07-24 19:41:54 +02:00
silverqx
a1ce7bb31a drivers mysql added Q_ASSERT() 2024-07-24 19:41:03 +02:00
silverqx
abc9902878 drivers mysql whitespace 2024-07-24 19:40:49 +02:00
silverqx
5c0bce8787 drivers mysql bugfix BLOB-s length 2024-07-23 21:51:55 +02:00
silverqx
525214e66e drivers bugfix withDefaultValues to false
Changed the Default Column Values default argument value to false
because Qt API doesn't obtain these Defaul Column Values
in the QSqlQuery::record(), I didn't realize that.

 - updated functional tests
2024-07-23 21:40:43 +02:00
silverqx
be79111379 drivers fixtypo 2024-07-23 13:28:30 +02:00
silverqx
8df1d77999 drivers updated comment 2024-07-21 20:29:54 +02:00
silverqx
3d599fc501 drivers bugfix different parameter name decl./def. 2024-07-21 20:03:33 +02:00
silverqx
c5e9b86459 drivers renamed parameter 2024-07-21 20:03:16 +02:00
silverqx
25a4c94de3 drivers mysql added IWYU pragma 2024-07-21 12:58:19 +02:00
silverqx
7ec904de76 removed useless #include-s 2024-07-21 12:54:40 +02:00
silverqx
af9e405954 unified constructor comments 2024-07-21 12:54:39 +02:00
silverqx
6a59f334f9 fixtypo 2024-07-21 12:54:38 +02:00
silverqx
c4430453e6 drivers added SqlDatabase::record(tableName)
It allows to obtain a SqlRecord for the given table.

Populating the Default Column Values works the same way as
for the SqlQuery/SqlResult couterparts.

The recordCached() counterparts in SqlResult were not implemented
because of cache invalidation problems (not possible with the current
API, it's hard to implement).

This API always select-s all columns from the information_schema.columns
table, that's why the SqlResult::recordWithDefaultValues(allColumns)
has the allColumns parameter, it's used but this API/feature.

 - added functional tests
 - added a new empty_with_default_values table
 - logic that doesn't fit into the MySqlDriver class was extracted
   to the SelectsAllColumnsWithLimit0 concern 🕺
2024-07-20 19:58:54 +02:00
silverqx
6472bb6063 drivers mysql updated comment 2024-07-20 19:50:11 +02:00
silverqx
a249a52a5f drivers mysql renamed local variable 2024-07-20 19:50:11 +02:00