0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-12-25 07:20:50 +08:00

309 Commits

Author SHA1 Message Date
rbock
cdf86695d1 Fixed a bunch of shadowing warnings issued by g++
A bit over the top in some places, I think
2015-03-21 11:41:07 +01:00
rbock
465a8e700c Fixed serialize check for tvin expressions 2015-03-13 21:47:41 +01:00
rbock
3ca69bf8b8 Updated return types for executing custom queries 2015-03-08 21:06:30 +01:00
rbock
67b86a7554 Merge branch 'release/0.30'
Conflicts:
	CMakeLists.txt
	examples/CMakeLists.txt
	examples/select.cpp
	include/sqlpp11/interpret_tuple.h
	include/sqlpp11/type_traits.h
2015-03-08 20:28:48 +01:00
rbock
21621f81c8 Added -Wshadow and un-inlined namespace alias
Not sure if inlining alias was a good idea to begin with...
2015-03-08 20:19:01 +01:00
rbock
6591d38bab Added table() method for columns. 2015-03-07 09:40:06 +01:00
rbock
cc829a8704 Replaced parameter tuple with paramter type vector 2015-02-17 21:39:54 +01:00
rbock
97de6fad7f Adjusted license dates 2015-02-15 19:00:21 +01:00
rbock
9e1ecaf15a Fixed weird compiler crash with gcc-4.8.2
I have no idea why this is helping, but it does.

I need to invest some time to simplify the templates so that compilers
aren't as stressed with it.
2015-02-15 16:41:08 +01:00
rbock
73097e989f Mapping ctes to cte_references when used in from, helping with serialization 2015-02-11 19:06:16 +01:00
rbock
c4d77372cf The first recursive cte compiles 2015-02-08 19:47:33 +01:00
TyRoXx
3cef1a1217 enable -Wpedantic and fix all the warnings
Conflicts:
	examples/select.cpp
	include/sqlpp11/interpret_tuple.h
	include/sqlpp11/type_traits.h
2015-02-07 15:07:33 +01:00
Roland Bock
ea57c55b0d Merge pull request #27 from TyRoXx/wpedantic
enabled -Wpedantic and fixed all the warnings
2015-02-07 14:41:43 +01:00
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