rbock
d0f4c7dad5
Fixed paths to test executables for ctest
2015-02-07 13:31:45 +01:00
TyRoXx
a480ce6259
enable -Wpedantic and fix all the warnings
2015-02-04 21:43:10 +01:00
rbock
2adf529445
First with-query compiles
2015-01-29 19:17:24 +01:00
rbock
da9ca73788
First test constructing a cte
2015-01-27 18:28:36 +01:00
rbock
61b0bd9ff8
Can chain unions
...
And a few more checks
2015-01-15 19:43:56 +01:00
rbock
92e670118a
Started to add common table expressions and 'with'
2015-01-13 21:53:29 +01:00
rbock
8488dae0a7
Added a few compile-time checks for unions
2015-01-11 17:10:36 +01:00
rbock
c4ee228f12
Make MockDb a bit more talkative for tests
2015-01-11 16:12:39 +01:00
rbock
b4f62a5eb6
Union can be used as pseudo-table, allowing to union unions
2015-01-11 14:02:15 +01:00
rbock
a6932070c3
Added a first version of the union function.
2015-01-10 18:30:29 +01:00
rbock
74cafe35dd
We now have unique name representations per name
...
Before this, there could be multiple classes representing multiple id
columns. Now there is one class representing ALL the name "id". Very
important for analyzing potential name clashes.
2014-11-30 19:40:34 +01:00
rbock
f02a9ce3d0
Moved logic functions from detail into logic namespace
2014-11-29 14:29:54 +01:00
rbock
213080f58b
Fixed prepare in MockDb
2014-11-29 12:32:21 +01:00
rbock
7ba973d9af
Added prepare_check
2014-11-25 17:56:51 +01:00
rbock
809d42e4a1
Introduced check for serializability
2014-11-25 17:43:55 +01:00
rbock
6d2a5e6ac1
Removed implementation of unwanted dispatch code
2014-11-22 11:09:24 +01:00
rbock
f294a876d4
Placate clang-3.5
2014-11-17 19:34:45 +01:00
rbock
3f5c48bfd5
Fixed run_check and prepared_check for custom query and prepared statemtents
2014-11-17 19:20:55 +01:00
rbock
59734b3f51
Moved static asserts for inconsistency errors much closer to call site
2014-11-17 19:05:22 +01:00
rbock
f6b223138b
Added method to set return type of custom query
2014-11-09 16:26:36 +01:00
rbock
548a601026
Added into() free function
2014-11-09 13:00:17 +01:00
rbock
ba1f200ef1
Added free function where()
2014-11-08 15:21:11 +01:00
rbock
55ed36ff33
Added prepared_execute to MockDb
2014-11-07 09:34:48 +01:00
rbock
be3292b6ce
Fixed parameter determination and added execution of void statements
2014-11-05 17:50:46 +01:00
rbock
60042c2dd3
Added run and prepare to noop, allowing void custom queries
2014-11-05 07:27:19 +01:00
rbock
f3098d1e26
All tests compile again...
2014-11-03 23:16:53 +01:00
rbock
e79585b165
Can compile (very simple) custom queries and selects
2014-11-03 17:52:02 +01:00
rbock
514ed4139c
First custom query sent to MockDb
2014-10-31 08:28:51 +01:00
rbock
6684ac9ea8
Added first test
2014-10-29 07:34:42 +01:00
rbock
b3ef68101f
Fixed bug in in() serialization
...
in(select(...)) did have an extra set of braces, which lead to different behaviour.
Thanks to Thomas Marsh for finding the bug
2014-10-03 08:51:27 +02:00
rbock
ea30acaf26
Merge branch 'release/0.28'
2014-09-30 07:20:46 +02:00
rbock
7c80a2a6e0
Renamed named_expression to selectable
2014-09-26 09:03:26 +02:00
rbock
49eb21e709
Added test which selects count()
2014-09-18 09:40:54 +02:00
Markus Elfring
c227d46cf4
Bug #14 : Completed quoting for parameters of some CMake commands
...
A wiki article pointed out that whitespace will only be preserved for parameters
in CMake commands if passed strings will be appropriately quoted or escaped.
http://cmake.org/Wiki/CMake/Language_Syntax#CMake_splits_arguments_unless_you_use_quotation_marks_or_escapes .
Quoting was added so that more places should also handle file names correctly
which contain space characters or semicolons eventually.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2014-09-01 19:17:03 +02:00
rbock
2dcd2918d3
Added operators to the 'like' member_t
2014-08-27 22:53:22 +02:00
rbock
d75862365b
Cleanup in generated code
2014-08-27 21:32:00 +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
fd054d8a5a
Fixed operators += et al
2014-08-22 12:26:48 +02:00
rbock
2bd8bc9bb7
Merge branch 'release/0.25'
...
Conflicts:
test_constraints/CMakeLists.txt
2014-08-21 10:57:31 +02:00
Johan
73973f0f48
Fix cygwin-gcc and cmake problems
...
Fixed warning in CMake
Fixed problem with tuples creation
Fixed problem of stream copy constructor usage
2014-08-20 21:58:57 +02:00
rbock
e5e97d10b6
Added alias operators to wrapped value operands
2014-08-18 21:10:58 +02:00
rbock
e21b38901b
Added static_assert for required_columns in insert
...
This constraint had been dropped by accident when restructuring for
statement_t.
2014-08-15 17:56:13 +02:00
rbock
3484903525
Repaired insert to work with expression values again
2014-08-14 23:47:25 +02:00
rbock
1d98fb0198
Added tvin arguments for parameters
2014-08-12 22:00:59 +02:00
rbock
ad1c5f94bb
Made boolean expression more usable
2014-08-12 18:48:50 +02:00
rbock
27649b3af2
Added support for default values and result fields for insert
2014-08-11 19:17:42 +02:00
rbock
a59d7ed381
Fixed bug in field index calculation for multi_fields
2014-08-09 20:46:40 +02:00
rbock
c9372eff89
Added serialization to MockDb run methods
...
Implicitly increased number of serialization tests.
Fixed serialization for logical_not
2014-08-04 18:24:51 +02:00
rbock
8b5fc67af6
Added generic boolean_expression
2014-08-02 09:18:01 +02:00
rbock
18dc6b1a03
Added value_or_null method/type
2014-08-01 18:21:23 +02:00
rbock
88d28d6830
Moved value types out of detail namespace
2014-07-31 08:40:13 +02:00
rbock
c88a1097c2
Added some hints
2014-07-31 08:19:00 +02:00
rbock
ff9a6ff8f0
Added missing result_field.h
2014-07-30 23:10:45 +02:00
rbock
7c45e8b83f
Removed _name_t from and added alias operators to result field.
...
A result field really is just a value, if you insist on using it as a
select column, give it a name via an alias.
2014-07-30 22:03:11 +02:00
rbock
a62c660ad5
Added some tvin-tests
2014-07-29 18:18:57 +02:00
rbock
b1f1de8a08
Allowing result fields to be used as arguments for queries
2014-07-29 08:57:55 +02:00
rbock
159b4c7152
Fixed error in determining can_be_null for joins
2014-07-28 21:14:20 +02:00
rbock
169113c9a4
Added missing file
2014-07-28 17:11:12 +02:00
rbock
42179cbc87
Cleaned up traits a bit more
2014-07-28 07:41:59 +02:00
rbock
643aab222e
Aligned structure of connector traits with other traits
2014-07-28 06:13:30 +02:00
rbock
6d851f17ff
Added testability and tests for can_be_null and null_is_trivial in result entries
2014-07-27 19:40:31 +02:00
rbock
80f09dc003
Use _traits in column specs
2014-07-23 18:06:33 +02:00
rbock
d94ab56fd8
Made generated file available by default
...
This lowers the threshold for those without python.
2014-07-20 11:14:44 +02:00
rbock
2f20f7ef82
Renamed bind and (in)validate to indicate their usage (vendor only)
2014-06-29 11:35:51 +02:00
rbock
0f9c1dbfb2
Added check to prevent multicolumns in sub selects
2014-06-28 21:05:37 +02:00
rbock
7900cba1ca
Fixed most of the compiler warnings about unused variables in test programs
2014-06-28 21:05:16 +02:00
rbock
e03366202d
Fixed a bunch of warnings
2014-06-26 08:39:08 +02:00
rbock
d90b42f52b
Added a minimalistic test for including sqlpp11.h
2014-06-22 16:09:19 +02:00
rbock
1d82cf7f09
Fixed a bunch of bugs that came up when integrating with mySQL again.
...
Thanks Matthijs!
2014-06-20 16:53:52 +02:00
rbock
04aab4d79b
Removed some debug code
2014-06-20 10:43:14 +02:00
rbock
54c95db254
Experiments with some types
2014-06-18 18:22:49 +02:00
rbock
4ce8f2419b
All tests compile again for clang-3.2
2014-06-14 17:57:12 +02:00
rbock
3d26f9a686
Re-animated prepared statements
2014-06-14 17:44:22 +02:00
rbock
e775e6165e
Removed obsolete namespace specifier in test after removing namespace vendor
2014-06-14 10:17:21 +02:00
rbock
ca76ccbf65
Minor fix.
2014-06-14 10:15:42 +02:00
rbock
ef6c7e0c0d
Removed a few obsolete "typename"
2014-06-14 07:49:43 +02:00
rbock
4d1b60d93a
Cleanup
...
Moved check_consistency call to statement
2014-06-13 09:33:08 +02:00
rbock
f8e0e90477
Fixed serializability of statements
2014-06-09 14:06:04 +02:00
rbock
79aa358624
Added into member for insert.
...
Update and remove will get table lists with more than one table
2014-06-05 08:32:22 +02:00
rbock
067740d24e
InterpretTest compiles again
2014-06-04 18:35:25 +02:00
rbock
d36037472f
Migrated update to generic statement
2014-06-04 09:26:10 +02:00
rbock
c866f31ea5
Turned remove into a generic statement
2014-06-03 09:12:27 +02:00
rbock
8d16b6ab2d
Migrated insert to generic statement
2014-06-02 23:57:21 +02:00
rbock
7e32a0a3ea
Cleaned up minor as() method mess plus some oversights
2014-06-02 07:48:05 +02:00
rbock
3fb6c6c246
SelectTest compiles again
2014-06-02 06:40:22 +02:00
rbock
98bb9a7db7
Added policies into members
...
What a fight...
2014-05-30 12:48:51 +02:00
rbock
408e96af4a
Using _member_t to have variadic named members in statements
2014-05-30 10:40:46 +02:00
rbock
a5457e93f7
Started to move statement-specific methods into the result provider classes
...
First method is: select_t::as()
2014-05-27 11:20:03 +02:00
rbock
45ff16600f
Fixed test
2014-05-27 09:16:29 +02:00
rbock
c13d514e95
Adjusted update to be variadic
2014-05-23 21:42:27 +02:00
rbock
2a215905fd
Migrated remove to being variadic
2014-05-23 20:36:13 +02:00
rbock
22e1e7c531
Migrated insert to be truly variadic
2014-05-22 22:53:08 +02:00
rbock
c4a02d931c
SelectTypeTests compile again!
2014-05-20 21:22:55 +02:00
rbock
c81a7d33ae
Cleanup
2014-05-20 08:50:55 +02:00
rbock
5f4a88c7ce
Function tests compile again
2014-05-16 09:18:08 +02:00
rbock
1d905e1db5
Ok, the first few lines of test code compile again.
2014-05-15 23:47:16 +02:00
rbock
d342973ef4
Added check to prevent add_column to use a column name known in the static part
2014-04-22 21:41:53 +02:00
rbock
8f16ded277
Allow columns() method to use all_of_t as well
2014-04-22 21:30:31 +02:00
rbock
0ffd93108b
Added a table consistency checks to several dynamic methods
2014-04-22 20:46:32 +02:00
rbock
1f3e611fdf
Added table checks to add_column and added add_column_ntc
2014-04-21 11:49:26 +02:00
rbock
815c061979
Added extra_tables to select.
...
With this method you can indicate additional tables that might be added
via add_from(). These tables are considered in the add_column, add
where, etc methods.
2014-04-21 10:59:29 +02:00
rbock
f4ec88c83d
Improved checks for selects being usable as value or table
2014-04-18 19:59:35 +02:00
rbock
68f929e041
Removed a bunch of superfluous functions.
...
Dispatching made some emplace_back instances obsolete.
2014-04-11 08:58:28 +02:00
rbock
db0bbd6e3f
Moved select_colum_list methods to the respective classes
2014-04-09 08:50:34 +02:00
rbock
6737bf901d
Added a bunch of table tests to select
...
And some hints regarding additional tests and how to turn them of for
subselects
2014-04-07 22:02:08 +02:00
rbock
bef4d0874b
Updates copyright year
2014-03-27 16:43:36 +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
82dc280b1b
Added executed select tests
2014-03-18 08:28:17 +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
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
9e8979c6f0
Fixed a bunch of small errors and shorted compile error messages
2014-02-13 08:44:09 +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
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
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
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
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
b907e3482d
Using explicit call to python now, this might work on Windows even ;-)
2014-02-02 19:10:14 +01:00
rbock
28fc5900f2
Added missing overload for prepared statement parameters
2014-02-01 14:28:23 +01:00
rbock
ec2a8587d4
Added python code generator as an example
2014-01-28 20:53:22 +01:00
rbock
dfcd372611
tvin works with const char*, too
2014-01-26 15:44:44 +01:00
rbock
b0e7395f47
Using assignments in add_values now
...
This makes mistakes much less likely
2014-01-26 15:09:30 +01:00
rbock
5ef5259988
Added columns and add_values to insert for multi row inserts
...
Need to change add_values method to use assignments, though.
2014-01-26 13:24:42 +01:00
rbock
f802300685
Added sqlpp::null and sql::default_value for insert and update
2014-01-25 22:38:16 +01:00
rbock
019a920739
Added a .where(bool) to choose all or no row
2014-01-22 22:53:23 +01:00
rbock
abce8592e6
Added DISTINCT flag to avg and sum
2014-01-22 09:31:36 +01:00
rbock
34f6c7a2eb
Added optional DISTINCT flag to count
2014-01-21 23:42:27 +01:00
rbock
370c61870b
Updated tests a bit
2014-01-21 23:19:03 +01:00
rbock
a22b07aa03
Added more tests (and fixes) for dynamic columns and flags
2014-01-21 09:50:58 +01:00
rbock
075e63c486
Added test for (empty) dynamic select flag list
2014-01-20 23:17:07 +01:00
rbock
ee7cda0a5d
Started to change the way dynamic columns and flags are specified
2014-01-20 21:26:16 +01:00
Mateusz Loskot
2734675750
Add headers to sources to enable file browsing in IDEs
...
By adding headers to sources of targets, CMake adds them to list of project files generated for IDEs.
This is non-intrusive trick, which does not affect targets compilation.
2014-01-19 19:56:37 +01:00
rbock
31127812a0
Added some template aliases to ease specialization and added a few more operator overloads
2014-01-19 18:11:05 +01:00
rbock
24b44fae65
Re-animated all tests
2014-01-18 20:58:51 +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
93129be748
Added missing interpreter specializations, especially for serializable
2014-01-17 09:56:35 +01:00
rbock
9826ef79e4
Added interpreters to is_null, multi_column, alias and select pseudo table
2014-01-16 22:31:43 +01:00