MeanSquaredError
c03ac660ee
Use brace-style initialization wherever possible. ( #510 )
2023-08-07 07:37:29 +02:00
Roland Bock
37739bd2d7
Add missing template parameter
...
This fixes a compiler error for C++11/14
2023-08-06 10:18:59 +02:00
MeanSquaredError
490259ee69
Cleanup the code of the MySQL connector ( #509 )
...
* Move the code for sqlpp::mysql::detail::connection_handle_t to include/sqlpp11/mysql/detail/connection_handle.h
* Move the code for sqlpp::mysql::detail::prepared_statement_handle_t to include/sqlpp11/mysql/detail/prepared_statement_handle.h
* Move the code for sqlpp::mysql::detail::result_handle to include/sqlpp11/mysql/detail/result_handle.h
* Rename sqlpp::mysql::detail::connection_handle_t -> sqlpp::mysql::detail::connection_handle
* Rename sqlpp::mysql::serializer_t -> sqlpp::mysql::context_t
* Add const qualifiers to sqlpp::mysql::context_t::escape() and its parameter.
* Rename class/struct types, variables and functions from CamelCase to snake_case.
* Remove a superfluous function that forwards the call to mysql_close().
2023-08-05 09:18:51 +02:00
MeanSquaredError
a085d730c9
Replace include guards with "#pragma once" in all header files and in the database model generator scripts. ( #506 )
2023-07-25 07:00:05 +02:00
MeanSquaredError
4295c29e9a
Fix serialization of PostgreSQL time data types ( #504 )
...
* Use a non-UTC timezone when testing the PostgreSQL timezone support.
* Fix serialization of time of day values for PostgreSQL
* Fix serialization of PostgreSQL values for "timestamp with time zone" and "time with time zone" fields.
2023-07-24 06:40:18 +02:00
MeanSquaredError
4a1ed2c02e
Fix serialization of time points for MySQL. ( #503 )
2023-07-23 10:40:27 +02:00
MeanSquaredError
dff8c23b22
Connection pools ( #499 )
...
Add support for connection pooling
* Add support for connection pooling to the core code.
* Add support for PostgreSQL connection pooling with tests.
* Add support for SQLite3 connection pooling with tests.
* Add support for MySQL connection pooling with tests.
2023-07-17 06:14:23 +02:00
Roland Bock
a50d719364
Fix brace initialization, #498
2023-06-30 06:39:46 +02:00
MeanSquaredError
26280d2678
gcc warnings ( #496 )
...
* Enable std::move() by using std::string instead of const std::string&
* Fix dangling references.
2023-06-28 06:32:39 +02:00
Carel
eac9a6e5e3
Const connection config ( #494 )
...
- The postgres connection does not change the connection_config thus passing it as const.
- Implies 'thread safety' when using the same config for multiple connections
Co-authored-by: Carel Combrink <carel.combrink@vastech.co.za>
2023-06-20 06:28:22 +02:00
MeanSquaredError
a72b172a52
Treat PostgreSQL time values as being in UTC time zone ( #487 )
...
* When inserting values into "timestamp with time zone" fields treat the value as being in the UTC time zone.
* Simplify parsing of PostgreSQL date/time responses by using regular expressions. Always convert response times with time zone to UTC.
* Add tests which check if timestamp and date fields are treated as having a UTC time zone.
* Clarify the test comments.
2023-06-16 06:57:19 +02:00
Matthijs Möhlmann
38aba217d4
std::string_view should also be assignable in prepared statements
2023-04-03 06:16:57 +02:00
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
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
Alex Choi
8b4408c95f
fixed compile error when include connection_pool.h using c++11
2017-10-16 11:38:36 +08:00
niXman
7fa7720c87
support for date/datetime/timestamp types added for ppgen
2017-10-07 13:20:30 +03:00
rbock
8aadbd2263
Reverted logic change that led to too many warnings with gcc
2017-09-10 18:26:48 +02:00
rbock
00d10b5365
Minor cleanup thanks to clang-tidy
2017-09-10 15:54:59 +02:00
rbock
d112d714b9
clang-tidy readbility fixes
2017-09-10 15:46:54 +02:00
rbock
0d6c63ce20
Use clang-tidy modernize fixes
2017-09-10 15:45:07 +02:00
rbock
a17a78c5c2
Adhere to clang-tidy warning about boolean readability
2017-09-10 15:21:24 +02:00
rbock
63b40527ee
Use clang-tidy to prevent else after return
2017-09-10 15:12:45 +02:00
rbock
6a9715b59d
Use clang-tidy to wrap single-line blocks into {}
2017-09-10 15:05:34 +02:00
rbock
f4612061d7
Make portable static assert explicit
2017-09-10 15:01:14 +02:00
rbock
c09a0b5ee8
Use clang-format to explicitly mark unused parameters
2017-09-10 14:58:51 +02:00
rbock
306ce63f2f
Use clang-format to add closing namespace comments
2017-09-10 14:56:51 +02:00
rbock
ac765993aa
Use clang-format to streamline include guards
2017-09-10 14:55:11 +02:00
rbock
9ac0775699
Add virtual destructors for virtual base classes.
...
Thanks to new warnings in gcc-6.x
2017-09-10 10:13:37 +02:00
rbock
a2e7e56f70
Fix missing include.
2017-08-16 11:33:31 +02:00
Théo DELRIEU
8079d6c144
add missing <string> include in schema.h
2017-08-10 13:22:40 +02:00
rbock
307da227ac
Merge branch 'release/0.50'
2017-07-16 07:52:02 +02:00
Serge Robyns
392b257694
Fixed incorrect usage of string::find
2017-07-15 15:56:13 +02:00
rbock
64498654b7
Fixed some clang warnings
2017-06-25 13:01:43 +02:00
rbock
7422cb9e3b
Compile with both, MSVC 2015 and 2017
...
Make MSVC 2017 accept the code as well
MSVC still has problems with variadic templates...
Adjust README, do not do debug build (reduce load for appveyor)
2017-06-25 12:53:21 +02:00
Roland Bock
801428d4cf
Merge pull request #171 from volka/isolation_level
...
Add an option to set a transaction isolation level in start_transaction
2017-06-03 11:40:51 +02:00
Volker Aßmann
ee20a8be67
Fix missing not
correctly by including ciso646
2017-06-01 23:26:07 +02:00
Volker Aßmann
b51714eb48
Cleaned up start_transaction overloads
2017-06-01 23:18:15 +02:00
Volker Aßmann
c92571862d
Replace "not" with "!" to fix Visual C++ issue
2017-06-01 12:47:14 +02:00
Volker Aßmann
f2ea61052e
Add an option to set a transaction isolation level to the generic
...
transaction interface and the connecctor api
2017-05-31 22:43:57 +02:00
Roland Bock
8238853d30
Merge pull request #160 from sergeken/master
...
Added for update support (issue #145 )
2017-04-10 12:28:30 +02:00
Serge Robyns
4ae55e238e
Changed copyright message
2017-04-10 11:12:27 +02:00
Serge Robyns
62a5ec3e3e
Added for update support
2017-04-09 11:17:55 +02:00
Frank Park
9f26495ced
Reordered template arguments
2017-04-02 11:06:12 -04:00
Frank Park
71a234c4ba
Split pool_connection to separate file, add reconnect_policy
...
Also expanded class template and constructor of connection_pool to allow
lazy instantiation, added helper function make_connection_pool to make
instantiation lazier.
2017-04-02 10:48:14 -04:00