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
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