0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-15 20:31:16 +08:00

Merge pull request #41 from niXman/develop

fixes & changes to ppgen
This commit is contained in:
Roland Bock 2015-05-19 16:39:26 +02:00
commit 13b5b5be30
21 changed files with 60 additions and 59 deletions

View File

@ -48,17 +48,17 @@ SQLPP_DECLARE_TABLE(
SQLPP_DECLARE_TABLE( SQLPP_DECLARE_TABLE(
(tab_person) (tab_person)
, ,
(id , int , SQLPP_AUTO_INCREMENT) (id , int , SQLPP_PRIMARY_KEY)
(name , varchar(255), SQLPP_NOT_NULL ) (name , varchar(255), SQLPP_NOT_NULL )
(feature, int , SQLPP_NOT_NULL ) (feature, int , SQLPP_NOT_NULL )
) )
SQLPP_DECLARE_TABLE( SQLPP_DECLARE_TABLE(
(tab_feature) (tab_feature)
, ,
(id , int , SQLPP_AUTO_INCREMENT) (id , int , SQLPP_PRIMARY_KEY)
(name , varchar(255), SQLPP_NULL ) (name , varchar(255), SQLPP_NULL )
(fatal, bool , SQLPP_NOT_NULL ) (fatal, bool , SQLPP_NOT_NULL )
) )
int main() int main()

View File

@ -35,6 +35,19 @@
# define BOOST_PP_VARIADICS 1 # define BOOST_PP_VARIADICS 1
#endif // defined(__clang__) #endif // defined(__clang__)
// boost.preprocessor
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/facilities/expand.hpp>
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/comparison/less.hpp>
#include <boost/preprocessor/arithmetic/add.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/seq/for_each_i.hpp>
#include <boost/preprocessor/stringize.hpp>
#include <boost/preprocessor/tuple/elem.hpp>
#include <boost/preprocessor/tuple/size.hpp>
#include <boost/preprocessor/tuple/to_seq.hpp>
// tools // tools
#include <sqlpp11/ppgen/tools/wrap_seq.h> #include <sqlpp11/ppgen/tools/wrap_seq.h>
#include <sqlpp11/ppgen/tools/tuple_pop_front.h> #include <sqlpp11/ppgen/tools/tuple_pop_front.h>
@ -51,6 +64,7 @@
#include <sqlpp11/ppgen/colops/datetime.h> #include <sqlpp11/ppgen/colops/datetime.h>
#include <sqlpp11/ppgen/colops/default.h> #include <sqlpp11/ppgen/colops/default.h>
#include <sqlpp11/ppgen/colops/floating_point.h> #include <sqlpp11/ppgen/colops/floating_point.h>
#include <sqlpp11/ppgen/colops/foreign_key.h>
#include <sqlpp11/ppgen/colops/index.h> #include <sqlpp11/ppgen/colops/index.h>
#include <sqlpp11/ppgen/colops/integer.h> #include <sqlpp11/ppgen/colops/integer.h>
#include <sqlpp11/ppgen/colops/not_null.h> #include <sqlpp11/ppgen/colops/not_null.h>
@ -58,22 +72,9 @@
#include <sqlpp11/ppgen/colops/primary_key.h> #include <sqlpp11/ppgen/colops/primary_key.h>
#include <sqlpp11/ppgen/colops/text.h> #include <sqlpp11/ppgen/colops/text.h>
#include <sqlpp11/ppgen/colops/timestamp.h> #include <sqlpp11/ppgen/colops/timestamp.h>
#include <sqlpp11/ppgen/colops/unique.h> #include <sqlpp11/ppgen/colops/unique_index.h>
#include <sqlpp11/ppgen/colops/varchar.h> #include <sqlpp11/ppgen/colops/varchar.h>
// boost.preprocessor
#include <boost/preprocessor/cat.hpp>
#include <boost/preprocessor/facilities/expand.hpp>
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/comparison/less.hpp>
#include <boost/preprocessor/arithmetic/add.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/seq/for_each_i.hpp>
#include <boost/preprocessor/stringize.hpp>
#include <boost/preprocessor/tuple/elem.hpp>
#include <boost/preprocessor/tuple/size.hpp>
#include <boost/preprocessor/tuple/to_seq.hpp>
/***************************************************************************/ /***************************************************************************/
// tools // tools

View File

@ -30,6 +30,6 @@
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_AUTO_INCREMENT \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_AUTO_INCREMENT \
PROC_SQLPP_AUTO_INCREMENT PROC_SQLPP_AUTO_INCREMENT
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_AUTO_INCREMENT(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_AUTO_INCREMENT(...) \
sqlpp::tag::must_not_update ::sqlpp::tag::must_not_update
#endif // _sqlpp__ppgen__colops__auto_increment_h #endif // _sqlpp__ppgen__colops__auto_increment_h

View File

@ -30,21 +30,21 @@
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_tinyblob \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_tinyblob \
PROC_tinyblob PROC_tinyblob
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_tinyblob(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_tinyblob(...) \
sqlpp::blob ::sqlpp::blob
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_blob \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_blob \
PROC_blob PROC_blob
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_blob(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_blob(...) \
sqlpp::blob ::sqlpp::blob
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_mediumblob \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_mediumblob \
PROC_mediumblob PROC_mediumblob
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_mediumblob(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_mediumblob(...) \
sqlpp::blob ::sqlpp::blob
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_longblob \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_longblob \
PROC_longblob PROC_longblob
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_longblob(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_longblob(...) \
sqlpp::blob ::sqlpp::blob
#endif // _sqlpp__ppgen__colops__blob_h #endif // _sqlpp__ppgen__colops__blob_h

View File

@ -30,6 +30,6 @@
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_bool \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_bool \
PROC_bool PROC_bool
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_bool(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_bool(...) \
sqlpp::boolean ::sqlpp::boolean
#endif // _sqlpp__ppgen__colops__bool_h #endif // _sqlpp__ppgen__colops__bool_h

View File

@ -27,7 +27,7 @@
#ifndef _sqlpp__ppgen__colops__comment_h #ifndef _sqlpp__ppgen__colops__comment_h
#define _sqlpp__ppgen__colops__comment_h #define _sqlpp__ppgen__colops__comment_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_COMMENT(str) \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_COMMENT \
PROC_SQLPP_COMMENT PROC_SQLPP_COMMENT
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_COMMENT(str) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_COMMENT(str) \
[COMMENT is not implemented] [COMMENT is not implemented]

View File

@ -27,7 +27,7 @@
#ifndef _sqlpp__ppgen__colops__default_h #ifndef _sqlpp__ppgen__colops__default_h
#define _sqlpp__ppgen__colops__default_h #define _sqlpp__ppgen__colops__default_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_DEFAULT(value) \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_DEFAULT \
PROC_SQLPP_DEFAULT PROC_SQLPP_DEFAULT
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_DEFAULT(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_DEFAULT(...) \
[DEFAULT is not implemented] [DEFAULT is not implemented]

View File

@ -30,11 +30,11 @@
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_float \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_float \
PROC_float PROC_float
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_float(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_float(...) \
sqlpp::floating_point ::sqlpp::floating_point
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_double \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_double \
PROC_double PROC_double
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_double(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_double(...) \
sqlpp::floating_point ::sqlpp::floating_point
#endif // _sqlpp__ppgen__colops__floating_point_h #endif // _sqlpp__ppgen__colops__floating_point_h

View File

@ -24,12 +24,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#ifndef _sqlpp__ppgen__colops__unique_h #ifndef _sqlpp__ppgen__colops__foreign_key_h
#define _sqlpp__ppgen__colops__unique_h #define _sqlpp__ppgen__colops__foreign_key_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_UNIQUE \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_FOREIGN_KEY \
PROC_SQLPP_UNIQUE PROC_SQLPP_FOREIGN_KEY
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_UNIQUE(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_FOREIGN_KEY(keyname, tblname, colname) \
[UNIQUE is not implemented] [FOREIGN KEY is not implemented]
#endif // _sqlpp__ppgen__colops__unique_h #endif // _sqlpp__ppgen__colops__foreign_key_h

View File

@ -27,9 +27,9 @@
#ifndef _sqlpp__ppgen__colops__index_h #ifndef _sqlpp__ppgen__colops__index_h
#define _sqlpp__ppgen__colops__index_h #define _sqlpp__ppgen__colops__index_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_INDEX(name) \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_INDEX \
PROC_SQLPP_INDEX PROC_SQLPP_INDEX
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_INDEX(name) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_INDEX(indexname, tblname, /* cols */ ...) \
[INDEX is not implemented] [INDEX is not implemented]
#endif // _sqlpp__ppgen__colops__index_h #endif // _sqlpp__ppgen__colops__index_h

View File

@ -30,21 +30,21 @@
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_tinyint \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_tinyint \
PROC_tinyint PROC_tinyint
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_tinyint(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_tinyint(...) \
sqlpp::tinyint ::sqlpp::tinyint
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_smallint \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_smallint \
PROC_smallint PROC_smallint
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_smallint(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_smallint(...) \
sqlpp::smallint ::sqlpp::smallint
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_int \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_int \
PROC_int PROC_int
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_int(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_int(...) \
sqlpp::integer ::sqlpp::integer
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_bigint \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_bigint \
PROC_bigint PROC_bigint
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_bigint(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_bigint(...) \
sqlpp::bigint ::sqlpp::bigint
#endif // _sqlpp__ppgen__colops__integer_h #endif // _sqlpp__ppgen__colops__integer_h

View File

@ -30,6 +30,6 @@
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_NOT_NULL \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_NOT_NULL \
PROC_SQLPP_NOT_NULL PROC_SQLPP_NOT_NULL
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_NOT_NULL(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_NOT_NULL(...) \
sqlpp::tag::require_insert ::sqlpp::tag::require_insert
#endif // _sqlpp__ppgen__colops__not_null_h #endif // _sqlpp__ppgen__colops__not_null_h

View File

@ -30,6 +30,6 @@
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_NULL \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_NULL \
PROC_SQLPP_NULL PROC_SQLPP_NULL
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_NULL(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_NULL(...) \
sqlpp::tag::can_be_null ::sqlpp::tag::can_be_null
#endif // _sqlpp__ppgen__colops__null_h #endif // _sqlpp__ppgen__colops__null_h

View File

@ -30,6 +30,6 @@
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_PRIMARY_KEY \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_PRIMARY_KEY \
PROC_SQLPP_PRIMARY_KEY PROC_SQLPP_PRIMARY_KEY
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_PRIMARY_KEY(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_PRIMARY_KEY(...) \
[PRIMARY_KEY is not implemented] ::sqlpp::tag::must_not_insert, ::sqlpp::tag::must_not_update
#endif // _sqlpp__ppgen__colops__primary_key_h #endif // _sqlpp__ppgen__colops__primary_key_h

View File

@ -30,6 +30,6 @@
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_text \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_text \
PROC_text PROC_text
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_text(...) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_text(...) \
sqlpp::text ::sqlpp::text
#endif // _sqlpp__ppgen__colops__text_h #endif // _sqlpp__ppgen__colops__text_h

View File

@ -24,12 +24,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#ifndef _sqlpp__ppgen__colops__key_h #ifndef _sqlpp__ppgen__colops__unique_index_h
#define _sqlpp__ppgen__colops__key_h #define _sqlpp__ppgen__colops__unique_index_h
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_KEY(name) \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_UNIQUE_INDEX \
PROC_SQLPP_KEY PROC_SQLPP_UNIQUE_INDEX
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_KEY(name) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_UNIQUE_INDEX(indexname, tblname, /* cols */ ...) \
[KEY is not implemented] [UNIQUE INDEX is not implemented]
#endif // _sqlpp__ppgen__colops__key_h #endif // _sqlpp__ppgen__colops__unique_index_h

View File

@ -30,6 +30,6 @@
#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_varchar(str) \ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_varchar(str) \
PROC_varchar PROC_varchar
#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_varchar(str) \ #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_varchar(str) \
sqlpp::varchar ::sqlpp::varchar
#endif // _sqlpp__ppgen__colops__varchar_h #endif // _sqlpp__ppgen__colops__varchar_h

View File

@ -27,7 +27,7 @@
#ifndef _sqlpp__ppgen__tblops__character_set_h #ifndef _sqlpp__ppgen__tblops__character_set_h
#define _sqlpp__ppgen__tblops__character_set_h #define _sqlpp__ppgen__tblops__character_set_h
#define SQLPP_DECLARE_TABLE_GET_PROC_LAZY_SQLPP_CHARACTER_SET(str) \ #define SQLPP_DECLARE_TABLE_GET_PROC_LAZY_SQLPP_CHARACTER_SET \
PROC_SQLPP_CHARACTER_SET PROC_SQLPP_CHARACTER_SET
#define SQLPP_DECLARE_TABLE_GEN_PROC_SQLPP_CHARACTER_SET(str) \ #define SQLPP_DECLARE_TABLE_GEN_PROC_SQLPP_CHARACTER_SET(str) \
[CHARACTER_SET is not implemented] [CHARACTER_SET is not implemented]

View File

@ -27,7 +27,7 @@
#ifndef _sqlpp__ppgen__tblops__comment_h #ifndef _sqlpp__ppgen__tblops__comment_h
#define _sqlpp__ppgen__tblops__comment_h #define _sqlpp__ppgen__tblops__comment_h
#define SQLPP_DECLARE_TABLE_GET_TRAITS_LAZY_SQLPP_COMMENT(str) \ #define SQLPP_DECLARE_TABLE_GET_TRAITS_LAZY_SQLPP_COMMENT \
PROC_SQLPP_COMMENT PROC_SQLPP_COMMENT
#define SQLPP_DECLARE_TABLE_GEN_TRAITS_PROC_SQLPP_COMMENT(str) \ #define SQLPP_DECLARE_TABLE_GEN_TRAITS_PROC_SQLPP_COMMENT(str) \
[COMMENT is not implemented] [COMMENT is not implemented]

View File

@ -27,7 +27,7 @@
#ifndef _sqlpp__ppgen__tblops__default_h #ifndef _sqlpp__ppgen__tblops__default_h
#define _sqlpp__ppgen__tblops__default_h #define _sqlpp__ppgen__tblops__default_h
#define SQLPP_DECLARE_TABLE_GET_TRAITS_LAZY_SQLPP_DEFAULT(value) \ #define SQLPP_DECLARE_TABLE_GET_TRAITS_LAZY_SQLPP_DEFAULT \
PROC_SQLPP_DEFAULT PROC_SQLPP_DEFAULT
#define SQLPP_DECLARE_TABLE_GEN_TRAITS_PROC_SQLPP_DEFAULT(...) \ #define SQLPP_DECLARE_TABLE_GEN_TRAITS_PROC_SQLPP_DEFAULT(...) \
[DEFAULT is not implemented] [DEFAULT is not implemented]

View File

@ -27,7 +27,7 @@
#ifndef _sqlpp__ppgen__tblops__engine_h #ifndef _sqlpp__ppgen__tblops__engine_h
#define _sqlpp__ppgen__tblops__engine_h #define _sqlpp__ppgen__tblops__engine_h
#define SQLPP_DECLARE_TABLE_GET_PROC_LAZY_SQLPP_ENGINE(str) \ #define SQLPP_DECLARE_TABLE_GET_PROC_LAZY_SQLPP_ENGINE \
PROC_SQLPP_ENGINE PROC_SQLPP_ENGINE
#define SQLPP_DECLARE_TABLE_GEN_PROC_SQLPP_ENGINE(str) \ #define SQLPP_DECLARE_TABLE_GEN_PROC_SQLPP_ENGINE(str) \
[ENGINE is not implemented] [ENGINE is not implemented]