Commit Graph

902 Commits

Author SHA1 Message Date
silverqx e79be8906c used __has_include() to check mysql.h
Used __has_include() in #if macro directives instead of checking
_MSC_VER or __MINGW32__ to include mysql.h file.

 - also modified #error directive calls
2022-03-06 12:22:04 +01:00
silverqx 5185cd533d bugfix detecting of a lost connection 2022-03-02 12:32:45 +01:00
silverqx 4fc92a6e53 updated comment 2022-03-01 16:13:49 +01:00
silverqx c932f091c4 updated comments and renamed method
- clarified comments about connect/reconnect logic
   in the DatabaseConnection
 - renamed refreshQtConnection() method.
2022-03-01 15:30:17 +01:00
silverqx 39b92f5716 bugfix during disconnect
Do nothing if TinyORM connection is not resolved.

 - also throw RuntimeError in getRawQtConnection() if TinyORM
   connection is not resolved
2022-03-01 15:28:51 +01:00
silverqx 839a9fe16f exported (dll) DetectsLostConnections 2022-03-01 15:24:24 +01:00
silverqx 136a32c5fe added DatabaseConnection::isOpen()
It is a proxy to the QSqlDatabase::isOpen() method.
2022-03-01 15:23:08 +01:00
silverqx fbee3297ac handle lost connection during transactions
- bugfix reset transactions when lost connection occurs during
   commit()/rollBack()/savepoint()/rollBackToSavepoint() method calls
 - enhanced beginTransaction(), reconnect when connection was lost
2022-02-23 11:29:28 +01:00
silverqx 37c5f6e0d5 sync torrent model, connection names constants 2022-02-23 11:15:23 +01:00
silverqx 134bb37984 enahnced Find-Todos script 2022-02-21 13:24:45 +01:00
silverqx 7fed2e31e4 tests check transactions status
- bugfix reset savepoints during commit, rollBack
 - bugfix test all connections, forgotten code
2022-02-20 19:44:20 +01:00
silverqx d5ad16fb06 added SIZE constant 2022-02-20 15:21:49 +01:00
silverqx 2ffad4e1ca added transaction unit tests
Also savepoints tested.
2022-02-20 12:14:13 +01:00
silverqx e4a7ec5593 added todo tasks 2022-02-14 17:26:27 +01:00
silverqx 1991c8a959 modified Model's CRTP problem exception 2022-02-14 17:26:10 +01:00
silverqx ff6059fcdd inline comment 2022-02-14 17:25:28 +01:00
silverqx c165469f5d bugfix return QString for __tiny_func__ 2022-02-14 17:25:08 +01:00
silverqx 285d843733 changed forgotten std to TinyORM exception 2022-02-14 17:24:36 +01:00
silverqx 5956cb86c5 added OrmError base class for all exceptions 2022-02-14 17:23:31 +01:00
silverqx 8460f54be7 enable/disable debugging of SQL queries
Disabled forgotten log messages for transactional queries and also for
pretended queries.

Added possibility to enable/disable debugging of SQL queries per
connection (logging to the console using qDebug()).
2022-02-12 19:28:00 +01:00
silverqx a898660dfa enable/disable debugging of SQL queries
Added possibility to enable/disable debugging of SQL queries per
connection (logging to the console using qDebug()).
2022-02-12 18:49:26 +01:00
silverqx df0c1d666a added todo tasks 2022-02-12 13:17:05 +01:00
silverqx d9e857d5ed added using consts. NAME 2022-02-12 13:16:53 +01:00
silverqx 65a1c89c29 sync docs, DB::create() returns shared_ptr 2022-02-12 13:15:56 +01:00
silverqx cde15172c0 shared_ptr for DatabaseManager factory methods
Refactored from an unique_ptr to shared_ptr, I think this is a better
approach. Now it will be clear that a few DatabaseManager pointers are
stored somewhere in the TinyORM.

 - return std:shared_ptr from DatabaseManager factory methods
 - store a shared_ptr<DatabaseManager> in private data members in
   DatabaseManager and DB classes
2022-02-10 15:02:43 +01:00
silverqx 14fc5b891c qmake enhanced version header regex 2022-02-09 07:43:14 +01:00
silverqx b207fb9c6e unused method argument 2022-02-09 07:42:52 +01:00
silverqx ac32a6d3c4 qmake enhanced precompiled headers 2022-02-09 07:41:47 +01:00
silverqx dccc30e750 renamed Initialize- to Get- in ps1 script 2022-01-22 16:03:51 +01:00
silverqx 76ad095241 added Concerns::ExplainQueries
It is not enabled because Qt sql driver doesn't support EXPLAIN queries.
2022-01-18 11:07:57 +01:00
silverqx 4c2351e3ef fixed missing QVariant::typeid() for Qt6 2022-01-18 10:17:09 +01:00
silverqx 0442807a51 rewritten MySqlConnector::parseConfigOptions() 2022-01-18 10:00:40 +01:00
silverqx f4106a8d38 unified left exceptions 2022-01-18 09:05:39 +01:00
silverqx 71d22f2034 unified almost all throw exceptions 2022-01-17 19:07:59 +01:00
silverqx 245fd10a70 removed fixed todo task 2022-01-17 16:42:48 +01:00
silverqx 043e26b920 removed empty cpp files 2022-01-17 16:25:29 +01:00
silverqx 5b9e89998a enhanced Find-Todos script 2022-01-17 16:21:15 +01:00
silverqx 880e0bac65 bugfix bad usage of Q_ASSERT() 2022-01-17 15:28:23 +01:00
silverqx 28568f2236 bugfix copy/move Model instance
In the release build HasRelationStore::m_relationStore will be always
empty during copied/moved operation.
In the debug mode are enabled Q_ASSERT() checks to inform a user.

A Model class can not be copied/moved during any HasRelationStore
operation.
2022-01-17 15:11:48 +01:00
silverqx ed3f0b446e disabled copy/move ctors 2022-01-17 10:45:33 +01:00
silverqx f61d777276 explicitly declared constructors 2022-01-17 10:37:03 +01:00
silverqx 1fcfefce94 init. QueryBuilder operators only once 2022-01-17 10:22:28 +01:00
silverqx 73fa6d2246 explicitly declared ctors
In QueryBuilder and JoinClause, to be clearly visible that deleted
assignment operators are expected.
2022-01-17 10:21:47 +01:00
silverqx 35f139fda9 removed const in Model::AttributeReference 2022-01-16 18:27:24 +01:00
silverqx 7a017855f8 disabled copy constructors
Disabled on all relations, tiny builder and all base classes
2022-01-16 18:26:40 +01:00
silverqx 7ffc2725fd removed useless return 2022-01-16 18:24:36 +01:00
silverqx 8794b8b285 extracted relation types to own header file 2022-01-16 18:24:05 +01:00
silverqx aeb20613a0 removed const in SqlError 2022-01-16 18:22:28 +01:00
silverqx c82a423e44 sync docs 2022-01-15 17:02:06 +01:00
silverqx f45f293670 added todo task 2022-01-15 12:55:40 +01:00