0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-16 04:47:18 +08:00
Commit Graph

759 Commits

Author SHA1 Message Date
rbock
c0853f7240 Appease MSVC 2017-03-16 21:33:52 +01:00
rbock
26bdaf7eae Fixed memory bug in handling text results in prepared statements. 2017-03-12 12:04:00 +01:00
rbock
862205d1bf Use assign to reduce number of copies 2017-03-12 09:58:04 +01: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
9145a3a4ee More defensive string construction in result set. 2017-03-06 09:14:51 +01:00
Roland Bock
a55ba76c3b Merge pull request #134 from niXman/develop
ppgen reformatted
2017-02-02 15:11:59 +01:00
niXman
56099b7183 clang-format off 2017-01-31 22:44:00 +02:00
rbock
3d28a92a6d Fixed detection of NULL in text results 2017-01-28 11:35:59 +01:00
niXman
5b8b2b16b0 ppgen reformated 2017-01-16 20:59:01 +02:00
rbock
5e52a4da46 Added a few auto alias tests 2016-12-25 21:25:01 +01:00
rbock
ee6aa6e2c5 Silence warning in gcc about unused parameter 2016-12-25 14:44:26 +01:00
rbock
fa8cb7b0af Replaced field_spec_t::is_compatible function with a class template.
Also removed two stand-alone union functions which did not work anyway.

