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

376 Commits

Author SHA1 Message Date
rbock
cf83978118 Migrated select clauses to returning wrapped asserts
This helps a lot in testing static asserts (and debuging expressions
with MSVC)
2016-09-01 12:06:40 +02:00
rbock
57797ffffa Added for_each_field function 2016-08-17 09:51:24 +02:00
rbock
d061010fc3 Merge branch 'release/0.39' 2016-06-19 11:59:28 +02:00
strangeqargo
61d0da2ec6 ddl2cpp tests 2016-06-12 22:34:26 +03:00
rbock
03ab507f69 Some formatting 2016-06-05 21:35:49 +02:00
rbock
75978ae092 Merge branch 'Erroneous1-feature/time_of_day' into develop 2016-06-05 21:29:22 +02:00
Aaron Bishop
2f1f34d0b1 fixed some expressions, added tests 2016-05-23 08:24:35 -04:00
Aaron Bishop
6bdf5ef1ee updated copyright 2016-05-23 08:16:27 -04:00
Aaron Bishop
a8fa0ddba0 reset to master, added unsigned_integral, removed time_of_day 2016-05-20 07:09:48 -04:00
Aaron Bishop
ce7b949e1b Added time_of_day data_type 2016-05-19 08:53:56 -04:00
rbock
690028fb84 Added test to prepare statement with zero parameters 2016-04-24 10:30:06 +02:00
rbock
91defe2450 MSVC update 2 already has std::chrono::floor 2016-04-17 10:45:31 +02:00
rbock
3e008a2b04 Intermediate state 2016-04-06 10:16:35 +02:00
rbock
0b8ccaa985 Added insert_set to create first custom insert 2016-03-31 07:11:41 +02:00
rbock
a8b9014fc2 Enforce having expression to consist of aggregates 2016-03-20 09:13:50 +01:00
rbock
452175b514 Removed extra_tables (use without_table_check) instead 2016-03-20 09:13:50 +01:00
rbock
201b060d24 Added explicit without_table_check function
This removes the "required" tables from an expression
2016-03-20 09:13:50 +01:00
rbock
a836e8c8d8 Simplified where() to have one argument only 2016-03-20 09:13:50 +01:00
rbock
aceede57eb Fixed outer-tables for joins, added tests 2016-03-20 09:13:49 +01:00
rbock
d15cb2a410 Added "real" cross join 2016-03-20 09:13:49 +01:00
rbock
cf5ddfde00 Added portable static asserts for joins and first static tests 2016-03-20 09:13:49 +01:00
rbock
5e96551f83 Prevent unconditional joins, and naked bool in where() or boolean expressions
- `.from(t1, t2)` produces an unconditional join if you forget to add a condition in the .where()
  sqlpp11 therefore now deprecates unconditional joins.
- more often than not, writing  something like `where(name == "doe")`, you
  meant to write `where(t.name == "doe")`. It is hard to find bugs when
  the former expression compiles because you happen to have a variable
  `name` in the current scope as well.
  sqlpp11 therefore now deprecates `.where(bool)` and disallows
  raw bool values boolean expression like `something and bool`
  wrap bools in sqlpp::value(), if you REALLY want a bool value here
2016-03-20 09:13:49 +01:00
rbock
6dcdc419c1 Merge branch 'release/0.35'
Conflicts:
	README.md
2015-12-29 11:03:17 +01:00
rbock
cda1249b69 See what MSVC says in case of an invalid conversion 2015-12-28 18:24:59 +01:00
sliser
b812ed5120 fixed appveyor build 2015-12-28 16:42:26 +03:00
sliser
761b5e53ab added msvc workaround
fixed minor bugs
2015-12-28 12:58:30 +03:00
rbock
820195b303 Turned off is_regular for msvc 2015-12-28 10:39:53 +01:00
rbock
b89e4c3e4f Fixed a bunch of missing initializations 2015-12-27 22:25:05 +01:00
rbock
02f4dd1793 Migrated case to portable static assert and added static tests 2015-12-24 21:11:00 +01:00
rbock
b41f1add8c Made no_value to a more complete value type
This allows to select NULL via a case statement (seems to make more
sense than disallowing it).
2015-12-23 16:01:45 +01:00
rbock
0471d732f9 Added CASE expression 2015-12-23 11:50:40 +01:00
rbock
f029e5993b Allow in() and not_in() to have zero arguments
This is then equivalent to in(value_list(some_empty_vector)) and
not_in(value_list(some_empty_vector):

tab.a.in() evaluates to false
tab.a.not_in() evaluates to true
2015-12-19 15:15:04 +01:00
rbock
21f587e80d Merge branch 'feature/re-organize-value-types' into develop
Conflicts:
	.travis.yml
2015-12-13 17:25:28 +01:00
rbock
333e55ea6d Dynamic select did not accept some non-dynamic clauses. 2015-12-11 14:42:28 +01:00
rbock
29bf1529e4 Moved operators back into expression base class 2015-11-08 19:14:49 +01:00
rbock
5556880bb9 Turned a few operators into free functions.
This might be problematic since they are not selective enough. In
particular, they even take the result values...
2015-11-08 15:12:40 +01:00
rbock
173d6adbc9 Moved data types into separate folder, split boolean
Each file within data_types/boolean/ is relatively short and easy to
grok.
2015-10-29 22:21:46 +01:00
rbock
84ab264702 Renamed date/date_time to day_point/time_point 2015-10-29 16:41:45 +01:00
rbock
5e83929555 Date/time adjustments, including date cannot be assigned with timestamp
This is inspired by sqlite's behaviour: If you have a date column (say
colDate) and update it with

