0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-16 12:51:13 +08:00
Commit Graph

851 Commits

Author SHA1 Message Date
Roland Bock
743d39c0c6 Rename requires_braces to requires_parens
This fixes a typical German mistake :-)
2023-01-29 11:55:58 +01:00
Moritz Wirger
42bd3cc79b Fix include for iso646 missing for MSVC 2022-12-10 09:37:56 +01:00
Roland Bock
57077cd32b Add standalone insert_columns function (#76)
This allows for multi-row INSERT OR IGNORE
2022-06-06 10:15:28 +02:00
Roland Bock
f5be4095ae Allow parameter in having clause, see #443
Disallow mixing aggregate and non-aggregate columns in select, too.
2022-05-22 15:05:58 +02:00
Roland Bock
1d5caca523 Allow value_or_null to be assigned to parameters (#435) 2022-04-02 08:27:38 +02:00
Mike Neilson
6477f09125 Added additional exception class.
Handles the case of user defined exception in pl/pgsql to it can be reported
back to the calling application.
2022-03-11 07:47:22 +01:00
Roland Bock
b965b2a1df Fix warnings (#422) 2022-03-04 07:49:05 +01:00
Jürgen Hunold
f7f2060c44 Add support for TIME columns in postgresql 2022-02-08 18:24:15 +01:00
Roland Bock
b8aed2af55 Address conversion warnings and fix UAF bug in test 2022-01-14 07:39:11 +01:00
Roland Bock
ccc75eafc7 Remove obsolete pointer indirection and some warnings 2022-01-12 07:06:06 +01:00
Roland Bock
d6aef0fa9b Remove obsolete pointer indirection, fix warnings and a leak
Leak: The sqlite3 connection handle destructor was
accidentally turned into a default constructor during the
migration of repositories.

Replaced the sqlite3 raw pointer with a unique_ptr to prevent
this kind of accident.
2022-01-11 07:35:20 +01:00
Roland Bock
3be4893bfe Remove obsolete pointer indirection in mysql connector 2022-01-09 09:12:23 +01:00
Roland Bock
40845e6b09 Remove incomplete connection pool
Porting the connection pool from sqlpp17 seems more promising, see #397
2022-01-08 19:02:29 +01:00
Roland Bock
181cc5fb04 Fix compiler warnings. 2021-12-11 19:53:35 +01:00
Andreas Sommer
36d3d30254 Support MySQL connect timeout option 2021-12-10 10:57:06 +01:00
Andreas Sommer
c37c8d36c5 Add missing includes 2021-12-10 10:49:37 +01:00
Leon De Andrade
e7590dc004
Add unsigned bind to postgresql (#395) 2021-12-04 10:52:26 +01:00
Roland Bock
310a6245fa Added blob support for postgresql
Tests look reasonably fine.
2021-11-14 13:14:34 +01:00
Roland Bock
4c942600bb Started to migrate postgresql connector into sqlpp11 repo.
Removed timezone handling in the process (needs to be documented).
Note: on_conflict does not check for constraints (needs to be documented).
Note: some of the constraints tests seem to be aiming for a different static_assert.
2021-11-14 08:11:53 +01:00
Roland Bock
554c31dc23 Add missing includes 2021-11-11 06:30:00 +01:00
Roland Bock
d2cd61ab3a Remove table::ref (see #345). 2021-11-06 15:11:45 +01:00
Roland Bock
138da005d5 Fixed missing include and two compiler warnings 2021-11-06 14:28:50 +01:00
Théo Delrieu
3f7fe2d0bb result: make nested iterator C++20 conformant 2021-10-28 06:17:01 +02:00
Roland Bock
4a8c941916 Fixed global variable
This would have led to multiple definitions at best.
2021-10-11 10:03:58 +02:00
Roland Bock
bde010351d Fix missing inline attributes for mysql connector
Changed mysql usage tests to be linked into one executable.
This provokes multiple definition errors for non-inlined free
functions.
2021-10-11 09:04:57 +02:00
Roland Bock
caee00e849 Fix missing inline attributes for sqlite3 connector
Changed sqlite3 usage tests to be linked into one executable.
This provokes multiple definition errors for non-inlined free
functions.
Also ran clang-format on the changed headers.
2021-10-11 08:37:14 +02:00
Roland Bock
a3c2b186fb Remove same-name check for result columns
The compiler actually does a much better job at telling you if two
result columns have the same name as soon as you are trying to use
them.
In contrast to the static_assert, the compiler will even say which
name is ambiguous.
2021-10-03 09:35:11 +02:00
Roland Bock
136b533fcf Added shift left and shift right operators. 2021-09-04 13:40:03 +02:00
Roland Bock
24a0734245 Drop copy_tuple_arg.h
Transfer the required bits to select_column_list.h
2021-09-04 12:34:11 +02:00
Roland Bock
1e2fff0ca9 Remove obsolete all_of_t
This was a wrapper used for the now-removed multi_column.
2021-09-04 11:04:51 +02:00
Roland Bock
f6bbac09e1 Remove superfluous include 2021-08-25 08:06:06 +02:00
Roland Bock
64aba48cb9 Make sqlite3 connector header-only 2021-08-22 12:44:34 +02:00
Roland Bock
660e3bd1b6 Make mysql connector header-only 2021-08-15 16:51:27 +02:00
Roland Bock
1d57d28994 Add order_by and limit for mysql remove and update
Thanks to ZerQAQ for suggesting this on github.
2021-08-14 10:56:45 +02:00
Roland Bock
5e16f32ed3 Moved mysql/mariadb connector over here. 2021-08-01 21:49:16 +02:00
Roland Bock
2e683a4b69 Moved sqlite3 over here. 2021-08-01 20:37:36 +02:00
Roland Bock
d0a8ea21af Cleanup some warning and includes 2021-08-01 19:33:53 +02:00
Roland Bock
68021772c2 Finished replacing serializer_t 2021-08-01 15:09:43 +02:00
Roland Bock
2cab1fa681 Next step in replacing serializer_t 2021-08-01 10:01:32 +02:00
Roland Bock
61116f89c5 Started to replace serializer_t 2021-07-31 20:00:42 +02:00
Roland Bock
cf87fbd68e Remove variations of serialization from interpretable
I am not even sure any more what this was intended for?
Maybe for the STL connector?
Anyways, not really needed.
2021-07-30 21:44:57 +02:00
Roland Bock
34a8f34821 Remove multi_column.
While a nice feature in theory, this was extremely rarely used
and added quite a bit of complexity to the code.
2021-07-30 21:05:36 +02:00
Roland Bock
d68744c432 Add is_equal_or_null(col, some_value_or_null)
This replaces the former implicit tvin logic with an explicit function.
2021-07-25 15:22:12 +02:00
Roland Bock
135db9397b Remove _is_trivial from *_operand 2021-07-13 15:16:36 +02:00
Roland Bock
93b0093fb5 Remove rhs_wrap (was required for tvin only) 2021-07-11 13:54:18 +02:00
Roland Bock
db0295a9d0 Remove tvin
This was a special feature for a project I was working on long ago.
It provided implicit behavior for trivial value (0 or "") which were
supposed to be interpreted as NULL.
They led to `operator==` potentially being serialized as 'IS NULL'.

It makes more sense to introduce explicit helpers, e.g.

 - equal_or_is_null(col, optional)
 - not_equal_or_is_not_null(col, optional)
2021-07-11 12:47:13 +02:00
Roland Bock
35c2b9ec04 Add missing include (#368) 2021-06-13 07:55:36 +02:00
byronhe
739b3db69c
Update connection_pool.h (#363) 2021-04-24 13:17:01 +02:00
Roland Bock
9203e3818f Remove null_is_trivial_value
Unless you have null_is_trivial_value or trivial_value_is_null somewhere in your code, this should not affect you.
2020-09-29 08:42:37 +02:00
Roland Bock
085713d4d3 Merge branch 'release/0.60' 2020-08-23 07:45:17 +02:00
Daniel Evers
e3ab5e5d0b
fixed #342: ambiguous comparison operators (c++20) (#343)
* fixed #342: ambiguous comparison operators (c++20)

* issue #342: added reference to clang bug ticket
2020-07-09 07:10:47 +02:00
MacDue
d1b34b6098
Add support for parameterized_verbatim (#341)
* Add support for parameterized_verbatim

Co-authored-by: MacDue <macdue@dueutil.tech>
2020-06-23 09:07:38 +02:00
faizol
23cb8f4c86 changed header to use stddef.h 2020-05-06 06:23:24 +02:00
faizol
b336346467 changed type_set.h to use cstddef so that size_t would be consistent across the library 2020-05-06 06:23:24 +02:00
faizol
cd20805b3e update for gcc10 compilation 2020-05-06 06:23:24 +02:00
MacDue
73df6df867 Make connection pool useable 2020-02-15 08:17:37 +01:00
MacDue
a51b6da3bd
Minimal over() implementation for aggregate functions (#316)
* Minimal over() implementation for aggregate functions

* auto_alias support for over()

* add missing typename

* Test .over() serialization

* Add missing return to test

* Fix testing over auto alias

Co-authored-by: Ben Maxwell <42680490+MaciumDue@users.noreply.github.com>
2020-02-15 07:54:22 +01:00
rbock
bb77cc1459 Fix missing space for operator- 2019-10-09 07:25:24 +02:00
rbock
5b2b175b21 Remove aggregate attribute from trim() 2019-08-28 09:42:48 +02:00
rbock
7f29a0b126 Fix expressions for unsigned integral as suggested by @fraillt 2019-08-20 18:32:16 +02:00
rbock
43ec2343c3 Fix serialization of empty dynamic_where
It was serialized with a dummy expression, which turned out to be
problematic for some vendors, see #282
2019-08-20 10:31:54 +02:00
rbock
daa672e6f0 Fix joins with CTEs 2019-05-25 14:04:44 +02:00
rbock
c729387ab6 Allow INSERT INTO from SELECT 2019-04-11 11:30:25 +02:00
rbock
b27406a87e Make implicit array to pointer decay explicit 2019-03-22 05:40:03 +01:00
rbock
6f39293a69 Maybe make MSVC happy again...
Thanks, @juandent for the change suggestion
2019-03-19 06:38:01 +01:00
rbock
d1b8bde8f1 Cleanup bogus return statements 2019-02-27 13:53:28 +01:00
Daniel Evers
ac3a8290ff support for std::string_view when using C++17 2019-02-02 11:00:59 +01:00
Egor Pugin
9de56a748c Add explicit greater condition. 2018-12-06 20:19:19 +01:00
fjkfwz
da5cf192e9 Fix blob field display 2018-10-28 07:33:25 +01:00
Sylvain Joubert
114b9ab77a Add support of value_or_null in multi-insert 2018-08-13 21:31:09 +02:00
Dirk Vanden Boer
6a45d058de Fixed transaction_t move constructor 2018-07-05 21:45:14 +02:00
rbock
8d05e4e05e Add serializer for value_or_null 2018-06-28 19:20:09 +02:00
rbock
cc96fc44ef Formatting... 2018-06-01 09:53:39 +02:00
dcojan
49d46edab2 add missing unsigned integer types in ppgen 2018-05-13 11:16:37 +02:00
rbock
ac500e238d Fix triggering static asserts multiple operators 2018-04-28 10:15:26 +02:00
rbock
9d64a5c741 Fixed missing include 2018-04-19 07:05:17 +02:00
niXman
928282a9ef
real type support added for ppgen(part 1) 2018-04-12 13:55:16 +03:00
Philippe Daouadi
1b12fddb7a Add support for std::array blobs 2018-03-10 20:49:57 +01:00
Philippe Daouadi
7b16f03aa0 Fix blob result_type 2018-03-10 20:49:57 +01:00
rbock
2e635cc963 blob WIP 2018-03-10 20:49:57 +01:00
rbock
1e029807da Add blob data type 2018-03-10 07:45:01 +01:00
Bartosz Wieczorek
f48f1b9cf7 fixup 2018-02-19 12:38:23 +01:00
cszawisza
ee3f90d13a make old GCC happy 2018-02-19 12:28:50 +01:00
Bartosz Wieczorek
e50ee42364 add set(tuple<...>) implementation for insert and update statements 2018-02-15 07:55:43 +01:00
Egor Pugin
f510166ac8 Load date library from date dir (since date v2.3). 2018-01-31 17:48:38 +03:00
rbock
2b1c1c1a82 not_t must not be a variadic template. 2018-01-21 10:58:19 +01:00
rbock
5b15267743 Typo, thanks @juandent 2018-01-07 08:05:30 +01:00
rbock
e49428c58c Partially reverting e1b82afbbe hoping to appease VC++ 2017-12-19 09:06:56 +01:00
JUAN DENT
91e0712e6c _can_be_null depends on the expression 2017-12-18 16:51:47 -06:00
JUAN DENT
5cb081a721 Corrected _is_aggregate_expression 2017-12-18 16:44:16 -06:00
JUAN DENT
13e1ac3a78 Added trim.h with Roland's suggestions 2017-12-18 12:38:41 -06:00
rbock
109b0af880 Add quoting for table and column names.
More reserved words have to be added to ddl2cpp
2017-11-26 19:19:26 +01:00
rbock
8ad1bb5db2 Add missing include 2017-11-25 19:00:18 +01:00
rbock
d7ef2603bc Remove superfluous return 2017-11-22 21:10:56 +01:00
rbock
3a6e4d93ec Merge branch 'develop' of https://github.com/rbock/sqlpp11 into develop 2017-11-06 21:37:36 +01:00
rbock
e1b82afbbe Use count instead of is_element_of 2017-10-29 16:39:51 +01:00
Roland Bock
1c7c0361ee Merge pull request #190 from choiip/develop
Fixed compile error when include connection_pool.h using c++11
2017-10-27 06:29:12 +02:00
Aaron Bishop
d207a26638 Removed templated variables
Also fixed tabs to spaces. Used github editor, can update later if there was a syntax error.
2017-10-23 09:10:10 -04:00
Aaron Bishop
fb84f9b4a9 Allow result_t to have a size() function if DbResult has a size() function.
size() must be const, but can be arbitrary type.
size() may be wrong after first next has been called
2017-10-21 16:09:30 -04:00
rbock
f6cb213e55 Fix without_table_check for alias expressions 2017-10-16 20:43:07 +02:00