Let's see if MSVC is happy now.
2016-12-25 12:20:00 +01:00
rbock
1b9a4b1594 Replace is_compatible function with class template
MSVC choked on that function (claimed that the number of arguments was
incorrect)
2016-12-25 10:44:22 +01:00
rbock
7c20a68e0b Fixed result types for signed OP unsigned expressions. 2016-11-12 10:35:03 +01:00
rbock
ae37d063a4 Loosen union constraints a bit more 2016-10-11 16:09:49 +02:00
rbock
4dad08653a Maybe easier to grok for MSVC 2016-10-11 07:19:39 +02:00
rbock
fa0fe887b5 Slightly better comparison of row types for unions.
Needs some work for non-static versions
2016-10-10 22:25:53 +02:00
rbock
b0aa23ee87 Merge branch 'develop' of https://github.com/rbock/sqlpp11 into develop 2016-10-07 12:14:29 +02:00
rbock
3963b5065d Added missing pre-generated alias 2016-10-07 12:13:58 +02:00
Andreas Sommer
609766a9fe Allow dynamic sort order 2016-09-16 19:30:17 +02:00
rbock
c4a523b6d6 Merge branch 'release/0.43' 2016-09-13 22:04:51 +02:00
rbock
9559ad1a2a Replaced != with the standard <> 2016-09-13 21:41:00 +02:00
rbock
3d67da2373 Added missing .unconditionally() member functions for joins 2016-09-13 21:37:53 +02:00
rbock
6bdddcc343 Fix braces around sub-selects used as tables 2016-09-13 21:08:01 +02:00
Aaron Bishop
d2b52c1b49 fixed missing include for return_type_not_t 2016-09-10 15:27:22 -04: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
83d5147cd1 Add begin/end to portable static assert to make error messages a bit shorter 2016-09-03 12:35:40 +02:00
rbock
827c8dbf61 The previous fix wasn't.
Found this via build-system tests of static asserts through MSVC.
2016-09-02 22:35:12 +02:00
rbock
d841a7d8a5 Fixed gcc ambiguity bug
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77449
2016-09-02 11:17:30 +02:00
rbock
407718a8a4 Eliminated bad_statement
Using wrapped static asserts now as return types
2016-09-01 22:31:53 +02:00
rbock
39dec1ea39 Better failure return type for cte 2016-09-01 22:15:52 +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
33992a6651 Fixed hidden return type parts in custom query 2016-08-23 18:09:25 +02:00
rbock
82278f80ae Fix hidden return type in custom query 2016-08-23 17:28:16 +02:00
rbock
57797ffffa Added for_each_field function 2016-08-17 09:51:24 +02:00
rbock
471fb7bf14 Fixed typo 2016-07-31 16:47:36 +02:00
rbock
03c92c3616 Added missing include. 2016-07-06 08:47:08 +02:00
rbock
949f1abfc9 Added static_assert tests for update set/dynamic_set 2016-06-19 10:41:31 +02:00
rbock
aeb1ab5e02 Next attempt to pacify MSVC... 2016-06-18 18:54:16 +02:00
rbock
2d34e57c8f Hopefully fixing MSVC compile problem 2016-06-18 18:28:53 +02:00
rbock
47bc9d3942 Merge branch 'Erroneous1-feature/extra_data_types' into develop 2016-06-10 06:52:23 +02:00
rbock
db6dbc5d36 Merge branch 'feature/extra_data_types' of https://github.com/Erroneous1/sqlpp11 into Erroneous1-feature/extra_data_types 2016-06-10 06:51:44 +02:00
Aaron Bishop
fe5f2ef2ef removed datetime and timestamp 2016-06-07 20:43:22 -04: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
rbock
1327699f90 Fixed check for updating fields that must not be updated 2016-06-05 21:23:16 +02:00
rbock
4fa0734acc Merge branch 'Erroneous1-feature/unsigned_integral' into develop 2016-06-04 10:00:12 +02:00
rbock
efeefa8179 Some more portable static_asserts. 2016-06-04 09:58:12 +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
58256e2b79 removed time in favor of feature/time_of_day 2016-05-20 07:28:08 -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
c0494bd98b fixed ctest issues 2016-05-19 21:03:49 -04:00
Aaron Bishop
ce7b949e1b Added time_of_day data_type 2016-05-19 08:53:56 -04:00
rbock
3e6e16f1f0 Added parameter to prevent empty swallow 2016-05-12 15:01:00 +02:00
rbock
3f33eb8554 Get rid of static_cast 2016-05-12 14:36:56 +02:00
rbock
7771ed8269 Added serializer tests for insert 2016-05-11 19:10:23 +02:00
Aaron Bishop
24ca3b2217 added common SQL data types like binary and bit 2016-05-02 08:08:34 -04:00
rbock
38e5b21dbe Fixed regressions occurring in sqlpp11-connector-mysql 2016-04-17 17:31:15 +02:00
rbock
7a483d12b2 Removed two obsolete files 2016-04-17 13:28:16 +02:00
rbock
c63aac480f Choosing the "correct" floor method even with MSVC 2016-04-17 11:03:21 +02:00
rbock
914ecae7c2 Added more tests and fixed dynamic free clauses 2016-04-16 09:51:13 +02:00
rbock
10bdf4cfca Added a few serializer tests for free function select clauses 2016-04-15 18:21:22 +02:00
rbock
1e1b388a67 Added factory functions for several select sub clauses 2016-04-15 09:37:34 +02:00
rbock
cc56faf98c Specific comparison operators
In case we want to turn operator== into a free function, this will
prevent premature instantiation of wrap_operand
2016-04-14 09:59:35 +02:00
rbock
434f6911b7 Trailing return types in basic expression operators 2016-04-10 09:39:38 +02:00
rbock
4d538e8cb2 msvc is not very good with template aliases in variadic templates 2016-04-10 07:53:18 +02:00
rbock
c9f4e1b4a7 More cleanup 2016-04-09 22:50:18 +02:00
rbock
95ffdb2967 More cleanup
... and maybe MSVC will be happy again, too?
2016-04-09 22:24:50 +02:00
rbock
dff0c9942a A bit of cleanup 2016-04-09 21:46:31 +02:00
rbock
0fb188c67d More re-arrangements and preventing self-compare in in() again 2016-04-09 10:55:46 +02:00
rbock
6c1b190dcc Adding back conditions 2016-04-09 10:23:15 +02:00
rbock
403d6b644a Another arrangement 2016-04-09 10:06:12 +02:00
rbock
c199a4f6a4 Re-arrange in() parameter checks 2016-04-09 09:44:52 +02:00
rbock
7abd620465 Trying to appease MSVC 2016-04-08 21:51:00 +02:00
rbock
7bf7388907 Added more tests 2016-04-08 21:09:36 +02:00
rbock
a77f26ffe3 Prevent self-comparison, added more tests, fixed some expression checks 2016-04-07 21:53:19 +02:00
rbock
3e008a2b04 Intermediate state 2016-04-06 10:16:35 +02:00
rbock
90d769520c Merge branch 'develop' of https://github.com/rbock/sqlpp11 into develop 2016-03-31 07:12:22 +02:00
rbock
0b8ccaa985 Added insert_set to create first custom insert 2016-03-31 07:11:41 +02:00
Roland Bock
c2c424f856 Merge pull request #73 from niXman/develop
SQLPP_PRIMARY_KEY & SQLPP_AUTO_INCREMENT is fixed
2016-03-25 07:50:23 +01:00
rbock
712c79cb8a Added static_assert tests for dynamic from.add() 2016-03-24 19:54:16 +01:00
niXman
93211cac5f SQLPP_PRIMARY_KEY & SQLPP_AUTO_INCREMENT is fixed 2016-03-24 12:57:08 +02:00
rbock
dec3f5b3df Migrated from::add() to portable static assert 2016-03-23 08:20:52 +01:00
rbock
cf9ec10ae4 Added table checks for dynamic_join(x).add(y) 2016-03-22 09:23:37 +01:00
rbock
f546805ee2 Made dynamic select column list a bit more customization friendly
See https://github.com/matthijs/sqlpp11-connector-postgresql/issues/8
2016-03-20 09:13:50 +01: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
f3bd2f01ab Removed the add_ntc functions (use without_table_check) 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
1a93218dcc Removed multi-argument option for having 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
b6c5cb8764 Added several serialization tests for from() and joins 2016-03-20 09:13:49 +01:00
rbock
d15cb2a410 Added "real" cross join 2016-03-20 09:13:49 +01:00
rbock
20b74206ae Added tests for dynamic joins 2016-03-20 09:13:49 +01:00
rbock
225d387967 Added portable static asserts for (dynamic) join.on()
Also removed inaccessible code for adding more conditions to on()
dynamically. If someone should ever want that, he/she should use
dynamic_where(), I guess.
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
ab875fc79b Introduced dynamic_cross_join (simplifying dynamic_join) 2016-03-20 09:13:49 +01:00
rbock
20adfb66c9 Made from() testable with portable static asserts, added tests
Added cross_join_t, simplifying join a lot
2016-03-20 09:13:49 +01:00
rbock
f774dca912 Cleaning up static asserts for .where(true) 2016-03-20 09:13:49 +01:00
rbock
8079015d2c Removed where(true). 2016-03-20 09:13:49 +01:00
rbock
15247504f2 Disallow unconditional join (ifdef to get it back)
One day, users of the library have to make the switch anyway, why not
today?
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
6e60dc6630 Moved serialize code to dynamic_select_column_list.h 2016-03-20 09:13:49 +01:00
rbock
d3debe4229 Fixed constructor of result_row.
This accepted just any(!) argument.
2016-01-23 22:04:55 +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
292bc8dd28 fixed test_static_asserts 2015-12-28 13:19:17 +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
d1cc617ae7 Split dynamic where in a specific one for zero arguments (and the old one) 2015-12-28 10:11:18 +01:00
rbock
6ae63dd0be replaced value_type_of, too 2015-12-28 09:47:26 +01:00
rbock
db6ea81668 Well, replaced another template alias (is_boolean_t) 2015-12-28 09:39:16 +01:00
rbock
325d64828e Stop using yet another template alias (contains_aggregate_function_t) 2015-12-28 09:30:02 +01:00
rbock
e364afe38f Replace is_expression_t<> with detail::is_expression_impl<>::type 2015-12-28 09:18:47 +01:00
rbock
bab5b6d8ee Merge branch 'develop' of https://github.com/isliser/sqlpp11 into isliser-develop
Conflicts:
	include/sqlpp11/where.h
