rbock
4a25f5bcb9
Merge branch 'feature/trivial-value-is-null' into develop
2014-03-20 10:51:36 +01:00
rbock
555aba3f14
Rewrote type-set operations to look more like free functions
2014-03-19 18:59:39 +01:00
rbock
82dc280b1b
Added executed select tests
2014-03-18 08:28:17 +01:00
rbock
1824f9cde0
Changed NULL handling in results.
...
If the column or the connector indicates that NULL corresponds to a
trivial value, then the trivial value is returned. Otherwise, an
assert fails or an exception is thrown, depending on the preferences of
the connector.
2014-03-13 08:52:22 +01:00
rbock
78d2d9e67a
Renamed tvin_wrap to maybe_tvin
...
Easier to read
2014-03-11 18:46:53 +01:00
rbock
6cffdb6428
Added is_trivial_value_is_null interpretation to assignment
2014-03-07 08:53:32 +01:00
rbock
67f1b09acb
Added prepare_select to MockDb.
2014-02-21 09:43:23 +01:00
rbock
8c8b95d14e
Added template parameter Db to result_entry
2014-02-21 07:24:07 +01:00
rbock
b7935b61d5
Added some (no-op) statement executions
2014-02-21 06:02:49 +01:00
rbock
3bbe343a77
Added a better MockDb that can execute statements
...
Currently all executions are no-ops, but it will be rather simple to
yield select results too (to be configured at runtime).
2014-02-20 09:24:06 +01:00
rbock
abf4bb8e9a
Added serializer to interpreter
...
The serializer has partial specializations for all templates. It is a
good basis if the connector/database requires strings close to the
standard.
The interpreter is unspecialized (and uses a static assert to say so).
It is a good basis if the connector/database requires a different
interpretation, e.g. re-writing the expression tree.
The interpretable_t implements three methods for interpretation:
serializing with the sqlpp::serializer_context, serializing with the
database's serialization context and interpretation with the database's
interpretation context.
2014-02-18 17:45:08 +01:00
rbock
26f322b86a
Expressed equal_to, not_equal_to, logical_not as binary/unary expressions
2014-02-16 19:32:43 +01:00
rbock
1d5ee2068d
Fixed a bunch of bugs found while adjusting the mysql connector
2014-02-16 13:16:09 +01:00
rbock
8b37626b89
Added uniqueness constraint to type_set, plus minor cleanup
2014-02-16 12:43:09 +01:00
rbock
61a4797d0b
Simplified syntax for multi_columns a lot
...
Instead of
multi_column(alias, columns...)
it is now
multi_column(columns...).as(alias)
Also, you can now write:
all_of(table).as(alias)
2014-02-13 10:07:51 +01:00
rbock
3e9eab8773
Merge branch 'feature/crtp-to-composition-for-statements' into develop
2014-02-13 08:45:14 +01:00
rbock
9e8979c6f0
Fixed a bunch of small errors and shorted compile error messages
2014-02-13 08:44:09 +01:00
rbock
fb092583cc
Made wrong_t<...> a true std::false_type again.
...
I am sure this would shoot me in the foot some day otherwise
2014-02-11 10:17:02 +01:00
rbock
7c928ae6d0
Added table sets to several more expressions
2014-02-10 19:55:48 +01:00
rbock
54687c5e69
Added a bunch of static asserts to prevent misuse of insert and update
...
There are quite a few more to be inserted
2014-02-10 17:56:16 +01:00
rbock
e4c7b5235f
Added several checks for correct types in insert columns/values
2014-02-10 09:46:31 +01:00
rbock
82bcd63efd
Removed the dreaded crtp_wrapper and the policy_wrapper
2014-02-09 23:45:17 +01:00
rbock
22c43358f2
All statements back to composite design
...
The point is that even though the CRTP code looked nice, it was too hard
to comprehend.
2014-02-09 23:30:30 +01:00
rbock
cc76820870
Migrated insert and remove back to composite design
2014-02-09 18:14:52 +01:00
rbock
ae2f1948ac
Added checks to prevent non-matching columns from being inserted
2014-02-09 15:06:42 +01:00
rbock
8ede5c7a93
Merge branch 'feature/policy-based-design' into develop
2014-02-09 00:35:09 +01:00
rbock
61ed1d9f37
Corrected inconsistency in select value_type
2014-02-08 23:48:35 +01:00
rbock
88fc0959b5
Added value type back to select
2014-02-08 22:50:26 +01:00
rbock
3c6e7cb89a
Fixed a bunch of smaller migration errors
2014-02-08 22:24:05 +01:00
rbock
68750aac80
Refactored insert to use policies
...
Much cleaner now.
2014-02-08 21:06:23 +01:00
rbock
5b67061fca
Fixed multi_column to handle all_of again
2014-02-08 17:12:40 +01:00
rbock
b82a0295cf
Fixed all_of use in select
2014-02-08 16:29:21 +01:00
rbock
f7aa56b7dc
Fixed possible dangling references problem
2014-02-08 00:43:20 +01:00
rbock
3a875e794b
More reasonable dynamic limit and offset
2014-02-08 00:35:59 +01:00
rbock
c5ef725106
Removed the dreaded make_expression_tuple and make_flag_tuple
2014-02-07 23:51:21 +01:00
rbock
0a744455ec
basic select methods work again
...
I've let go of the select(flags, columns) monster methods, these are now
separated
2014-02-07 23:43:26 +01:00
rbock
62b828ef8f
Migrated select components to support policy based select
2014-02-07 22:52:02 +01:00
rbock
9c4832df0f
Switched remove to policy based design.
...
A lot of sweating to figure out how to do it, but now it looks MUCH
cleaner and it is probably a lot easier to extend :-)
2014-02-07 21:25:23 +01:00
rbock
c721348dbe
Merge tag '0.13' into develop
...
Added a few helper types for the new connector
2014-02-06 20:10:34 +01:00
rbock
02b37dd081
Merge branch 'release/0.13'
2014-02-06 20:10:05 +01:00
rbock
417d317a65
Added a bunch of operator interpretations
2014-02-05 10:12:07 +01:00
rbock
8f2d228bcd
Merge tag '0.12' into develop
...
Fixed CMakeLists for Windows (hopefully), plus some minor changes
2014-02-04 08:04:45 +01:00
rbock
52aacba14e
Merge branch 'release/0.12'
2014-02-04 08:03:56 +01:00
rbock
7afd34c349
Added a few types/templates to help with expression tree evaluation
2014-02-04 07:32:37 +01:00
rbock
b907e3482d
Using explicit call to python now, this might work on Windows even ;-)
2014-02-02 19:10:14 +01:00
rbock
a29e28bad3
Added hints to connector api
2014-02-02 19:09:48 +01:00
rbock
e1f619eecb
Replaced a bunch of make_set_if::size asserts with and_t/or_t
2014-02-02 18:45:21 +01:00
rbock
14c382db59
Added and_t and or_t templates
2014-02-02 18:43:07 +01:00
rbock
d288c65897
Minor code cleanup (set -> type_set)
2014-02-02 14:58:08 +01:00
rbock
722fe21923
Updated connector api template
2014-02-02 11:03:12 +01:00