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
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