0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-16 12:51:13 +08:00
Commit Graph

732 Commits

Author SHA1 Message Date
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
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
rbock
a9339b54ad Fixed all_of(alias_table)
For real this time, I hope :-)
2014-08-21 13:00:40 +02:00
rbock
4974d13600 Fixed all_of(table_alias) 2014-08-21 11:44:07 +02:00
rbock
2bd8bc9bb7 Merge branch 'release/0.25'
Conflicts:
	test_constraints/CMakeLists.txt
2014-08-21 10:57:31 +02:00
Johan
73973f0f48 Fix cygwin-gcc and cmake problems
Fixed warning in CMake
Fixed problem with tuples creation
Fixed problem of stream copy constructor usage
2014-08-20 21:58:57 +02:00
rbock
e5e97d10b6 Added alias operators to wrapped value operands 2014-08-18 21:10:58 +02:00
rbock
13c1b5d8f3 Fix to make sqlpp11 compile with clang-3.1 2014-08-18 15:09:27 +02:00
rbock
d0d5e94bf1 Added eval function for both strings and expressions.
eval wraps whatever you give to it into a select call, sends it to the
database and returns the value as a result field.
2014-08-18 10:46:24 +02:00
rbock
f6ae27b0fe Made "where" non-mandatory if there are no tables involved. 2014-08-17 20:45:27 +02:00
rbock
f1542507ff Moved tests for insert_into(t).columns(...) into function
This reduces and clarifies error messages a bit.
2014-08-15 18:11:24 +02:00
rbock
e21b38901b Added static_assert for required_columns in insert
This constraint had been dropped by accident when restructuring for
statement_t.
2014-08-15 17:56:13 +02:00
rbock
3484903525 Repaired insert to work with expression values again 2014-08-14 23:47:25 +02:00
rbock
1d98fb0198 Added tvin arguments for parameters 2014-08-12 22:00:59 +02:00
rbock
b52591df58 Added bitwise_and and bitwise_or to integral 2014-08-12 22:00:47 +02:00
rbock
ad1c5f94bb Made boolean expression more usable 2014-08-12 18:48:50 +02:00
rbock
c0902f8683 Added constraints that insert and update require some value specs 2014-08-11 21:03:55 +02:00
rbock
27649b3af2 Added support for default values and result fields for insert 2014-08-11 19:17:42 +02:00
rbock
34e64b50d6 Added inline keyword to several free non-template functions 2014-08-11 19:11:15 +02:00
rbock
a59d7ed381 Fixed bug in field index calculation for multi_fields 2014-08-09 20:46:40 +02:00
rbock
c9372eff89 Added serialization to MockDb run methods
Implicitly increased number of serialization tests.
Fixed serialization for logical_not
2014-08-04 18:24:51 +02:00
rbock
cc512d0955 Fixed text field stream operator 2014-08-03 09:27:20 +02:00
rbock
8b5fc67af6 Added generic boolean_expression 2014-08-02 09:18:01 +02:00
rbock
18dc6b1a03 Added value_or_null method/type 2014-08-01 18:21:23 +02:00
rbock
64c4ba029f Adjusted usage of wrong_t.
I think there was a risk of wrong_t based static_asserts firing, if the
template parameters are used. Anyway, this is shorter.
2014-07-31 09:08:00 +02:00
rbock
88d28d6830 Moved value types out of detail namespace 2014-07-31 08:40:13 +02:00
rbock
c88a1097c2 Added some hints 2014-07-31 08:19:00 +02:00
rbock
ff9a6ff8f0 Added missing result_field.h 2014-07-30 23:10:45 +02:00
rbock
f60f1504b8 Extracted result_field_t from value types.
This is a preparation for adding serializer specializations for them
2014-07-30 22:37:07 +02:00
rbock
7c45e8b83f Removed _name_t from and added alias operators to result field.
A result field really is just a value, if you insist on using it as a
select column, give it a name via an alias.
2014-07-30 22:03:11 +02:00
rbock
828106acbd Moved shared result field code into separate file 2014-07-30 17:56:33 +02:00
rbock
c818e110b6 A few minor fixes and cleanup 2014-07-29 09:14:51 +02:00
rbock
b1f1de8a08 Allowing result fields to be used as arguments for queries 2014-07-29 08:57:55 +02:00
rbock
4be53d9933 Fixed a error in type set intersect calculation and in tracking outer tables 2014-07-28 21:36:53 +02:00
rbock
159b4c7152 Fixed error in determining can_be_null for joins 2014-07-28 21:14:20 +02:00
rbock
42179cbc87 Cleaned up traits a bit more 2014-07-28 07:41:59 +02:00
rbock
dd33b8096e Streamlined type traits a bit 2014-07-28 06:54:54 +02:00
rbock
643aab222e Aligned structure of connector traits with other traits 2014-07-28 06:13:30 +02:00
rbock
6d851f17ff Added testability and tests for can_be_null and null_is_trivial in result entries 2014-07-27 19:40:31 +02:00
rbock
12f723d021 Fixed type error in join 2014-07-26 18:06:37 +02:00
rbock
c3d758c776 Renamed _result_entry_t to _result_field_t 2014-07-25 15:33:26 +02:00
rbock
4bf0db5611 Renamed field to field_spec 2014-07-25 15:20:19 +02:00
rbock
e5f055ac19 Using column's can_be_null and connector's enforce_validity 2014-07-25 01:01:42 +02:00
rbock
e21fdb4829 Transport null_is_trivial_value and can_be_null to result fields 2014-07-24 23:02:08 +02:00
rbock
6f056ced8a Transport can_be_null into subselect used as a result column 2014-07-24 17:36:56 +02:00
rbock
556023f921 Added a few reminders which expressions can be null as well 2014-07-24 09:47:30 +02:00
rbock
37a550a489 Use potential outer table dependencies in pseudo tables
The dependency indicates whether a column of a pseudo table can be null.
2014-07-24 09:29:50 +02:00
rbock
b73133d47a Follow outer tables through the statement.
This is important to determine which result column of a select can be
NULL.
2014-07-24 08:57:35 +02:00
rbock
d1e8a0153e Transport can_be_null into select pseudo table 2014-07-23 22:57:11 +02:00
rbock
9c15b45ac4 Made can_be_null a recursive trait 2014-07-23 18:26:13 +02:00
rbock
80f09dc003 Use _traits in column specs 2014-07-23 18:06:33 +02:00
rbock
88062625bf Make sure that tvin is used in the allowed places only 2014-07-22 08:51:17 +02:00
rbock
0f29e255d1 Unified tvin/trivial_value_is_null usage for =,==,!= and ! 2014-07-21 09:53:17 +02:00
rbock
3506182ccf Fixed tvin-handling in assignment 2014-07-21 07:41:34 +02:00
rbock
d8ae9dc778 Fixed type trait code 2014-07-21 07:40:07 +02:00
rbock
69fdaedc0d Adjusted type_traits to compile with clang-3.1, too
The new version is cleaner anyway, since it can be used with any type
now.
2014-07-21 05:33:45 +02:00
rbock
8ed0042b67 Added blob (currently synonym of text) 2014-07-14 18:17:53 +02:00
rbock
abb97b623b Removed remainder of char_result_row interface from fields 2014-06-29 12:52:21 +02:00
rbock
2f20f7ef82 Renamed bind and (in)validate to indicate their usage (vendor only) 2014-06-29 11:35:51 +02:00
rbock
0f9c1dbfb2 Added check to prevent multicolumns in sub selects 2014-06-28 21:05:37 +02:00
rbock
778b0d8816 Added -Wall, took care of a bunch of compiler warnings 2014-06-28 14:41:35 +02:00
rbock
c2d00b14ec Removed char_result_row from result_row 2014-06-27 18:40:57 +02:00
rbock
620f9bef29 Fixed dynamic rows for bind_results 2014-06-27 18:11:12 +02:00
rbock
ff4d93049c removed char_result_row 2014-06-27 17:41:43 +02:00
rbock
bc99c2b240 Added missing file 2014-06-26 22:06:54 +02:00
rbock
1f20d244c7 Added improved check for potential name duplicates in from() 2014-06-26 18:56:07 +02:00
rbock
2266787e94 Fixed another few warnings 2014-06-26 14:35:49 +02:00
rbock
e03366202d Fixed a bunch of warnings 2014-06-26 08:39:08 +02:00
rbock
1267aa252f Added _check_consistency call to all statement parts
For instance, enforce where() to be called
2014-06-24 21:53:25 +02:00
rbock
0b27373314 Adjusted code to work with g++-4.8 as well 2014-06-22 23:37:43 +02:00
rbock
d90b42f52b Added a minimalistic test for including sqlpp11.h 2014-06-22 16:09:19 +02:00
rbock
35f9dab171 Added missing file 2014-06-22 12:01:17 +02:00
rbock
06d1783d81 Cleaned a bit of messy _run() code. 2014-06-20 18:20:24 +02:00
rbock
1d82cf7f09 Fixed a bunch of bugs that came up when integrating with mySQL again.
Thanks Matthijs!
2014-06-20 16:53:52 +02:00
rbock
56e34dbf5e Shortened template for pseudo_column 2014-06-18 18:20:59 +02:00
rbock
5f927572cf Took care of a few warnings 2014-06-14 20:25:11 +02:00
rbock
4ce8f2419b All tests compile again for clang-3.2 2014-06-14 17:57:12 +02:00
rbock
3d26f9a686 Re-animated prepared statements 2014-06-14 17:44:22 +02:00
rbock
ef6c7e0c0d Removed a few obsolete "typename" 2014-06-14 07:49:43 +02:00
rbock
269f2e7e17 Fixed indentations 2014-06-14 07:45:10 +02:00
rbock
09d220541e removed namespace vendor 2014-06-14 07:43:27 +02:00
rbock
060d59125c Moved files from sqlpp11/vendor to sqlpp11 2014-06-13 18:51:51 +02:00
rbock
4d1b60d93a Cleanup
Moved check_consistency call to statement
2014-06-13 09:33:08 +02:00
rbock
f8e0e90477 Fixed serializability of statements 2014-06-09 14:06:04 +02:00
rbock
79aa358624 Added into member for insert.
Update and remove will get table lists with more than one table
2014-06-05 08:32:22 +02:00
rbock
067740d24e InterpretTest compiles again 2014-06-04 18:35:25 +02:00
rbock
d36037472f Migrated update to generic statement 2014-06-04 09:26:10 +02:00
rbock
c866f31ea5 Turned remove into a generic statement 2014-06-03 09:12:27 +02:00
rbock
8d16b6ab2d Migrated insert to generic statement 2014-06-02 23:57:21 +02:00
rbock
7e32a0a3ea Cleaned up minor as() method mess plus some oversights 2014-06-02 07:48:05 +02:00
rbock
3fb6c6c246 SelectTest compiles again 2014-06-02 06:40:22 +02:00
rbock
b00fe51fed Adjusted remaining select parts 2014-05-30 13:43:59 +02:00
rbock
98bb9a7db7 Added policies into members
What a fight...
2014-05-30 12:48:51 +02:00
rbock
408e96af4a Using _member_t to have variadic named members in statements 2014-05-30 10:40:46 +02:00
rbock
76fc2fb397 Moved select-specific stuff into select_column_list
This is a major step towards a generic statements and generic statement
policies.
2014-05-27 18:15:37 +02:00
rbock
a5457e93f7 Started to move statement-specific methods into the result provider classes
First method is: select_t::as()
2014-05-27 11:20:03 +02:00
rbock
d11f529bd8 Minor cleanup. 2014-05-26 07:42:59 +02:00
rbock
c13d514e95 Adjusted update to be variadic 2014-05-23 21:42:27 +02:00
rbock
2a215905fd Migrated remove to being variadic 2014-05-23 20:36:13 +02:00
rbock
22e1e7c531 Migrated insert to be truly variadic 2014-05-22 22:53:08 +02:00
rbock
c4a02d931c SelectTypeTests compile again! 2014-05-20 21:22:55 +02:00
rbock
c81a7d33ae Cleanup 2014-05-20 08:50:55 +02:00
rbock
6d91cf2163 select is now really a variadic template
It is getting ready for customization to reflect vendor specific
statement parts, e.g. order by in update and delete for mysql.
2014-05-19 23:24:41 +02:00
rbock
15e8ca742c A step towards turning select into a really variadic template 2014-05-19 22:54:47 +02:00
rbock
569f0ff2eb Wrote down remaining steps for next release 2014-05-19 08:01:14 +02:00
rbock
bfd13c6743 Determining column_list in a more generic way.
By finding the last parameter which is a return value.
2014-05-19 07:51:24 +02:00
rbock
e39444b0f7 Added tags missing and return_value
missing indicates that a statement part has yet to be added (e.g.
columns in a select).

