Commit Graph

748 Commits

Author SHA1 Message Date
rbock 8d742e1b69 Added build status for master 2015-12-23 20:27:55 +01:00
rbock 37c4f5dc6c Prevent aggregate functions to be used within where conditions 2015-12-23 20:27:16 +01:00
rbock f16643a1a0 Allow negative numbers in ddl2cpp 2015-12-23 18:28:15 +01:00
rbock e25ae64909 Merge branch 'feature/case' into develop 2015-12-23 16:04:05 +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
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 f9436382ba Added --no-check-certificate to wget for downloading cmake 2015-12-11 14:55:29 +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 93d89ff705 Updated download for cmake 2015-11-08 20:37:42 +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 12eabd28f4 Pacify travis CI 2015-10-29 18:51:28 +01:00
rbock d25ed57972 Merge branch 'feature/date_time2' into develop 2015-10-29 16:48:53 +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