Commit Graph

100 Commits

Author SHA1 Message Date
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
rbock 019a920739 Added a .where(bool) to choose all or no row 2014-01-22 22:53:23 +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 370c61870b Updated tests a bit 2014-01-21 23:19:03 +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
Mateusz Loskot 2734675750 Add headers to sources to enable file browsing in IDEs
By adding headers to sources of targets, CMake adds them to list of project files generated for IDEs.
This is non-intrusive trick, which does not affect targets compilation.
2014-01-19 19:56:37 +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