0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-16 12:51:13 +08:00
Commit Graph

1129 Commits

Author SHA1 Message Date
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
fa86d8f633 Update LICENSE 2014-02-06 20:18:41 +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
rbock
dd485175f9 Merge tag '0.11' into develop
Added missing overload for prepared statement parameters
2014-02-01 14:30:08 +01:00
rbock
68ce9f085b Merge branch 'release/0.11' 2014-02-01 14:30:03 +01:00
rbock
28fc5900f2 Added missing overload for prepared statement parameters 2014-02-01 14:28:23 +01:00
rbock
97256167fb Merge tag '0.10' into develop
Minor interface cleanup
2014-02-01 09:38:01 +01:00
rbock
e9bf70a913 Merge branch 'release/0.10' 2014-02-01 09:37:04 +01:00
rbock
9c75c7b873 Removed a whole lot of unnecessary(?) perfect forwarding.
The code is much easier to read, the optimizer should take care of
pretty much everything, AND it copiles even faster without the code
being riddled with std::forward and std::decay
2014-01-30 08:43:55 +01:00
rbock
9bcae0867f Moved "wrong" template to namespace vendor 2014-01-29 14:28:07 +01:00
rbock
b90eb7192a Renamed run and prepare methods to _run and _prepare
_methods are to be used by vendors
2014-01-29 13:11:11 +01:00