Commit Graph

149 Commits

Author SHA1 Message Date
rbock 62b828ef8f Migrated select components to support policy based select 2014-02-07 22:52:02 +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 417d317a65 Added a bunch of operator interpretations 2014-02-05 10:12:07 +01:00
rbock 7afd34c349 Added a few types/templates to help with expression tree evaluation 2014-02-04 07:32:37 +01:00
rbock e1f619eecb Replaced a bunch of make_set_if::size asserts with and_t/or_t 2014-02-02 18:45:21 +01:00
rbock 14c382db59 Added and_t and or_t templates 2014-02-02 18:43:07 +01:00
rbock d288c65897 Minor code cleanup (set -> type_set) 2014-02-02 14:58:08 +01:00
rbock 28fc5900f2 Added missing overload for prepared statement parameters 2014-02-01 14:28:23 +01:00
rbock 9c75c7b873 Removed a whole lot of unnecessary(?) perfect forwarding.
The code is much easier to read, the optimizer should take care of
pretty much everything, AND it copiles even faster without the code
being riddled with std::forward and std::decay
2014-01-30 08:43:55 +01:00
rbock 9bcae0867f Moved "wrong" template to namespace vendor 2014-01-29 14:28:07 +01:00
rbock b90eb7192a Renamed run and prepare methods to _run and _prepare
_methods are to be used by vendors
2014-01-29 13:11:11 +01:00
rbock 375dec25f8 Minor code cleanup 2014-01-28 18:03:14 +01:00
rbock 687fe13055 Added constness to char_result_row characters 2014-01-28 06:56:30 +01:00
rbock 25c1cfb399 Cleanup some minor bind issues 2014-01-28 06:50:21 +01:00
rbock d85fdcd62b Removed unnecessary header 2014-01-27 18:50:22 +01:00
rbock 05ca005e1b Fixed bug in text results
text results never had a reasonable length
2014-01-27 13:40:52 +01:00
rbock a9cfe534ef Fixed serialization of multi-row inserts 2014-01-27 12:48:24 +01:00
rbock dda4fc2586 Small fix in result row 2014-01-27 12:12:38 +01:00
rbock 471dffebc0 Updated joins and updated columns to work with sqlite3
The new behaviour is closer to the standard, I think
2014-01-27 11:47:22 +01:00
rbock d4d8429947 Added missing include directive 2014-01-26 22:58:38 +01:00
rbock 4869758e35 Renamed query -> statement 2014-01-26 22:39:44 +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 f443564d62 Minor code cleanup 2014-01-24 00:31:53 +01:00
rbock 019a920739 Added a .where(bool) to choose all or no row 2014-01-22 22:53:23 +01:00
rbock 6e55f8f6cd Fixed a few bugs found during mysql tests 2014-01-22 18:35:08 +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 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
rbock 7992a82615 Some notes 2014-01-20 10:48:28 +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 63ac89accb Fixed some "const" bugs and a parameter_tuple bug 2014-01-18 22:40:13 +01:00
rbock 24b44fae65 Re-animated all tests 2014-01-18 20:58:51 +01:00
rbock 87302fa27f Make g++-4.8 compile again 2014-01-18 16:10:46 +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
rbock 1c4d041b89 Cleaned up some outdated serialize functions 2014-01-15 23:05:24 +01:00
rbock afcc62fc75 Added interpreters for a bunch of functions and table aliases 2014-01-15 19:42:14 +01:00
rbock 277ce51fb5 Added missing file 2014-01-15 17:44:59 +01:00
rbock 54d45e97ae Added interpret support for remove() 2014-01-15 08:24:42 +01:00
rbock 54fa55e6a5 interpret works for in() 2014-01-15 07:38:53 +01:00
rbock 602f33726f interpreter added for update() 2014-01-15 07:22:54 +01:00
rbock 9335a62087 Replaced implicit trivial_value_is_null tag for columns with explicit tvin method
This isn't database vendor specific, but library vendor specific, as I
used this implicit behaviour quite a lot, but it is utterly confusing
when mixed with prepared statements. Explicit is better here.
2014-01-14 22:54:07 +01:00
rbock fa18ce5476 interpret works for insert now
Also added explicit .default_values() method
2014-01-13 23:05:48 +01:00
rbock eb9f92543e Interpret works for parameters now
Also, paramters inherit the operators they need
2014-01-13 21:00:20 +01:00