rbock
9145a3a4ee
More defensive string construction in result set.
2017-03-06 09:14:51 +01:00
Roland Bock
a55ba76c3b
Merge pull request #134 from niXman/develop
...
ppgen reformatted
2017-02-02 15:11:59 +01:00
niXman
56099b7183
clang-format off
2017-01-31 22:44:00 +02:00
rbock
3d28a92a6d
Fixed detection of NULL in text results
2017-01-28 11:35:59 +01:00
niXman
5b8b2b16b0
ppgen reformated
2017-01-16 20:59:01 +02:00
rbock
5e52a4da46
Added a few auto alias tests
2016-12-25 21:25:01 +01:00
rbock
ee6aa6e2c5
Silence warning in gcc about unused parameter
2016-12-25 14:44:26 +01:00
rbock
fa8cb7b0af
Replaced field_spec_t::is_compatible function with a class template.
...
Also removed two stand-alone union functions which did not work anyway.
Let's see if MSVC is happy now.
2016-12-25 12:20:00 +01:00
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