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

919 Commits

Author SHA1 Message Date
Frank Park
30caa5d878 changed async connection to a wrapper instead of derived class 2017-03-29 01:07:15 -04:00
Frank Park
4fa79d552a Added async_connection to comply with RAII 2017-03-27 04:58:49 -04:00
Frank Park
6b36cd56f1 disable connection pooling on construction 2017-03-27 00:50:59 -04:00
Frank Park
5f0a5dd0e9 rename function 2017-03-26 21:53:09 -04:00
Frank Park
b05c968bb2 add is_connection_compatible along with some minor changes 2017-03-26 21:52:33 -04:00
Frank Park
de2204c07f add copyright notice and comment on free_connection 2017-03-25 17:01:12 -04:00
Frank Park
269a72bd93 change container to stack of unique_ptr 2017-03-25 07:14:36 -04:00
Frank Park
8048337068 fix namespace error 2017-03-25 06:01:48 -04:00
Frank Park
348e5d6489 Added a generic connection pool
Added a very basic outline of a generic connection pool. It should be
thread-safe, but still needs a lot of work.
2017-03-25 04:24:22 -04:00
rbock
dff7e408bb Added missing include. 2017-03-17 10:43:05 +01:00
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
rbock
a452438cad Removed the slightly annoying _tag from data_types 2015-11-01 19:26:49 +01:00
rbock
929a543d8c Minor cleanup 2015-11-01 11:22:56 +01:00
rbock
3cbeb8b196 Eliminated redundant ValueType parameter from result_field_t
Got rid of a bunch of static_asserts checking that the redundant
parameter actually matched.

