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