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