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 😮😎
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.
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
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 🕺