colDate = DATETIME('2015-01-01T20:20:20);

colDate will contain the date time, not just the date (while the
connector would probably just read the date part). In order to prevent
this kind of inconsistencies, date can be assigned only with dates, not
with timestamps.
2015-10-29 15:51:26 +01:00
rbock
73e8f04127 Several minor date/time fixes, new tests 2015-10-28 20:52:43 +01:00
rbock
56d312a59b Added compile time tests for date and date_time 2015-10-13 21:25:10 +02:00
rbock
b0d89520a6 Added a bunch of tests for static_assert in insert 2015-10-06 22:08:44 +02:00
rbock
3c699a51b6 Added test folder for static assert tests (more tests will follow) 2015-10-03 21:20:01 +02:00
rbock
bd55f3db5b Added several tests for static_assert (plus fixes for aggregates) 2015-10-03 20:11:55 +02:00
rbock
bd385f7377 Added check if all selected columns are aggregates if group_by is present 2015-10-03 17:00:53 +02:00
rbock
e152e29107 run_check and prepare_check now contain the serialize check 2015-09-17 11:46:37 +02:00
rbock
bcf18f98fc Shut up warning in Xcode 7 2015-09-13 23:29:58 +02: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
34376bdd28 Fixed compile error for clang-3.4 and gcc-4.8 2015-07-05 13:40:06 +02:00
rbock
864bd58eff More functions are now auto-aliased 2015-07-05 11:51:49 +02:00
rbock
bbe933f943 count is the first auto-aliased function
If used in an expression, count does not have an alias.
If used as a field in a select, it does have an alias.
2015-07-05 11:08:13 +02:00
rbock
303ee750ad Added test for selecting a constant value 2015-06-26 16:16:07 +02:00
rbock
61077f471c Merge branch 'develop' of https://github.com/rbock/sqlpp11 into develop 2015-06-01 22:13:56 +02:00
rbock
b062f2ade7 Revert "Replaced char[] with char[<sizeof>] to please MSVC 2015"
This reverts commit 30a3a6b2ff.
2015-06-01 22:12:32 +02:00
Jürgen Hunold
f3bed37a21 Do not set gcc/clang options when using msvc 2015-06-01 19:00:13 +02:00
rbock
0807e57958 Fixed warnings about missing initializers 2015-05-30 16:45:06 +02:00
rbock
947bf9ddd3 Fixed tests (prevent two tests from being executed with MockDb) 2015-05-30 16:44:10 +02:00
rbock
8d356f55ce Fixed warnings about unused parameters 2015-05-30 16:19:23 +02:00
rbock
0f3c239283 Merge branch 'develop' of https://github.com/purpleKarrot/sqlpp11 into purpleKarrot-develop 2015-05-30 15:25:54 +02:00
Daniel Pfeifer
b0453ffb1c make use of usage requirements 2015-05-29 22:10:04 +02:00
Daniel Pfeifer
b99e2f653b build a combined executable for all tests 2015-05-29 21:20:15 +02:00
Daniel Pfeifer
036d63e6cf drop suffix 'Test' from tests 2015-05-29 20:40:38 +02:00
rbock
30a3a6b2ff Replaced char[] with char[<sizeof>] to please MSVC 2015 2015-05-29 20:06:21 +02:00
rbock
7b750bbe97 Added usage examples for count and exists 2015-05-13 07:58:43 +02:00
rbock
a915f36b46 Minor fixes 2015-05-01 18:19:00 +02:00
rbock
a6a969a4d8 Added schema qualified tables` 2015-04-30 21:32:50 +02:00
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