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

491 Commits

Author SHA1 Message Date
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
rbock
69337fd7ca Added first draft of custom query 2014-10-27 17:36:33 +01:00
rbock
23d0bc91a1 Make result methods templates of their statement, not their statement's policies 2014-10-27 07:31:37 +01:00
rbock
b3ef68101f Fixed bug in in() serialization
in(select(...)) did have an extra set of braces, which lead to different behaviour.
Thanks to Thomas Marsh for finding the bug
2014-10-03 08:51:27 +02:00
rbock
11950bc0c7 Added static assert to give clearer error message for dynamic_xy 2014-09-29 13:45:29 +02:00
rbock
a4721ff31e Fixed serialization of multiple dynamic query elements. 2014-09-29 12:05:35 +02:00
rbock
ef0672a97a Minor cleanup 2014-09-26 16:33:47 +02:00
rbock
7c80a2a6e0 Renamed named_expression to selectable 2014-09-26 09:03:26 +02:00
rbock
6dbdd39ce1 Ensure that expression do not contain aggregate functions 2014-09-17 23:03:51 +02:00
rbock
3cab459077 Added tag to indicate that an expression contains an aggregate function 2014-09-17 22:22:45 +02:00
rbock
10fa8693cc Minor fix (less error spew for 'like') 2014-09-06 04:16:22 +02:00
rbock
b15fa64c55 Added missing include 2014-09-01 12:08:47 +02:00
rbock
2dcd2918d3 Added operators to the 'like' member_t 2014-08-27 22:53:22 +02:00
rbock
4ac4b1820b Removed stray sqlpp namespace qualifiers
The usage was very inconsistent. Also, I just saw that the current VC++
cannot deal with qualifiers in combination with template aliases
2014-08-27 20:43:09 +02:00
rbock
a514e6bf5e Minor cleanup 2014-08-27 20:26:01 +02:00
rbock
3dfed5b85c Added derived_statement_t alias 2014-08-27 20:10:31 +02:00
rbock
7b85b3fb03 Added include for MSVC to understand and and or 2014-08-27 18:33:32 +02:00
rbock
a4429f0f19 Sprinkled in a few const qualifiers 2014-08-27 09:23:07 +02:00
rbock
1d52d59e57 Added a few comments for better orientation 2014-08-26 23:33:05 +02:00
rbock
5ddaaeeac8 Meta function for accessing the lhs and rhs of an expression 2014-08-26 23:32:29 +02:00
rbock
e59dc3862a An alias for creating a new statement type 2014-08-25 21:22:22 +02:00
rbock
f478e7c8e8 Applied new member_t to remaining places 2014-08-25 18:31:01 +02:00
rbock
61da179143 Minor code cleanup 2014-08-25 08:51:40 +02:00
rbock
2c23769cdf Moved operator and parameter templates out of value classes, added member template
These templates are nicer when used.
2014-08-25 08:43:42 +02:00
rbock
8d8b358092 Removed obsolete tags from value types 2014-08-25 06:05:42 +02:00
rbock
83fd052cf5 Fixed duplicate column detection in insert and update 2014-08-24 12:28:49 +02:00
rbock
fd054d8a5a Fixed operators += et al 2014-08-22 12:26:48 +02:00
rbock
15c778844b Added a few missing const qualifiers 2014-08-21 13:21:49 +02:00
rbock
10853abb0a fixed static_assert message wording 2014-08-21 13:21:27 +02:00