Commit Graph

286 Commits

Author SHA1 Message Date
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 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