Bernd Lörwald
9412851408
#471 serializers: ensure float precision ( #472 )
...
* value: add missing includes
* mysql, sqlite3: use explicitly *out* stringstreams for serialization
* postgresql: fix: use max_digits10 instead of digits10
* detail: add float_safe_ostringstream, ensuring floats are serialized with enough precision
* mysql, postgresql, sqlite3, tests: fix: set float-precision for all streams
* run clang-format on changed files
* inline remove_cvref.h
* replace unspecific "wrapper" with concrete type name
* tests: split connector specific tests out of serialize/Float
2023-02-18 08:10:50 +01:00
Roland Bock
64d16bfee0
Cleanup parens for ANY and SOME
2023-02-05 09:31:30 +01:00
Roland Bock
0731a8597d
Cleanup parens for EXISTS
2023-02-04 10:21:54 +01:00
Roland Bock
2d3967a0b3
Cleanup braces for IS_NULL and IS NOT NULL
2023-02-04 10:12:55 +01:00
Roland Bock
1c4f1f61c8
Allow TRIM to be used with sub selects
2023-02-04 09:05:04 +01:00
Roland Bock
3fba3e721e
Add UPPER and LOWER
...
This is replacing and extending #456 .
2023-02-04 08:57:17 +01:00
Roland Bock
82758a2046
Add missing braces to aggregatedfunctions with sub select #469
...
Also allow MIN and MAX to be used with DISTINCT.
2023-01-29 14:39:07 +01:00
Roland Bock
673b07361b
Add missing braces to SUM with sub select #469
2023-01-29 12:57:02 +01:00
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