Commit Graph

160 Commits

Author SHA1 Message Date
silverqx 41ac33fa19 removed useless noexcept specifier 2022-07-31 22:12:06 +02:00
silverqx 54748fdef1 added QueryBuilder::whereRowValues()
- added all proxies
 - added tests
2022-07-31 14:24:38 +02:00
silverqx 8cdd310ccb added move select()
- added proxies
2022-07-30 15:35:56 +02:00
silverqx efad0fd6d9 added noexcept to getters 2022-07-30 11:19:11 +02:00
silverqx a166922d1f fixed TinyBuilder::pluck() 🤯
Apply u_date QDateTime transformations during the pluck algorithm.

 - also added unit tests for pluck-ing with QDateTime/u_dates
2022-07-29 18:36:55 +02:00
silverqx 9f491ad95b whitespaces 2022-07-29 13:06:15 +02:00
silverqx 6f3e699bca fixtypo 2022-07-28 17:42:19 +02:00
silverqx eff42b5a1e whitespaces 2022-07-28 11:45:13 +02:00
silverqx c18f322c4f Revert "make BuildsQueries templated"
This reverts commit af0ce7b6b2.
2022-07-28 09:44:09 +02:00
silverqx af0ce7b6b2 make BuildsQueries templated
Now, it can be used also with the TinyBuilder and use the QVector<Model>
as the template argument.
2022-07-27 10:12:51 +02:00
silverqx b08827f24f made move constructors/assign. operator noexcept 2022-07-27 10:07:45 +02:00
silverqx 2557f66594 added BuildsQueries concerns
Added chunk, each, chunkById, eachById, sole, tap in BuildsQueries and
QueryBuilder::soleValue().

 - added tests
 - added docs
2022-07-27 08:38:02 +02:00
silverqx c0e91a18e1 added QueryBuilder::updateOrInsert()
- added tests
 - updated docs
2022-07-26 13:17:46 +02:00
silverqx bbb58d0df1 added proxies for findOr
- also removed nullptr for callback 🤔
2022-07-26 09:15:48 +02:00
silverqx d3020aa3a3 used type explicitly 2022-07-25 16:31:19 +02:00
silverqx 8e2c9023ba added QueryBuilder::findOr()
Execute a query for a single record by ID or call a callback.

 - added tests
2022-07-25 16:30:09 +02:00
silverqx 4f3c68b86c updated comment 2022-07-25 14:49:53 +02:00
silverqx 1215f8503d added QueryBuilder::whereExists/exists/existsOr
- added unit tests
 - added all proxies
 - added docs
2022-07-25 11:27:02 +02:00
silverqx aaa4469280 added comment sections 2022-07-24 20:17:52 +02:00
silverqx 23a1dcd044 added dump()/dd() to the QueryBuilder
- added all proxies
 - updated docs
2022-07-24 20:17:09 +02:00
silverqx 655cef005d added comment sections to proxies/builders 2022-07-24 17:05:31 +02:00
silverqx 20d3cdde84 added implode() to the QueryBuilder
- added unit tests
 - added all proxies
 - added docs
2022-07-24 16:12:27 +02:00
silverqx 6ac2e4331d added inRandomOrder() to the QueryBuilder
- added unit tests
 - added all proxies
 - added docs
2022-07-24 14:41:26 +02:00
silverqx f9e06440e2 enhanced Query::queryResultSize() 2022-07-23 19:42:26 +02:00
silverqx a477825e60 added whereNot/whereNotXyz counterparts
Added the whereNot counterparts for the basic, nested, array, and
sub-query where methods.

 - updated docs
 - added unit tests
2022-07-22 16:00:11 +02:00
silverqx c9442ceb4d revisited QueryBuilder 2022-07-14 16:52:08 +02:00
silverqx 3ffa654210 docs note about select subqueries
[skip ci]
2022-07-14 15:05:47 +02:00
silverqx bc35186e9e added crossJoin overload
- also added docs
2022-07-12 15:36:41 +02:00
silverqx 6f752c358f added Model::increment()/decrement()
- added also tests
 - added default template parameter value std::size_t
 - new method HasAttributes::syncOriginalAttributes()
2022-07-11 19:41:57 +02:00
silverqx 9162c5a53d used shared_ptr everywhere
Get rid of the QSharedPointer and use the std::shared_ptr everywhere.
2022-07-10 17:36:53 +02:00
silverqx 38dcfca139 count query result size manually if needed
Fixed all query.size() calls, added QueryUtils::queryResultSize() helper
method that counts query result size manually if needed.
2022-06-23 18:44:51 +02:00
silverqx 37c9bb0891 added noexcept for JoinClause
[skip ci]
2022-06-09 09:58:00 +02:00
silverqx b45b4361a1 unified = delete 2022-05-25 11:58:33 +02:00
silverqx ccb660a7c5 enabled clazy copyable-polymorphic check 2022-05-24 22:44:57 +02:00
silverqx d7316a0e17 fixed clazy warning, previous commit 2022-05-24 22:41:58 +02:00
silverqx fa154e5787 fixed clazy warning 2022-05-24 20:48:07 +02:00
silverqx 0ad5d3e485 added new multi-insert overload to query builder
- also added all proxies
 - updated documentation
2022-05-18 09:23:09 +02:00
silverqx a7ace30999 unified constexpr static 2022-03-07 09:20:34 +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 aeb20613a0 removed const in SqlError 2022-01-16 18:22:28 +01:00
silverqx e188239e37 added public section 2022-01-14 16:39:50 +01:00
silverqx b36888ae93 extracted queries counters to CountsQueries
Queries counters extracted to the Concerns::CountsQueries base class.

 - removed ConnectionInterface 😕😎🙌
 - all methods are returning DatabaseConnection & instead of
   ConnectionInterface
 - includes cleanup after extraction
2022-01-14 16:04:17 +01:00
silverqx b57fa366ee reordered methods in QueryBuilder
- also added section comments
2022-01-13 21:37:29 +01:00
silverqx 9317ca1b9c moved inline from defn. to decl. in QueryBuilder 2022-01-13 18:26:04 +01:00
silverqx fb20fd8b9f cleanup, macro guards, inline
- removed expression.cpp, Query::Expression is header only now
 - fixed macro guard names
 - inline from defn. to decl.
2022-01-13 11:02:07 +01:00
silverqx b092191aa5 concepts divided to orm and tiny concepts 2022-01-07 12:54:34 +01:00
silverqx 4476e6150f changed common todos location 2022-01-06 16:22:57 +01:00
silverqx f4e7c6faff fixed all macro guards 2022-01-06 11:22:46 +01:00
silverqx 82bcdc2623 made all defaulted methods explicitly inline 2021-11-13 15:08:20 +01:00