return_value indicates that a statement part can be used as a return
value.
2014-05-19 06:42:45 +02:00
rbock
f314c6d070 Added recursive_traits to select 2014-05-16 20:06:20 +02:00
rbock
6972758931 Added extra_tables to recursive_traits 2014-05-16 09:33:48 +02:00
rbock
5f4a88c7ce Function tests compile again 2014-05-16 09:18:08 +02:00
rbock
1d905e1db5 Ok, the first few lines of test code compile again. 2014-05-15 23:47:16 +02:00
rbock
d062c1a0d8 Started to rewrite traits and recursive traits
traits are shorter and easier to identify by using tags in a variadic
template

recursive traits can be automatically derived, which makes it much
easier to add new traits to be handed through the expression tree.
2014-05-15 08:00:03 +02:00
rbock
57239d10ed Rewrote result_row implementation to be non-recursive
Cool. This is so much easier to understand now!
2014-05-07 23:56:12 +02:00
rbock
bcdcf7fa64 Added column_index_sequence
This is not necessarily sequential because there might be multi_columns.
2014-05-07 23:54:37 +02:00
rbock
d831f98c9a Made parameter_list's bind non-recursive 2014-05-07 18:51:18 +02:00
rbock
b9133cf3a1 Used index_sequence to get rid of recursion in interpret_tuple.
Wonderful stuff, shaped after code samples from cppreference and
stackoverflow.
2014-05-06 22:41:19 +02:00
rbock
f57ba13955 Added link to boost mailing list
This where I presented the idea for all_t. According to Louis Dionne,
the fastest implementation around :-)
2014-05-06 22:38:30 +02:00
rbock
2124005bd8 Added index_sequence (until it can be used with C++14) 2014-05-06 22:20:24 +02:00
rbock
4c3e73f819 Minor cleanup 2014-05-01 17:41:51 +02:00
rbock
331353022a Rewrote all_t to use bool arguments instead of predicate and classes 2014-05-01 17:34:47 +02:00
rbock
2452f224d4 Rewrote any_t to take bools instead of predicate and classes 2014-05-01 17:12:41 +02:00
rbock
c033feb60f Replaced all_t/any_t by MUCH more performant versions 2014-05-01 14:08:48 +02:00
rbock
adc3545ca1 Fix in insert's add_set error handling 2014-04-24 14:09:33 +02:00
rbock
eef974478c Fixed a few missing types 2014-04-22 22:39:25 +02:00
rbock
f47ef75c24 Added a few checks to insert, update and remove 2014-04-22 22:21:44 +02:00
rbock
d342973ef4 Added check to prevent add_column to use a column name known in the static part 2014-04-22 21:41:53 +02:00
rbock
8f16ded277 Allow columns() method to use all_of_t as well 2014-04-22 21:30:31 +02:00
rbock
0ffd93108b Added a table consistency checks to several dynamic methods 2014-04-22 20:46:32 +02:00
rbock
1f3e611fdf Added table checks to add_column and added add_column_ntc 2014-04-21 11:49:26 +02:00
rbock
815c061979 Added extra_tables to select.
With this method you can indicate additional tables that might be added
via add_from(). These tables are considered in the add_column, add
where, etc methods.
2014-04-21 10:59:29 +02:00
rbock
f4ec88c83d Improved checks for selects being usable as value or table 2014-04-18 19:59:35 +02:00
rbock
bbae5e89e9 Improved decision whether a select is a value or not 2014-04-12 08:22:46 +02:00
rbock
cffc85879a Calculate the tables required by a sub-select 2014-04-11 21:12:39 +02:00
rbock
207310effe Added parameter lists to group_by and order_by 2014-04-11 18:23:20 +02:00
rbock
68f929e041 Removed a bunch of superfluous functions.
Dispatching made some emplace_back instances obsolete.
2014-04-11 08:58:28 +02:00
rbock
abb80e3a91 Migrated insert to inheritance model 2014-04-10 22:44:38 +02:00
rbock
7e78c0d878 Migrated update to inheritance model 2014-04-10 21:20:37 +02:00
rbock
d2b59c0f59 Some cleanup 2014-04-10 20:20:59 +02:00
rbock
7f94002bec Migrated remove to use inherited methods 2014-04-10 18:59:05 +02:00
rbock
bc5ffc1492 Added several call dispatches to reduce compiler spew in case of errors 2014-04-10 16:09:54 +02:00
rbock
ad5584e52d Cleaned up a bit... 2014-04-09 20:54:28 +02:00
rbock
db0bbd6e3f Moved select_colum_list methods to the respective classes 2014-04-09 08:50:34 +02:00
rbock
18d244dd9f Moved from-methods to from-classes 2014-04-09 07:25:24 +02:00
rbock
5e0c1cff48 Moved flag-methods to select_flag classes 2014-04-08 22:45:19 +02:00
rbock
7af13937bf Moved group_by-methods to group_by classes 2014-04-08 22:26:45 +02:00
rbock
a541d8e187 Moved having-methods to having-classes 2014-04-08 22:18:28 +02:00
rbock
eb9eab369a Moved order_by-methods to order_by classes 2014-04-08 22:02:24 +02:00
rbock
f2fc4f73f6 Move offset methods into offset classes 2014-04-08 21:49:37 +02:00
rbock
4727de831f Moved limit-methods to limit classes 2014-04-08 21:33:38 +02:00
rbock
c595353286 Moved where-methods to where-classes. 2014-04-08 20:59:45 +02:00
rbock
6737bf901d Added a bunch of table tests to select
And some hints regarding additional tests and how to turn them of for
subselects
2014-04-07 22:02:08 +02:00
rbock
dba5c992ed Added _table_set to select_column_list.h 2014-03-28 18:10:58 +01:00
rbock
3f1460cd2e Streamlined basic value types 2014-03-28 18:09:21 +01:00
rbock
bef4d0874b Updates copyright year 2014-03-27 16:43:36 +01:00
rbock
c0595aa6f2 Fixed compile-error for parameter
(need to do the same for other value types, too)
2014-03-27 09:25:35 +01:00
rbock
1a347048df Migrated remove and update to using arg_selector 2014-03-27 08:37:05 +01:00
rbock
1a39d31b3e Using arg_selector for select 2014-03-26 21:11:40 +01:00
rbock
6c4520a632 Using detail::arg_select to reduce number of constructors 2014-03-26 21:03:29 +01:00
rbock
1ffa6e25ba Added an argument selector
It returns the "correct" argument out of two.
2014-03-26 21:02:22 +01:00
rbock
1c95406ced Improved error messages for incorrect parameters. 2014-03-26 21:01:16 +01:00
rbock
a38a9d6f65 Made a bunch of compile errors easier to read
Fixed a few bugs in the process, too.
Probably also created a few, need better checks for resulting
statements.
2014-03-23 20:54:44 +01:00