From 93830d600a26eabe29be4c49eaa4995f13d51b78 Mon Sep 17 00:00:00 2001 From: niXman Date: Tue, 19 May 2015 13:42:22 +0300 Subject: [PATCH] fixes & changes to ppgen --- examples/ppgen.cpp | 6 ++-- include/sqlpp11/ppgen/colops/auto_increment.h | 2 +- include/sqlpp11/ppgen/colops/blob.h | 8 ++--- include/sqlpp11/ppgen/colops/bool.h | 2 +- include/sqlpp11/ppgen/colops/comment.h | 2 +- include/sqlpp11/ppgen/colops/default.h | 2 +- include/sqlpp11/ppgen/colops/floating_point.h | 4 +-- include/sqlpp11/ppgen/colops/index.h | 4 +-- include/sqlpp11/ppgen/colops/integer.h | 8 ++--- include/sqlpp11/ppgen/colops/key.h | 2 +- include/sqlpp11/ppgen/colops/not_null.h | 2 +- include/sqlpp11/ppgen/colops/null.h | 2 +- include/sqlpp11/ppgen/colops/primary_key.h | 2 +- include/sqlpp11/ppgen/colops/text.h | 2 +- include/sqlpp11/ppgen/colops/unique_index.h | 35 +++++++++++++++++++ include/sqlpp11/ppgen/colops/varchar.h | 6 ++-- include/sqlpp11/ppgen/tblops/character_set.h | 2 +- include/sqlpp11/ppgen/tblops/comment.h | 2 +- include/sqlpp11/ppgen/tblops/default.h | 2 +- include/sqlpp11/ppgen/tblops/engine.h | 2 +- 20 files changed, 66 insertions(+), 31 deletions(-) create mode 100644 include/sqlpp11/ppgen/colops/unique_index.h diff --git a/examples/ppgen.cpp b/examples/ppgen.cpp index 58b43222..759348f5 100644 --- a/examples/ppgen.cpp +++ b/examples/ppgen.cpp @@ -48,9 +48,9 @@ SQLPP_DECLARE_TABLE( SQLPP_DECLARE_TABLE( (tab_person) , - (id , int , SQLPP_AUTO_INCREMENT) - (name , varchar(255), SQLPP_NOT_NULL ) - (feature, int , SQLPP_NOT_NULL ) + (id , int , SQLPP_PRIMARY_KEY) + (name , varchar(255), SQLPP_NOT_NULL ) + (feature, int , SQLPP_NOT_NULL ) ) SQLPP_DECLARE_TABLE( diff --git a/include/sqlpp11/ppgen/colops/auto_increment.h b/include/sqlpp11/ppgen/colops/auto_increment.h index 7f88a5ec..1e7ae2bc 100644 --- a/include/sqlpp11/ppgen/colops/auto_increment.h +++ b/include/sqlpp11/ppgen/colops/auto_increment.h @@ -30,6 +30,6 @@ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_AUTO_INCREMENT \ 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 diff --git a/include/sqlpp11/ppgen/colops/blob.h b/include/sqlpp11/ppgen/colops/blob.h index 26c124e6..f387cbbe 100644 --- a/include/sqlpp11/ppgen/colops/blob.h +++ b/include/sqlpp11/ppgen/colops/blob.h @@ -30,21 +30,21 @@ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_tinyblob \ PROC_tinyblob #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_tinyblob(...) \ - sqlpp::blob + ::sqlpp::blob #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_blob \ PROC_blob #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_blob(...) \ - sqlpp::blob + ::sqlpp::blob #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_mediumblob \ PROC_mediumblob #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_mediumblob(...) \ - sqlpp::blob + ::sqlpp::blob #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_longblob \ PROC_longblob #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_longblob(...) \ - sqlpp::blob + ::sqlpp::blob #endif // _sqlpp__ppgen__colops__blob_h diff --git a/include/sqlpp11/ppgen/colops/bool.h b/include/sqlpp11/ppgen/colops/bool.h index 08521bd3..a3db1f92 100644 --- a/include/sqlpp11/ppgen/colops/bool.h +++ b/include/sqlpp11/ppgen/colops/bool.h @@ -30,6 +30,6 @@ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_bool \ PROC_bool #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_bool(...) \ - sqlpp::boolean + ::sqlpp::boolean #endif // _sqlpp__ppgen__colops__bool_h diff --git a/include/sqlpp11/ppgen/colops/comment.h b/include/sqlpp11/ppgen/colops/comment.h index f019b732..d0757d73 100644 --- a/include/sqlpp11/ppgen/colops/comment.h +++ b/include/sqlpp11/ppgen/colops/comment.h @@ -27,7 +27,7 @@ #ifndef _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 #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_COMMENT(str) \ [COMMENT is not implemented] diff --git a/include/sqlpp11/ppgen/colops/default.h b/include/sqlpp11/ppgen/colops/default.h index b7fbdeeb..b353651f 100644 --- a/include/sqlpp11/ppgen/colops/default.h +++ b/include/sqlpp11/ppgen/colops/default.h @@ -27,7 +27,7 @@ #ifndef _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 #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_DEFAULT(...) \ [DEFAULT is not implemented] diff --git a/include/sqlpp11/ppgen/colops/floating_point.h b/include/sqlpp11/ppgen/colops/floating_point.h index ea25560c..6b1dd018 100644 --- a/include/sqlpp11/ppgen/colops/floating_point.h +++ b/include/sqlpp11/ppgen/colops/floating_point.h @@ -30,11 +30,11 @@ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_float \ PROC_float #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_float(...) \ - sqlpp::floating_point + ::sqlpp::floating_point #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_double \ PROC_double #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_double(...) \ - sqlpp::floating_point + ::sqlpp::floating_point #endif // _sqlpp__ppgen__colops__floating_point_h diff --git a/include/sqlpp11/ppgen/colops/index.h b/include/sqlpp11/ppgen/colops/index.h index 37a1fee1..74476c01 100644 --- a/include/sqlpp11/ppgen/colops/index.h +++ b/include/sqlpp11/ppgen/colops/index.h @@ -27,9 +27,9 @@ #ifndef _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 -#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_INDEX(name) \ +#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_INDEX(indexname, ...) \ [INDEX is not implemented] #endif // _sqlpp__ppgen__colops__index_h diff --git a/include/sqlpp11/ppgen/colops/integer.h b/include/sqlpp11/ppgen/colops/integer.h index d913e441..e79a9860 100644 --- a/include/sqlpp11/ppgen/colops/integer.h +++ b/include/sqlpp11/ppgen/colops/integer.h @@ -30,21 +30,21 @@ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_tinyint \ PROC_tinyint #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_tinyint(...) \ - sqlpp::tinyint + ::sqlpp::tinyint #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_smallint \ PROC_smallint #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_smallint(...) \ - sqlpp::smallint + ::sqlpp::smallint #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_int \ PROC_int #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_int(...) \ - sqlpp::integer + ::sqlpp::integer #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_bigint \ PROC_bigint #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_bigint(...) \ - sqlpp::bigint + ::sqlpp::bigint #endif // _sqlpp__ppgen__colops__integer_h diff --git a/include/sqlpp11/ppgen/colops/key.h b/include/sqlpp11/ppgen/colops/key.h index 1791c30c..472a3102 100644 --- a/include/sqlpp11/ppgen/colops/key.h +++ b/include/sqlpp11/ppgen/colops/key.h @@ -27,7 +27,7 @@ #ifndef _sqlpp__ppgen__colops__key_h #define _sqlpp__ppgen__colops__key_h -#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_KEY(name) \ +#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_KEY \ PROC_SQLPP_KEY #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_KEY(name) \ [KEY is not implemented] diff --git a/include/sqlpp11/ppgen/colops/not_null.h b/include/sqlpp11/ppgen/colops/not_null.h index 0a2b029e..61fd82e2 100644 --- a/include/sqlpp11/ppgen/colops/not_null.h +++ b/include/sqlpp11/ppgen/colops/not_null.h @@ -30,6 +30,6 @@ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_NOT_NULL \ PROC_SQLPP_NOT_NULL #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_NOT_NULL(...) \ - sqlpp::tag::require_insert + ::sqlpp::require_insert #endif // _sqlpp__ppgen__colops__not_null_h diff --git a/include/sqlpp11/ppgen/colops/null.h b/include/sqlpp11/ppgen/colops/null.h index bd7d33d6..a960365e 100644 --- a/include/sqlpp11/ppgen/colops/null.h +++ b/include/sqlpp11/ppgen/colops/null.h @@ -30,6 +30,6 @@ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_NULL \ PROC_SQLPP_NULL #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_NULL(...) \ - sqlpp::tag::can_be_null + ::sqlpp::can_be_null #endif // _sqlpp__ppgen__colops__null_h diff --git a/include/sqlpp11/ppgen/colops/primary_key.h b/include/sqlpp11/ppgen/colops/primary_key.h index 916f752b..c3988008 100644 --- a/include/sqlpp11/ppgen/colops/primary_key.h +++ b/include/sqlpp11/ppgen/colops/primary_key.h @@ -30,6 +30,6 @@ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_PRIMARY_KEY \ PROC_SQLPP_PRIMARY_KEY #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_PRIMARY_KEY(...) \ - [PRIMARY_KEY is not implemented] + ::sqlpp::must_not_insert, ::sqlpp::must_not_update #endif // _sqlpp__ppgen__colops__primary_key_h diff --git a/include/sqlpp11/ppgen/colops/text.h b/include/sqlpp11/ppgen/colops/text.h index 7329a986..5278ea01 100644 --- a/include/sqlpp11/ppgen/colops/text.h +++ b/include/sqlpp11/ppgen/colops/text.h @@ -30,6 +30,6 @@ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_text \ PROC_text #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_text(...) \ - sqlpp::text + ::sqlpp::text #endif // _sqlpp__ppgen__colops__text_h diff --git a/include/sqlpp11/ppgen/colops/unique_index.h b/include/sqlpp11/ppgen/colops/unique_index.h new file mode 100644 index 00000000..8c1bc7cd --- /dev/null +++ b/include/sqlpp11/ppgen/colops/unique_index.h @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2014-2015, niXman (i dot nixman dog gmail dot com) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, this + * list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _sqlpp__ppgen__colops__unique_index_h +#define _sqlpp__ppgen__colops__unique_index_h + +#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_UNIQUE_INDEX \ + PROC_SQLPP_UNIQUE_INDEX +#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_UNIQUE_INDEX(indexname, ...) \ + [UNIQUE INDEX is not implemented] + +#endif // _sqlpp__ppgen__colops__unique_index_h diff --git a/include/sqlpp11/ppgen/colops/varchar.h b/include/sqlpp11/ppgen/colops/varchar.h index c4de3235..50770276 100644 --- a/include/sqlpp11/ppgen/colops/varchar.h +++ b/include/sqlpp11/ppgen/colops/varchar.h @@ -27,9 +27,9 @@ #ifndef _sqlpp__ppgen__colops__varchar_h #define _sqlpp__ppgen__colops__varchar_h -#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_varchar(str) \ +#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_varchar\ PROC_varchar -#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_varchar(str) \ - sqlpp::varchar +#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_varchar(...) \ + ::sqlpp::varchar #endif // _sqlpp__ppgen__colops__varchar_h diff --git a/include/sqlpp11/ppgen/tblops/character_set.h b/include/sqlpp11/ppgen/tblops/character_set.h index 8b5026b2..b9f35ae4 100644 --- a/include/sqlpp11/ppgen/tblops/character_set.h +++ b/include/sqlpp11/ppgen/tblops/character_set.h @@ -27,7 +27,7 @@ #ifndef _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 #define SQLPP_DECLARE_TABLE_GEN_PROC_SQLPP_CHARACTER_SET(str) \ [CHARACTER_SET is not implemented] diff --git a/include/sqlpp11/ppgen/tblops/comment.h b/include/sqlpp11/ppgen/tblops/comment.h index 6df2784b..b55c3f64 100644 --- a/include/sqlpp11/ppgen/tblops/comment.h +++ b/include/sqlpp11/ppgen/tblops/comment.h @@ -27,7 +27,7 @@ #ifndef _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 #define SQLPP_DECLARE_TABLE_GEN_TRAITS_PROC_SQLPP_COMMENT(str) \ [COMMENT is not implemented] diff --git a/include/sqlpp11/ppgen/tblops/default.h b/include/sqlpp11/ppgen/tblops/default.h index 7e70bf8f..d9f4d56b 100644 --- a/include/sqlpp11/ppgen/tblops/default.h +++ b/include/sqlpp11/ppgen/tblops/default.h @@ -27,7 +27,7 @@ #ifndef _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 #define SQLPP_DECLARE_TABLE_GEN_TRAITS_PROC_SQLPP_DEFAULT(...) \ [DEFAULT is not implemented] diff --git a/include/sqlpp11/ppgen/tblops/engine.h b/include/sqlpp11/ppgen/tblops/engine.h index 24b2e8aa..38892dea 100644 --- a/include/sqlpp11/ppgen/tblops/engine.h +++ b/include/sqlpp11/ppgen/tblops/engine.h @@ -27,7 +27,7 @@ #ifndef _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 #define SQLPP_DECLARE_TABLE_GEN_PROC_SQLPP_ENGINE(str) \ [ENGINE is not implemented]