diff --git a/examples/ppgen.cpp b/examples/ppgen.cpp index 58b43222..d865f4e8 100644 --- a/examples/ppgen.cpp +++ b/examples/ppgen.cpp @@ -48,17 +48,17 @@ 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( (tab_feature) , - (id , int , SQLPP_AUTO_INCREMENT) - (name , varchar(255), SQLPP_NULL ) - (fatal, bool , SQLPP_NOT_NULL ) + (id , int , SQLPP_PRIMARY_KEY) + (name , varchar(255), SQLPP_NULL ) + (fatal, bool , SQLPP_NOT_NULL ) ) int main() diff --git a/include/sqlpp11/ppgen.h b/include/sqlpp11/ppgen.h index 50141bc1..0e950bc6 100644 --- a/include/sqlpp11/ppgen.h +++ b/include/sqlpp11/ppgen.h @@ -35,6 +35,19 @@ # define BOOST_PP_VARIADICS 1 #endif // defined(__clang__) +// boost.preprocessor +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + // tools #include #include @@ -51,6 +64,7 @@ #include #include #include +#include #include #include #include @@ -58,22 +72,9 @@ #include #include #include -#include +#include #include -// boost.preprocessor -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - /***************************************************************************/ // tools 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/unique.h b/include/sqlpp11/ppgen/colops/foreign_key.h similarity index 79% rename from include/sqlpp11/ppgen/colops/unique.h rename to include/sqlpp11/ppgen/colops/foreign_key.h index 34b43792..33147fe8 100644 --- a/include/sqlpp11/ppgen/colops/unique.h +++ b/include/sqlpp11/ppgen/colops/foreign_key.h @@ -24,12 +24,12 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef _sqlpp__ppgen__colops__unique_h -#define _sqlpp__ppgen__colops__unique_h +#ifndef _sqlpp__ppgen__colops__foreign_key_h +#define _sqlpp__ppgen__colops__foreign_key_h -#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_UNIQUE \ - PROC_SQLPP_UNIQUE -#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_UNIQUE(...) \ - [UNIQUE is not implemented] +#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_FOREIGN_KEY \ + PROC_SQLPP_FOREIGN_KEY +#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_FOREIGN_KEY(keyname, tblname, colname) \ + [FOREIGN KEY is not implemented] -#endif // _sqlpp__ppgen__colops__unique_h +#endif // _sqlpp__ppgen__colops__foreign_key_h diff --git a/include/sqlpp11/ppgen/colops/index.h b/include/sqlpp11/ppgen/colops/index.h index 37a1fee1..a5344f43 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, tblname, /* cols */ ...) \ [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/not_null.h b/include/sqlpp11/ppgen/colops/not_null.h index 0a2b029e..7a3059b0 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::tag::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..dcb8aef2 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::tag::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..ec356a7c 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::tag::must_not_insert, ::sqlpp::tag::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/key.h b/include/sqlpp11/ppgen/colops/unique_index.h similarity index 79% rename from include/sqlpp11/ppgen/colops/key.h rename to include/sqlpp11/ppgen/colops/unique_index.h index 1791c30c..3a64e521 100644 --- a/include/sqlpp11/ppgen/colops/key.h +++ b/include/sqlpp11/ppgen/colops/unique_index.h @@ -24,12 +24,12 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef _sqlpp__ppgen__colops__key_h -#define _sqlpp__ppgen__colops__key_h +#ifndef _sqlpp__ppgen__colops__unique_index_h +#define _sqlpp__ppgen__colops__unique_index_h -#define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_SQLPP_KEY(name) \ - PROC_SQLPP_KEY -#define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_SQLPP_KEY(name) \ - [KEY is not implemented] +#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, tblname, /* cols */ ...) \ + [UNIQUE INDEX is not implemented] -#endif // _sqlpp__ppgen__colops__key_h +#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..d5944a70 100644 --- a/include/sqlpp11/ppgen/colops/varchar.h +++ b/include/sqlpp11/ppgen/colops/varchar.h @@ -30,6 +30,6 @@ #define SQLPP_DECLARE_COLUMN_GET_TRAITS_LAZY_varchar(str) \ PROC_varchar #define SQLPP_DECLARE_COLUMN_GEN_TRAITS_PROC_varchar(str) \ - sqlpp::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]