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

42 Commits

Author SHA1 Message Date
rbock
833eeccd61 Added missing includes 2015-12-13 17:54:01 +01: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
8d356f55ce Fixed warnings about unused parameters 2015-05-30 16:19:23 +02: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
92e670118a Started to add common table expressions and 'with' 2015-01-13 21:53:29 +01:00
rbock
809d42e4a1 Introduced check for serializability 2014-11-25 17:43:55 +01:00
rbock
7c80a2a6e0 Renamed named_expression to selectable 2014-09-26 09:03:26 +02:00
rbock
3cab459077 Added tag to indicate that an expression contains an aggregate function 2014-09-17 22:22:45 +02:00
rbock
2c23769cdf Moved operator and parameter templates out of value classes, added member template
These templates are nicer when used.
2014-08-25 08:43:42 +02:00
rbock
18dc6b1a03 Added value_or_null method/type 2014-08-01 18:21:23 +02:00
rbock
dd33b8096e Streamlined type traits a bit 2014-07-28 06:54:54 +02:00
rbock
b73133d47a Follow outer tables through the statement.
This is important to determine which result column of a select can be
NULL.
2014-07-24 08:57:35 +02:00
rbock
9c15b45ac4 Made can_be_null a recursive trait 2014-07-23 18:26:13 +02:00
rbock
269f2e7e17 Fixed indentations 2014-06-14 07:45:10 +02:00
rbock
09d220541e removed namespace vendor 2014-06-14 07:43:27 +02:00
rbock
067740d24e InterpretTest compiles again 2014-06-04 18:35:25 +02:00
rbock
6972758931 Added extra_tables to recursive_traits 2014-05-16 09:33:48 +02:00
rbock
1d905e1db5 Ok, the first few lines of test code compile again. 2014-05-15 23:47:16 +02:00
rbock
d062c1a0d8 Started to rewrite traits and recursive traits
traits are shorter and easier to identify by using tags in a variadic
template

recursive traits can be automatically derived, which makes it much
easier to add new traits to be handed through the expression tree.
2014-05-15 08:00:03 +02:00
rbock
bef4d0874b Updates copyright year 2014-03-27 16:43:36 +01:00
rbock
c0595aa6f2 Fixed compile-error for parameter
(need to do the same for other value types, too)
2014-03-27 09:25:35 +01:00
rbock
1c95406ced Improved error messages for incorrect parameters. 2014-03-26 21:01:16 +01:00
rbock
a38a9d6f65 Made a bunch of compile errors easier to read
Fixed a few bugs in the process, too.
Probably also created a few, need better checks for resulting
statements.
2014-03-23 20:54:44 +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
e4c7b5235f Added several checks for correct types in insert columns/values 2014-02-10 09:46:31 +01:00
rbock
28fc5900f2 Added missing overload for prepared statement parameters 2014-02-01 14:28:23 +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
87302fa27f Make g++-4.8 compile again 2014-01-18 16:10:46 +01:00
rbock
312e735d6d Moved a bunch of things into namespace vendor
This namespace is for things the developer will not get in touch with
(normally) but the vendor might need to use for specialization of the
interpreter.

This separation is not fully completed yet, some changes will have to
follow...
2014-01-18 15:50:16 +01:00
rbock
9335a62087 Replaced implicit trivial_value_is_null tag for columns with explicit tvin method
This isn't database vendor specific, but library vendor specific, as I
used this implicit behaviour quite a lot, but it is utterly confusing
when mixed with prepared statements. Explicit is better here.
2014-01-14 22:54:07 +01:00
rbock
eb9f92543e Interpret works for parameters now
Also, paramters inherit the operators they need
2014-01-13 21:00:20 +01:00
Roland Bock
b8907df4ef Implemented parameter index determination 2014-01-05 19:25:52 +01:00
Roland Bock
51e0db883f Added static assert to prevent automatic rivial->null conversion to happen in where/having 2014-01-05 13:29:08 +01:00
Roland Bock
1360b1d9db Turned value_type::parameter_t into a non-template 2014-01-02 13:11:19 +01:00
Roland Bock
b031bda5fc Can now prepare a select (tested with mysql) 2013-12-28 22:52:54 +01:00
Roland Bock
b4baf38fab Parameters of prepared statements can be null now 2013-12-26 19:05:05 +01:00
Roland Bock
8f99a03359 Can extract parameters from expression 2013-11-22 09:42:28 +01:00
Roland Bock
1aa67c6604 Added parameter and parameter_list
parameters are to be used as placeholders in the query.
parameter lists are to be used to assign values to these parameters and
forward them to the database.
2013-11-19 19:21:58 +01:00