0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-16 04:47:18 +08:00
Commit Graph

579 Commits

Author SHA1 Message Date
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