Also discovered that serveral result_field operator<< specializations
were unnecessary (removed those).
2015-11-01 11:10:33 +01:00
rbock
f9f1186df0 Moved aggregate functions to folder, added can_be_null attributes
count cannot be null, all others can if there are no lines to max or min
etc
2015-11-01 10:10:45 +01:00
rbock
30f073d02d Moved result_field implementation to result_field_base
Much less boiler plate code this way
2015-11-01 09:32:47 +01:00
rbock
76af86a572 Renamed result_field_methods result_field_base 2015-10-31 19:38:12 +01:00
rbock
00fb11b2d4 Cleaned up result_field_methods
Much less clutter (and fixed null_is_trivial handling, I think)
2015-10-31 19:26:07 +01:00
rbock
a73572ecba Some renaming cleanup 2015-10-31 18:22:32 +01:00
rbock
f6f8eb0bef Fixed serialization of result fields 2015-10-31 18:04:16 +01:00
rbock
51fd8c7007 Removed warning for column_types include 2015-10-31 11:04:30 +01:00
rbock
fae1f08d93 Added storage type to parameter_value_base struct
This allows to store bool as signed char, the latter being the usual
data type in connector libraries afaict
2015-10-31 11:03:20 +01:00
rbock
21d633bdf4 Merged <data_type>/serialize.h into operand and result_field 2015-10-31 10:20:35 +01:00
rbock
de1e8f27a4 Utilize parameter_value_base for the remaining data types 2015-10-30 23:48:07 +01:00
rbock
f48e807ce5 Started to use parameter_value_base to simplify parameter_value code 2015-10-30 23:24:42 +01:00
rbock
37b7966ab2 Split day_point and time_point 2015-10-30 21:47:31 +01:00
rbock
45c3f4b4cc Split text.h, some fixes and moved like and concat to text 2015-10-30 19:48:53 +01:00
rbock
4ae843b502 Distributed floating point include 2015-10-30 16:12:17 +01:00
rbock
6702bc8479 Split integral.h into several sub files 2015-10-30 11:05:46 +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
31b7ac4c4a Cleaned up date/time structs a bit 2015-10-27 16:13:36 +01:00
rbock
56d312a59b Added compile time tests for date and date_time 2015-10-13 21:25:10 +02:00
rbock
d1a3ab596a Prepared basic expression operators for compile time tests 2015-10-09 21:12:23 +02:00
rbock
553dc5b016 Using portable static asserts for the basic expression operators now
The return type yet needs to be adjusted
2015-10-09 07:24:05 +02:00
rbock
407136c44e Added a date_time column type 2015-10-08 16:08:04 +02:00
rbock
41709f38ec Added date data type. 2015-10-07 21:43:19 +02:00
rbock
6badf8d135 Cleanup 2015-10-07 20:49:16 +02:00
rbock
547d1863f7 Started to replace static asserts with portable static asserts for testing 2015-10-04 14:43:19 +02:00
rbock
7068c8c26c Fixed logic::none_t 2015-10-03 20:46:43 +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
25ff700c01 Partially reverted all_t et al to avoid warnings about unused variables 2015-10-03 10:17:59 +02:00
rbock
1f104a10ac Slightly simplified logic::all_t and logic::none_t 2015-09-30 16:49:18 +02:00
rbock
e152e29107 run_check and prepare_check now contain the serialize check 2015-09-17 11:46:37 +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
2b8a36aa97 Added support for empty in() and not_in()
I wonder why SQL does not have that anyway.
2015-07-05 13:53:38 +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
b062f2ade7 Revert "Replaced char[] with char[<sizeof>] to please MSVC 2015"
This reverts commit 30a3a6b2ff.
2015-06-01 22:12:32 +02:00
rbock
0807e57958 Fixed warnings about missing initializers 2015-05-30 16:45:06 +02:00
rbock
8d356f55ce Fixed warnings about unused parameters 2015-05-30 16:19:23 +02:00
rbock
b472d4e12b Merge branch 'develop' of https://github.com/rbock/sqlpp11 into develop 2015-05-30 09:20:25 +02:00
rbock
30a3a6b2ff Replaced char[] with char[<sizeof>] to please MSVC 2015 2015-05-29 20:06:21 +02:00
niXman
07b5ae33c4 fixes & changes to ppgen 2015-05-19 16:44:23 +03:00
niXman
0e86a5a666 suppress the warns about the unused vars 2015-05-19 10:38:34 +03:00
rbock
bcc085f819 Cleaned up concat_t and added concat method 2015-05-05 08:18:39 +02:00
rbock
a915f36b46 Minor fixes 2015-05-01 18:19:00 +02:00
rbock
4fbcf77926 Disallow table alias for insert 2015-05-01 18:18:08 +02:00
rbock
a6a969a4d8 Added schema qualified tables` 2015-04-30 21:32:50 +02:00
rbock
1f841d2b2b Pacify g++-5.0 (which detected ambiguities) 2015-03-22 12:27:52 +01:00
rbock
cdf86695d1 Fixed a bunch of shadowing warnings issued by g++
A bit over the top in some places, I think
2015-03-21 11:41:07 +01:00
rbock
465a8e700c Fixed serialize check for tvin expressions 2015-03-13 21:47:41 +01:00
rbock
3ca69bf8b8 Updated return types for executing custom queries 2015-03-08 21:06:30 +01:00
rbock
21621f81c8 Added -Wshadow and un-inlined namespace alias
Not sure if inlining alias was a good idea to begin with...
2015-03-08 20:19:01 +01:00
rbock
47150e1fdb Added missing inline to free function 2015-03-08 20:17:10 +01:00
rbock
30834ab9db Fixed value_list for sets 2015-03-08 20:15:16 +01:00
rbock
6591d38bab Added table() method for columns. 2015-03-07 09:40:06 +01:00
rbock
028af83fe7 Fixed UNION DISTINCT to not serialize DISTINCT
sqlite3 does not support the keyword in UNION, and for others DISTINCT is the default
anywy
2015-03-05 18:01:59 +01:00
rbock
3b2f666b53 Fixed serialization of recursive common table expressions 2015-03-04 07:43:15 +01:00
rbock
8910220b6c Minor cleanup 2015-02-24 08:09:17 +01:00
rbock
57ceefbd0c Added missing checks for aggregate functions 2015-02-24 08:02:14 +01:00
rbock
c9401d4b00 Cleaned up requirements for sub-selects as tables 2015-02-17 22:14:05 +01:00
rbock
cc829a8704 Replaced parameter tuple with paramter type vector 2015-02-17 21:39:54 +01:00
rbock
1e9910b12f Replaced node tuple by node type vector 2015-02-17 08:03:19 +01:00
rbock
436ef67072 Replaced recursive traits with local traits which are evaluated recursively
Ok, that sounds weird...

Earlier, each node in the SQL tree had a struct containing all recursive
traits. This is now gone. It only contains a reference to all sub nodes
and its own specific traits.
2015-02-17 07:05:41 +01:00
rbock
97de6fad7f Adjusted license dates 2015-02-15 19:00:21 +01:00
rbock
437607813c Table aliases must not use braces for tables but for sub selects 2015-02-15 16:54:03 +01:00
rbock
9e1ecaf15a Fixed weird compiler crash with gcc-4.8.2
I have no idea why this is helping, but it does.

I need to invest some time to simplify the templates so that compilers
aren't as stressed with it.
2015-02-15 16:41:08 +01:00
rbock
80bc0fcf5e Merge branch 'feature/with_cte' into develop 2015-02-15 16:07:15 +01:00
rbock
da0d47a805 Fixed conditions for using sub select as alias 2015-02-15 16:06:14 +01:00
rbock
a09c79b234 Removed a few stray semicolons 2015-02-15 13:10:39 +01:00
rbock
2c463b2b51 Added missing includes 2015-02-13 16:26:45 +01:00
rbock
18b36bf46a recursive ctes seem to be basically working 2015-02-12 18:05:19 +01:00
rbock
73097e989f Mapping ctes to cte_references when used in from, helping with serialization 2015-02-11 19:06:16 +01:00
rbock
a5c8b40b07 Adjust WITH clause to serialize RECURSIVE where required 2015-02-09 18:44:25 +01:00
rbock
f50500ba8b Fixed a few superflous semicolons 2015-02-09 18:39:03 +01:00
rbock
7e36281e5d Fixed a few stray semicolons 2015-02-09 07:36:53 +01:00
rbock
c4d77372cf The first recursive cte compiles 2015-02-08 19:47:33 +01:00
rbock
ee3d803c33 Added a few cte checks, fixed logic of requiring and providing ctes 2015-02-08 18:26:36 +01:00
rbock
b60df812e1 Split union data from union, to be used in ctes, as well 2015-02-08 18:26:00 +01:00
TyRoXx
3cef1a1217 enable -Wpedantic and fix all the warnings
Conflicts:
	examples/select.cpp
	include/sqlpp11/interpret_tuple.h
	include/sqlpp11/type_traits.h
2015-02-07 15:07:33 +01:00
rbock
aa9c8dcfce A few FIXME's regarding remaining stuff for with clauses and ctes 2015-02-07 14:42:29 +01:00
niXman
504bf961a6 fix for previous commit 2015-01-31 01:36:39 +02:00
niXman
2b7d1ad54a BOOST_PP_TUPLE_POP_FRONT() added & files reorganized 2015-01-31 01:26:18 +02:00
rbock
2adf529445 First with-query compiles 2015-01-29 19:17:24 +01:00
niXman
256060c2d7 The first working implementation 2015-01-28 22:54:57 +02:00
rbock
da9ca73788 First test constructing a cte 2015-01-27 18:28:36 +01:00
rbock
abfde5c9a7 Turned alias into an inline namespace which helps with ADL in cte 2015-01-27 18:27:33 +01:00
rbock
12a0d9d698 cte.h compiles 2015-01-27 08:29:10 +01:00
rbock
4112448b5b Some ideas 2015-01-19 09:17:21 +01:00
rbock
08de44e8a8 Union works with static results only 2015-01-19 09:16:41 +01:00
rbock
1fb83ed9fa Consistency < Prepare < Run
Consistency: No missing table
Prepare: No missing cte
Run: No parameter
2015-01-19 07:26:04 +01:00
rbock
61b0bd9ff8 Can chain unions
And a few more checks
2015-01-15 19:43:56 +01:00
rbock
92e670118a Started to add common table expressions and 'with' 2015-01-13 21:53:29 +01:00
rbock
8488dae0a7 Added a few compile-time checks for unions 2015-01-11 17:10:36 +01:00
rbock
b4f62a5eb6 Union can be used as pseudo-table, allowing to union unions 2015-01-11 14:02:15 +01:00
rbock
a6932070c3 Added a first version of the union function. 2015-01-10 18:30:29 +01:00
rbock
acba273230 Fixed a problem with sub selects in binary operators
There were missing braces for sub selects in expressions like

tab.id == select(max(tab.id)).from(tab).where(true)
2014-12-03 17:21:12 +01:00
rbock
f97dc68428 Fixed missing std:: 2014-11-30 20:19:38 +01:00
rbock
74cafe35dd We now have unique name representations per name
Before this, there could be multiple classes representing multiple id
columns. Now there is one class representing ALL the name "id". Very
important for analyzing potential name clashes.
2014-11-30 19:40:34 +01:00
rbock
d34c22ca5a Simplified serializer a bit 2014-11-29 17:36:09 +01:00
rbock
f02a9ce3d0 Moved logic functions from detail into logic namespace 2014-11-29 14:29:54 +01:00
rbock
9110f6653a Reduced error messages for several clauses 2014-11-29 14:02:24 +01:00
rbock
f62891d25f Merged _member and _methods in clauses to _base
This makes statement_t look much nicer and use less inheritance
2014-11-29 11:10:01 +01:00
rbock
375c277402 Fixed bug in select_columns 2014-11-29 09:45:40 +01:00
rbock
7f97f2bbe7 Reduced error messages for 'using' and update list 2014-11-29 09:18:20 +01:00
rbock
f83d77ddb5 Reduced error messages for select_flags 2014-11-28 11:20:27 +01:00
rbock
94be562167 Reduced error messages for select columns.
Due to the some args being selectables and others being tuples of
selectables, this is a bit more complex than the other clauses.
2014-11-28 10:11:01 +01:00
rbock
8d6816be8b Fixed order_by type check 2014-11-28 10:10:34 +01:00
rbock
bf2744d5f7 Reduced error messages for order_by 2014-11-27 23:18:23 +01:00
rbock
36d1a85339 Reduced error messages for insert value lists 2014-11-27 23:11:46 +01:00
rbock
443614a0e7 Reduced compiler error spew dramatically for from and having. 2014-11-27 22:16:12 +01:00
rbock
0e27cd7138 Added serialize checks for dynamically added stuff 2014-11-26 10:02:48 +01:00
rbock
935baebedb Added more specific static asserts for the consistency checks 2014-11-25 21:46:09 +01:00
rbock
7ba973d9af Added prepare_check 2014-11-25 17:56:51 +01:00
rbock
809d42e4a1 Introduced check for serializability 2014-11-25 17:43:55 +01:00
rbock
e1c007287c Added portable static asserts 2014-11-23 20:06:58 +01:00
rbock
77d737b401 Minor cleanup in type_sets 2014-11-22 21:41:43 +01:00
rbock
cec105f9dd Fixed compile error for gcc 2014-11-17 19:25:23 +01:00
rbock
3f5c48bfd5 Fixed run_check and prepared_check for custom query and prepared statemtents 2014-11-17 19:20:55 +01:00
rbock
0b1b03fedc Added missing consistency check structs 2014-11-17 19:13:45 +01:00
rbock
59734b3f51 Moved static asserts for inconsistency errors much closer to call site 2014-11-17 19:05:22 +01:00
rbock
4ef00a03b2 Added central _run/_prepare methods 2014-11-17 15:03:34 +01:00
rbock
6677266bf5 Added free function versions of select_column_list and from 2014-11-17 13:17:10 +01:00
rbock
e2a7cfa252 Moved tuple include 2014-11-17 13:16:31 +01:00
rbock
02acab8e34 Fixed compilation for g++-4.8 2014-11-09 17:03:32 +01:00
rbock
a20ff91c2d Added missing file 2014-11-09 16:34:48 +01:00
rbock
f6b223138b Added method to set return type of custom query 2014-11-09 16:26:36 +01:00
rbock
548a601026 Added into() free function 2014-11-09 13:00:17 +01:00
rbock
ba1f200ef1 Added free function where() 2014-11-08 15:21:11 +01:00
rbock
be3292b6ce Fixed parameter determination and added execution of void statements 2014-11-05 17:50:46 +01:00
rbock
60042c2dd3 Added run and prepare to noop, allowing void custom queries 2014-11-05 07:27:19 +01:00
rbock
ed7f1f1a93 Added missing file 2014-11-04 07:56:26 +01:00
rbock
e79585b165 Can compile (very simple) custom queries and selects 2014-11-03 17:52:02 +01:00
rbock
514ed4139c First custom query sent to MockDb 2014-10-31 08:28:51 +01:00
rbock
6684ac9ea8 Added first test 2014-10-29 07:34:42 +01:00