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