Commit Graph

486 Commits

Author SHA1 Message Date
silverqx b092191aa5 concepts divided to orm and tiny concepts 2022-01-07 12:54:34 +01:00
silverqx dbc375f1fe added HasRelationships concerns
Extracted appropriate methods from the Tiny::Model class to own
HasRelationships concerns.
2022-01-07 12:35:47 +01:00
silverqx 750c60780a added todo task 2022-01-07 10:31:00 +01:00
silverqx 7f455b4ed2 enhanced CRTP model macros
- added macros for model()/basemodel() method definitions
 - CRTP model with basemodel macro extends CRTP model macro
2022-01-06 17:16:59 +01:00
silverqx b0238ac95a reordered methods in Model class
- also fixed section comments
2022-01-06 16:31:59 +01:00
silverqx 4476e6150f changed common todos location 2022-01-06 16:22:57 +01:00
silverqx 7b119a5ad5 reordered method in Model class 2022-01-06 16:18:34 +01:00
silverqx 4747931f62 removed todo tasks 2022-01-06 12:24:14 +01:00
silverqx c12829df67 used AllRelationsConcept everywhere 2022-01-06 11:41:51 +01:00
silverqx f4e7c6faff fixed all macro guards 2022-01-06 11:22:46 +01:00
silverqx 5a593224fe extracted CRTP static cast to own macro files
Added to macro files, one with derived model cast and another with
derived model cast and with cast to the base model.
2022-01-06 11:14:48 +01:00
silverqx 0acca5c076 moved inline from definitions to declarations 2022-01-06 10:13:42 +01:00
silverqx f6ff93911c renamed methods to obtain u_ data members 2022-01-05 21:08:22 +01:00
silverqx 42e1333085 added reserve for QVector 2022-01-05 21:03:23 +01:00
silverqx 7a975f7b99 added HasAttributes and HasTimestamps concerns
Extracted appropriate methods from the Tiny::Model class to own
HasAttributes and HasTimestamps concerns.
2022-01-05 21:02:57 +01:00
silverqx a6ab076cae removed unneeded forward declarations 2022-01-04 08:31:44 +01:00
silverqx b5b67b0e21 whitespaces 2022-01-04 08:12:27 +01:00
silverqx 2244474188 moved inline to declaration 2022-01-04 07:51:09 +01:00
silverqx f2212bd930 moved all ORM types to tinytypes.hpp 2022-01-03 19:18:53 +01:00
silverqx 873affcd2b fixed macro guard names 2022-01-03 13:11:22 +01:00
silverqx 657f39b104 moved SyncChanges to Tiny::Types 2022-01-03 13:11:01 +01:00
silverqx 29460a3ff3 fixed dtor declaration position 2022-01-03 12:12:51 +01:00
silverqx a61b9bc3f1 bugfix namespace related
- missing TINYORM_BEGIN_COMMON_NAMESPACE
 - forgotten update of macro guard name
2022-01-03 12:11:54 +01:00
silverqx 19a7b4d1fd disabled thread_local for Clang on Linux 🤯 2022-01-02 16:58:35 +01:00
silverqx c30cfb5f3b bugfix gcc linux, threadlocal macro condition 2022-01-02 16:24:35 +01:00
silverqx d750d0ab0e removed todo task 2022-01-01 19:18:35 +01:00
silverqx 449e171d20 bugfix missing QtGlobal include 2022-01-01 19:18:05 +01:00
silverqx 087bf68999 moved LOG_EXECUTED_QUERY macro to own file 2022-01-01 16:31:59 +01:00
silverqx 92775f444c divided Orm::Utils
While ORM can be disabled, Orm::Utils has been split into Orm::Utils
and Orm::Tiny::Utils (Orm::Tiny::TinyUtils alias).
So when ORM is disabled then utils used only in the ORM will be
excluded from a final build.

 - bugfix cmake undefined ORM option in TinySources
2022-01-01 14:28:42 +01:00
silverqx fc477bf1e5 added qmake/cmake option to disable ORM
Added TINYORM_DISABLE_ORM macro controlled by ORM for CMake and
disable_orm for qmake. When TINYORM_DISABLE_ORM macro is defined then
only the query builder without ORM is compiled.
Also excludes ORM-related unit tests.
2021-12-31 11:40:12 +01:00
silverqx 869362bc7a added DISABLE_THREAD_LOCAL macro
Overrides default detection logic for thread_local and disable it
forcefully.
In qmake can be configured by "CONFIG+=disable_thread_local".
For Cmake DISABLE_THREAD_LOCAL option was added.
2021-12-30 17:12:29 +01:00
silverqx d50b00e614 added todo task 2021-12-28 19:31:58 +01:00
silverqx 08791883ec disabled thread_local for Clang 13 on Linux
Started crashing again on Linux with Clang 13 and Qt 6.2.2, Qt 5.15.2 is
fine.
2021-12-28 19:23:32 +01:00
silverqx 7ab116c826 added todo tasks 2021-12-27 16:53:15 +01:00
silverqx d05a89942c removed todo task 2021-12-09 17:41:06 +01:00
silverqx 516968c7d1 bugfix docs many-to-many custom pivot example 2021-12-09 14:53:21 +01:00
silverqx 5172247699 removed todo task 2021-12-08 15:39:20 +01:00
silverqx 4429f875ca explicit typecast from char[] to const char * 2021-12-08 12:27:37 +01:00
silverqx acfb83d473 bugfix undefined RuntimeError 2021-12-08 12:27:36 +01:00
silverqx 371bfad628 used std::unique_ptr with abi::__cxa_demangle() 2021-12-08 12:27:36 +01:00
silverqx 8d744057b5 fixed clang-tidy diagnostics on Linux 2021-12-08 12:27:36 +01:00
silverqx 9aee6d4bed fixed clang-tidy diagnostics 2021-12-08 12:27:35 +01:00
silverqx 09592a7732 added GitHub Actions Linux, MSYS2 UCRT64, MSVC
- initial g++/clang build, ctest on MSYS2 UCRT64 on Windows Server 2022
 - initial cmake build/ctest on Ubuntu 20.40
 - initial cmake build/ctest on MSVC on Windows Server 2019

changed driver to QPSQL in tst_databasemanager

This avoids crash when QMYSQL driver's dll is unavailable.
QMYSQL driver is not shipped by default by Qt Windows MSVC installer.
2021-12-08 12:27:25 +01:00
silverqx 424f32498d added todo task 2021-11-22 22:01:57 +01:00
silverqx 9972989505 removed todo task 2021-11-22 20:32:45 +01:00
silverqx 285dbf51c9 enabled TLS for clang >=13
TLS wrapper started working correctly on Clang 13 for Linux, so enabled
multi-threading support.
2021-11-22 19:51:10 +01:00
silverqx 09e2a56275 removed todo tasks 2021-11-21 21:25:35 +01:00
silverqx dcbb113fc8 added Fs::resolveHome()
It resolves ~ home prefix to the full filepath
2021-11-21 19:30:51 +01:00
silverqx 92dd1e333e whitespaces 2021-11-18 14:35:50 +01:00
silverqx 52333fd777 bugfix missing pragma once 2021-11-18 14:35:42 +01:00