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

386 Commits

Author SHA1 Message Date
rbock
13c1b5d8f3 Fix to make sqlpp11 compile with clang-3.1 2014-08-18 15:09:27 +02:00
rbock
d0d5e94bf1 Added eval function for both strings and expressions.
eval wraps whatever you give to it into a select call, sends it to the
database and returns the value as a result field.
2014-08-18 10:46:24 +02:00
rbock
f6ae27b0fe Made "where" non-mandatory if there are no tables involved. 2014-08-17 20:45:27 +02:00
rbock
f1542507ff Moved tests for insert_into(t).columns(...) into function
This reduces and clarifies error messages a bit.
2014-08-15 18:11:24 +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
b52591df58 Added bitwise_and and bitwise_or to integral 2014-08-12 22:00:47 +02:00
rbock
ad1c5f94bb Made boolean expression more usable 2014-08-12 18:48:50 +02:00
rbock
c0902f8683 Added constraints that insert and update require some value specs 2014-08-11 21:03:55 +02:00
rbock
27649b3af2 Added support for default values and result fields for insert 2014-08-11 19:17:42 +02:00
rbock
34e64b50d6 Added inline keyword to several free non-template functions 2014-08-11 19:11:15 +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
cc512d0955 Fixed text field stream operator 2014-08-03 09:27:20 +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
64c4ba029f Adjusted usage of wrong_t.
I think there was a risk of wrong_t based static_asserts firing, if the
template parameters are used. Anyway, this is shorter.
2014-07-31 09:08:00 +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
f60f1504b8 Extracted result_field_t from value types.
This is a preparation for adding serializer specializations for them
2014-07-30 22:37:07 +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
828106acbd Moved shared result field code into separate file 2014-07-30 17:56:33 +02:00
rbock
c818e110b6 A few minor fixes and cleanup 2014-07-29 09:14:51 +02:00
rbock
b1f1de8a08 Allowing result fields to be used as arguments for queries 2014-07-29 08:57:55 +02:00
rbock
4be53d9933 Fixed a error in type set intersect calculation and in tracking outer tables 2014-07-28 21:36:53 +02:00
rbock
159b4c7152 Fixed error in determining can_be_null for joins 2014-07-28 21:14:20 +02:00
rbock
42179cbc87 Cleaned up traits a bit more 2014-07-28 07:41:59 +02:00
rbock
dd33b8096e Streamlined type traits a bit 2014-07-28 06:54:54 +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
12f723d021 Fixed type error in join 2014-07-26 18:06:37 +02:00
rbock
c3d758c776 Renamed _result_entry_t to _result_field_t 2014-07-25 15:33:26 +02:00
rbock
4bf0db5611 Renamed field to field_spec 2014-07-25 15:20:19 +02:00
rbock
e5f055ac19 Using column's can_be_null and connector's enforce_validity 2014-07-25 01:01:42 +02:00
rbock
e21fdb4829 Transport null_is_trivial_value and can_be_null to result fields 2014-07-24 23:02:08 +02:00
rbock
6f056ced8a Transport can_be_null into subselect used as a result column 2014-07-24 17:36:56 +02:00
rbock
556023f921 Added a few reminders which expressions can be null as well 2014-07-24 09:47:30 +02:00
rbock
37a550a489 Use potential outer table dependencies in pseudo tables
The dependency indicates whether a column of a pseudo table can be null.
2014-07-24 09:29:50 +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
d1e8a0153e Transport can_be_null into select pseudo table 2014-07-23 22:57:11 +02:00
rbock
9c15b45ac4 Made can_be_null a recursive trait 2014-07-23 18:26:13 +02:00
rbock
80f09dc003 Use _traits in column specs 2014-07-23 18:06:33 +02:00
rbock
88062625bf Make sure that tvin is used in the allowed places only 2014-07-22 08:51:17 +02:00
rbock
0f29e255d1 Unified tvin/trivial_value_is_null usage for =,==,!= and ! 2014-07-21 09:53:17 +02:00
rbock
3506182ccf Fixed tvin-handling in assignment 2014-07-21 07:41:34 +02:00
rbock
d8ae9dc778 Fixed type trait code 2014-07-21 07:40:07 +02:00
rbock
69fdaedc0d Adjusted type_traits to compile with clang-3.1, too
The new version is cleaner anyway, since it can be used with any type
now.
2014-07-21 05:33:45 +02:00
rbock
8ed0042b67 Added blob (currently synonym of text) 2014-07-14 18:17:53 +02:00
rbock
abb97b623b Removed remainder of char_result_row interface from fields 2014-06-29 12:52:21 +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
778b0d8816 Added -Wall, took care of a bunch of compiler warnings 2014-06-28 14:41:35 +02:00
rbock
c2d00b14ec Removed char_result_row from result_row 2014-06-27 18:40:57 +02:00
rbock
620f9bef29 Fixed dynamic rows for bind_results 2014-06-27 18:11:12 +02:00
rbock
ff4d93049c removed char_result_row 2014-06-27 17:41:43 +02:00
rbock
bc99c2b240 Added missing file 2014-06-26 22:06:54 +02:00
rbock
1f20d244c7 Added improved check for potential name duplicates in from() 2014-06-26 18:56:07 +02:00
rbock
2266787e94 Fixed another few warnings 2014-06-26 14:35:49 +02:00
rbock
e03366202d Fixed a bunch of warnings 2014-06-26 08:39:08 +02:00
rbock
1267aa252f Added _check_consistency call to all statement parts
For instance, enforce where() to be called
2014-06-24 21:53:25 +02:00
rbock
0b27373314 Adjusted code to work with g++-4.8 as well 2014-06-22 23:37:43 +02:00
rbock
d90b42f52b Added a minimalistic test for including sqlpp11.h 2014-06-22 16:09:19 +02:00
rbock
35f9dab171 Added missing file 2014-06-22 12:01:17 +02:00
rbock
06d1783d81 Cleaned a bit of messy _run() code. 2014-06-20 18:20:24 +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
56e34dbf5e Shortened template for pseudo_column 2014-06-18 18:20:59 +02:00
rbock
5f927572cf Took care of a few warnings 2014-06-14 20:25:11 +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
ef6c7e0c0d Removed a few obsolete "typename" 2014-06-14 07:49:43 +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
060d59125c Moved files from sqlpp11/vendor to sqlpp11 2014-06-13 18:51:51 +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
b00fe51fed Adjusted remaining select parts 2014-05-30 13:43:59 +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
76fc2fb397 Moved select-specific stuff into select_column_list
This is a major step towards a generic statements and generic statement
policies.
2014-05-27 18:15:37 +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
d11f529bd8 Minor cleanup. 2014-05-26 07:42:59 +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
6d91cf2163 select is now really a variadic template
It is getting ready for customization to reflect vendor specific
statement parts, e.g. order by in update and delete for mysql.
2014-05-19 23:24:41 +02:00
rbock
15e8ca742c A step towards turning select into a really variadic template 2014-05-19 22:54:47 +02:00
rbock
569f0ff2eb Wrote down remaining steps for next release 2014-05-19 08:01:14 +02:00
rbock
bfd13c6743 Determining column_list in a more generic way.
By finding the last parameter which is a return value.
2014-05-19 07:51:24 +02:00
rbock
e39444b0f7 Added tags missing and return_value
missing indicates that a statement part has yet to be added (e.g.
columns in a select).

return_value indicates that a statement part can be used as a return
value.
2014-05-19 06:42:45 +02:00