2015-12-27 19:57:42 +01:00
sliser
46cb009ba4 added comments regarding msvc bug workarounds 2015-12-27 11:26:29 +03:00
rbock
9a29f41037 Streamlined portable static asserts. 2015-12-25 10:38:13 +01:00
rbock
674af5b215 Simplified consistent_t and portable_static_assert. 2015-12-25 09:59:12 +01:00
rbock
02f4dd1793 Migrated case to portable static assert and added static tests 2015-12-24 21:11:00 +01:00
rbock
899c868f5e Migrated where to portable assertions, added assertion tests to where() clause. 2015-12-24 15:28:07 +01:00
rbock
37c4f5dc6c Prevent aggregate functions to be used within where conditions 2015-12-23 20:27:16 +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
3efae18e08 Friendlier error messages for some case-expressions 2015-12-23 14:45:40 +01:00
rbock
0471d732f9 Added CASE expression 2015-12-23 11:50:40 +01:00
rbock
27033a307c Renamed mus_point into microsecond_point 2015-12-20 13:11:34 +01:00
rbock
62a4dfc4f5 Added optional _post_bind to result fields to allow for conversion in mysql. 2015-12-19 18:19:10 +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
sliser
4e898368fa fixed gcc build 2015-12-16 09:41:01 +03:00
sliser
a6f506b57f fixed build for msvs 2015 update 1 2015-12-15 18:20:33 +03:00
rbock
833eeccd61 Added missing includes 2015-12-13 17:54:01 +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
e70ab35083 Minor cleanup 2015-12-13 16:20:30 +01:00
rbock
333e55ea6d Dynamic select did not accept some non-dynamic clauses. 2015-12-11 14:42:28 +01:00
rbock
a815d2d4ef Migrated remaining types to define return types 2015-11-10 18:52:32 +01:00
rbock
7447363caa Migrated operators for floating_point 2015-11-09 09:49:49 +01:00
rbock
01d4ff6034 Migrated remaining integral operators 2015-11-09 07:40:21 +01:00
rbock
8ae9966f5d Started to migrate integral operators.
Looks good...
2015-11-08 20:07:22 +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
12f7457775 Added convenience enable_if_t 2015-11-08 11:40:48 +01:00
rbock
45917098de Made value_type_of more stable and replaced VALUE_TYPE_TRAITS macro 2015-11-01 20:59:07 +01:00
rbock
9b7e32c9bc Added void_t 2015-11-01 20:58:56 +01:00