Roland Bock
1d5caca523
Allow value_or_null to be assigned to parameters ( #435 )
2022-04-02 08:27:38 +02:00
Mike Neilson
03671ea75e
Fixed ddl2cpp test setup and checks.
...
cmake file contained extra parameter that appears to no longer be used.
bad_has_parse_error test output check was not longer valid.
2022-03-11 07:47:22 +01: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
Jürgen Hunold
f7f2060c44
Add support for TIME columns in postgresql
2022-02-08 18:24:15 +01:00
Jürgen Hunold
b2166c636b
Untabify test list
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
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
181cc5fb04
Fix compiler warnings.
2021-12-11 19:53:35 +01:00
Roland Bock
91b7b34557
Fix broken test code, see #400
2021-12-11 19:31:25 +01:00
Andreas Sommer
36d3d30254
Support MySQL connect timeout option
2021-12-10 10:57:06 +01:00
Leon De Andrade
d17bce9644
Add Connector CMake Logic ( #394 )
...
Add Connector Cmake logic
* Also install date when used with fetch content
* Install everything always
* Update documentation
* Add option to control dependency searching
* Adjust travis
2021-12-02 07:45:38 +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
13698d07c9
Fix compile error for c++11
2021-11-11 07:21:28 +01:00
Roland Bock
8572c821aa
Streamline test names and locations
2021-10-11 10:31:25 +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
136b533fcf
Added shift left and shift right operators.
2021-09-04 13:40:03 +02:00
Roland Bock
0181639cb3
Add test for table alias.
2021-09-04 11:05:49 +02:00
Roland Bock
04629c1b92
Fix warning
2021-08-22 12:47:17 +02:00
Roland Bock
64aba48cb9
Make sqlite3 connector header-only
2021-08-22 12:44:34 +02:00
Roland Bock
2bb68cc443
Add time_point test for value_or_null
2021-08-22 11:39:48 +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
2c1cc8ec89
Make mysql DateTime tests a bit stricter
2021-08-14 10:27:31 +02:00
Roland Bock
25a8dfa292
Add dynamic_insert_into test.
2021-08-06 10:14:24 +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
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
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
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
4178942015
Document multi_insert for time_point columns ( #367 )
2021-06-13 07:55:22 +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
rbock
268c176d8a
Adjust sample.sql and ddl2cpp to match Sample.h
2019-10-05 10:20:15 +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
60267ab952
Added an example for reading time point values
2019-04-18 09:02:16 +02:00
rbock
c729387ab6
Allow INSERT INTO from SELECT
2019-04-11 11:30:25 +02:00
Daniel Evers
460557c6e0
Added string_view tests and C++17 tests for travis
2019-02-02 11:00:59 +01:00
rbock
cf02a444d7
Add custom query insert example
2019-01-23 15:34:47 +01:00
rbock
7e2e1abbfc
Add example for MYSQL's ON DUPLICATE KEY UPDATE
2018-12-24 17:32:16 +01:00
rbock
dd73319bcf
Add boolean expression test
2018-12-07 09:42:43 +01:00
Roland Bock
1f1ec60374
Merge pull request #246 from sjoubert/test_functions_typo
...
Fix typos in function's tests
2018-08-14 06:46:20 +02:00
Sylvain Joubert
114b9ab77a
Add support of value_or_null in multi-insert
2018-08-13 21:31:09 +02:00
Sylvain Joubert
3faa8fa8bc
Fix typos in function's tests
2018-08-13 12:59:30 +02:00
rbock
cc96fc44ef
Formatting...
2018-06-01 09:53:39 +02:00
dcojan
e5b9e0a4f3
add an unsigned integer field in tests/Ppgen.cpp
2018-05-13 11:17:42 +02:00
rbock
33ed5b11ac
Added example for recursive CTE
2018-04-19 07:04:42 +02:00
niXman
7d8fdaa9df
real type support added for ppgen(part 2)
2018-04-12 13:56:20 +03:00
rbock
3f3cfbbd94
Add blob data type
2018-03-10 20:49:57 +01:00
rbock
1e029807da
Add blob data type
2018-03-10 07:45:01 +01:00
Bartosz Wieczorek
e50ee42364
add set(tuple<...>) implementation for insert and update statements
2018-02-15 07:55:43 +01:00
rbock
3a6e4d93ec
Merge branch 'develop' of https://github.com/rbock/sqlpp11 into develop
2017-11-06 21:37:36 +01:00
rbock
e921d81049
Use using in remove test
2017-11-06 21:36:52 +01:00
Roland Bock
f1c0071a35
Merge pull request #195 from Erroneous1/feature_result_size
...
Allow result_t to have a size() function
2017-10-25 19:18:29 +02:00
Aaron Bishop
d724909864
fixed issues with test_types/result_row.cpp
2017-10-25 11:47:57 -04:00
Aaron Bishop
1db9ccfd7c
Created separate MockSizeDb
...
Removed size() from MockDb
2017-10-23 20:03:37 -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
f3b915cdc9
Add new example to custom_query tests
2017-10-21 19:03:01 +02:00
rbock
06cbe05b08
Add more tests for verbatim
2017-10-21 16:55:11 +02:00
rbock
f6cb213e55
Fix without_table_check for alias expressions
2017-10-16 20:43:07 +02:00
niXman
7fa7720c87
support for date/datetime/timestamp types added for ppgen
2017-10-07 13:20:30 +03:00
rbock
c09a0b5ee8
Use clang-format to explicitly mark unused parameters
2017-09-10 14:58:51 +02:00
rbock
cd778444d6
Merge branch 'release/0.49'
2017-06-04 15:58:40 +02:00
Roland Bock
a69230b930
Merge pull request #173 from volka/isolation_level
...
Implemented get/set_default_isolation_level() functions
2017-06-04 15:54:47 +02:00
Volker Aßmann
9d395c2bc6
Fix typo
2017-06-04 15:19:00 +02:00
Volker Aßmann
a55d986def
Implemented get/set_default_isolation_level() functions to change the
...
transaction isolation level default per-connection
2017-06-04 13:57:41 +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
9413206bd1
Hide the "isolation_level" member of the MockDb to make it explicit that
...
this is only used for mock validation
2017-06-03 11:20:18 +02:00
Volker Aßmann
b51714eb48
Cleaned up start_transaction overloads
2017-06-01 23:18:15 +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
rbock
d0c6cc103a
Re-insert accidentally removed test for ppgen
2017-05-10 07:44:05 +02:00
Serge Robyns
62a5ec3e3e
Added for update support
2017-04-09 11:17:55 +02:00
Roland Bock
33b69279d7
Merge pull request #143 from theodelrieu/develop
...
Enhancements to result_t::iterator
2017-03-07 10:13:48 +01:00
Théo DELRIEU
d50c65996a
add iterator_category field to result_t::iterator
...
default value is std::input_iterator_tag, connections should specialize
the sqlpp11::iterator_category struct defined in result.h to override
that value
2017-03-07 09:40:02 +01:00
rbock
f88efada67
Allow for "IF NOT EXISTS" in createTable in ddl
2017-03-05 19:50:55 +01:00
rbock
7c20a68e0b
Fixed result types for signed OP unsigned
expressions.
2016-11-12 10:35:03 +01:00
rbock
c6062116f8
Added a few more UNION tests
2016-11-01 18:38:09 +01:00
Andreas Sommer
609766a9fe
Allow dynamic sort order
2016-09-16 19:30:17 +02:00
rbock
94a0eee117
Enforce unsigned integral values for limit and offset
2016-09-06 22:34:59 +02:00
rbock
2cafb56266
Improved a few assert wrapper names
2016-09-04 10:44:14 +02:00
rbock
5d09b736b6
Better failure return values for union
...
There are still a lot of untestable static_assert, but one thing at a
time...
2016-09-01 21:57:15 +02:00
rbock
1a0f0ea0ab
Everything compiles again.
2016-09-01 21:46:42 +02:00
rbock
637e0ad4d9
Better failure return types for update and remove
2016-09-01 18:31:03 +02:00
rbock
36afa04bcd
Adjusted insert to use wrapped asserts as failure return
2016-09-01 12:51:04 +02:00
rbock
cf83978118
Migrated select clauses to returning wrapped asserts
...
This helps a lot in testing static asserts (and debuging expressions
with MSVC)
2016-09-01 12:06:40 +02:00
rbock
57797ffffa
Added for_each_field function
2016-08-17 09:51:24 +02:00
rbock
d061010fc3
Merge branch 'release/0.39'
2016-06-19 11:59:28 +02:00
strangeqargo
61d0da2ec6
ddl2cpp tests
2016-06-12 22:34:26 +03:00
rbock
03ab507f69
Some formatting
2016-06-05 21:35:49 +02:00
rbock
75978ae092
Merge branch 'Erroneous1-feature/time_of_day' into develop
2016-06-05 21:29:22 +02:00
Aaron Bishop
2f1f34d0b1
fixed some expressions, added tests
2016-05-23 08:24:35 -04:00
Aaron Bishop
6bdf5ef1ee
updated copyright
2016-05-23 08:16:27 -04:00
Aaron Bishop
a8fa0ddba0
reset to master, added unsigned_integral, removed time_of_day
2016-05-20 07:09:48 -04:00
Aaron Bishop
ce7b949e1b
Added time_of_day data_type
2016-05-19 08:53:56 -04:00
rbock
690028fb84
Added test to prepare statement with zero parameters
2016-04-24 10:30:06 +02:00
rbock
91defe2450
MSVC update 2 already has std::chrono::floor
2016-04-17 10:45:31 +02:00
rbock
3e008a2b04
Intermediate state
2016-04-06 10:16:35 +02:00
rbock
0b8ccaa985
Added insert_set to create first custom insert
2016-03-31 07:11:41 +02:00
rbock
a8b9014fc2
Enforce having expression to consist of aggregates
2016-03-20 09:13:50 +01:00
rbock
452175b514
Removed extra_tables (use without_table_check) instead
2016-03-20 09:13:50 +01:00
rbock
201b060d24
Added explicit without_table_check function
...
This removes the "required" tables from an expression
2016-03-20 09:13:50 +01:00
rbock
a836e8c8d8
Simplified where() to have one argument only
2016-03-20 09:13:50 +01:00
rbock
aceede57eb
Fixed outer-tables for joins, added tests
2016-03-20 09:13:49 +01:00
rbock
d15cb2a410
Added "real" cross join
2016-03-20 09:13:49 +01:00
rbock
cf5ddfde00
Added portable static asserts for joins and first static tests
2016-03-20 09:13:49 +01:00
rbock
5e96551f83
Prevent unconditional joins, and naked bool in where() or boolean expressions
...
- `.from(t1, t2)` produces an unconditional join if you forget to add a condition in the .where()
sqlpp11 therefore now deprecates unconditional joins.
- more often than not, writing something like `where(name == "doe")`, you
meant to write `where(t.name == "doe")`. It is hard to find bugs when
the former expression compiles because you happen to have a variable
`name` in the current scope as well.
sqlpp11 therefore now deprecates `.where(bool)` and disallows
raw bool values boolean expression like `something and bool`
wrap bools in sqlpp::value(), if you REALLY want a bool value here
2016-03-20 09:13:49 +01:00
rbock
6dcdc419c1
Merge branch 'release/0.35'
...
Conflicts:
README.md
2015-12-29 11:03:17 +01:00
rbock
cda1249b69
See what MSVC says in case of an invalid conversion
2015-12-28 18:24:59 +01:00
sliser
b812ed5120
fixed appveyor build
2015-12-28 16:42:26 +03:00
sliser
761b5e53ab
added msvc workaround
...
fixed minor bugs
2015-12-28 12:58:30 +03:00
rbock
820195b303
Turned off is_regular for msvc
2015-12-28 10:39:53 +01:00
rbock
b89e4c3e4f
Fixed a bunch of missing initializations
2015-12-27 22:25:05 +01:00
rbock
02f4dd1793
Migrated case to portable static assert and added static tests
2015-12-24 21:11:00 +01:00
rbock
b41f1add8c
Made no_value to a more complete value type
...
This allows to select NULL via a case statement (seems to make more
sense than disallowing it).
2015-12-23 16:01:45 +01:00
rbock
0471d732f9
Added CASE expression
2015-12-23 11:50:40 +01:00
rbock
f029e5993b
Allow in() and not_in() to have zero arguments
...
This is then equivalent to in(value_list(some_empty_vector)) and
not_in(value_list(some_empty_vector):
tab.a.in() evaluates to false
tab.a.not_in() evaluates to true
2015-12-19 15:15:04 +01:00
rbock
21f587e80d
Merge branch 'feature/re-organize-value-types' into develop
...
Conflicts:
.travis.yml
2015-12-13 17:25:28 +01:00
rbock
333e55ea6d
Dynamic select did not accept some non-dynamic clauses.
2015-12-11 14:42:28 +01:00
rbock
29bf1529e4
Moved operators back into expression base class
2015-11-08 19:14:49 +01:00
rbock
5556880bb9
Turned a few operators into free functions.
...
This might be problematic since they are not selective enough. In
particular, they even take the result values...
2015-11-08 15:12:40 +01:00
rbock
173d6adbc9
Moved data types into separate folder, split boolean
...
Each file within data_types/boolean/ is relatively short and easy to
grok.
2015-10-29 22:21:46 +01:00
rbock
84ab264702
Renamed date/date_time to day_point/time_point
2015-10-29 16:41:45 +01:00
rbock
5e83929555
Date/time adjustments, including date cannot be assigned with timestamp
...
This is inspired by sqlite's behaviour: If you have a date column (say
colDate) and update it with
colDate = DATETIME('2015-01-01T20:20:20);
colDate will contain the date time, not just the date (while the
connector would probably just read the date part). In order to prevent
this kind of inconsistencies, date can be assigned only with dates, not
with timestamps.
2015-10-29 15:51:26 +01:00
rbock
73e8f04127
Several minor date/time fixes, new tests
2015-10-28 20:52:43 +01:00
rbock
56d312a59b
Added compile time tests for date and date_time
2015-10-13 21:25:10 +02:00
rbock
b0d89520a6
Added a bunch of tests for static_assert in insert
2015-10-06 22:08:44 +02:00
rbock
3c699a51b6
Added test folder for static assert tests (more tests will follow)
2015-10-03 21:20:01 +02:00
rbock
bd55f3db5b
Added several tests for static_assert (plus fixes for aggregates)
2015-10-03 20:11:55 +02:00
rbock
bd385f7377
Added check if all selected columns are aggregates if group_by is present
2015-10-03 17:00:53 +02:00
rbock
e152e29107
run_check and prepare_check now contain the serialize check
2015-09-17 11:46:37 +02:00
rbock
bcf18f98fc
Shut up warning in Xcode 7
2015-09-13 23:29:58 +02:00
rbock
09f23cea0a
Reformatted using clang-format
...
Please use clang-format before submitting code, e.g via the pre-commit
supplied in the repo (thanks AndiDog)
2015-09-13 21:33:19 +02:00
Reto Schneider
5756b2355f
Remove trailing spaces.
2015-08-05 14:43:21 +02:00
rbock
34376bdd28
Fixed compile error for clang-3.4 and gcc-4.8
2015-07-05 13:40:06 +02:00
rbock
864bd58eff
More functions are now auto-aliased
2015-07-05 11:51:49 +02:00
rbock
bbe933f943
count is the first auto-aliased function
...
If used in an expression, count does not have an alias.
If used as a field in a select, it does have an alias.
2015-07-05 11:08:13 +02:00
rbock
303ee750ad
Added test for selecting a constant value
2015-06-26 16:16:07 +02:00
rbock
61077f471c
Merge branch 'develop' of https://github.com/rbock/sqlpp11 into develop
2015-06-01 22:13:56 +02:00
rbock
b062f2ade7
Revert "Replaced char[] with char[<sizeof>] to please MSVC 2015"
...
This reverts commit 30a3a6b2ff
.
2015-06-01 22:12:32 +02:00
Jürgen Hunold
f3bed37a21
Do not set gcc/clang options when using msvc
2015-06-01 19:00:13 +02:00
rbock
0807e57958
Fixed warnings about missing initializers
2015-05-30 16:45:06 +02:00
rbock
947bf9ddd3
Fixed tests (prevent two tests from being executed with MockDb)
2015-05-30 16:44:10 +02:00
rbock
8d356f55ce
Fixed warnings about unused parameters
2015-05-30 16:19:23 +02:00
rbock
0f3c239283
Merge branch 'develop' of https://github.com/purpleKarrot/sqlpp11 into purpleKarrot-develop
2015-05-30 15:25:54 +02:00