From 6074ea4313e0d7f00bc829472dcaddc1ce90e748 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sat, 5 Apr 2025 06:45:46 +0200 Subject: [PATCH] schema and table name as constexpr const char --- include/sqlgen/parsing/has_schema.hpp | 3 ++- include/sqlgen/parsing/has_tablename.hpp | 3 ++- tests/test_schema.cpp | 2 +- tests/test_tablename.cpp | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/include/sqlgen/parsing/has_schema.hpp b/include/sqlgen/parsing/has_schema.hpp index 34f99a4..e5eb24c 100644 --- a/include/sqlgen/parsing/has_schema.hpp +++ b/include/sqlgen/parsing/has_schema.hpp @@ -2,12 +2,13 @@ #define SQLGEN_PARSING_HAS_SCHEMA_HPP_ #include +#include namespace sqlgen::parsing { template concept has_schema = requires() { - { typename T::schema() } -> std::same_as; + { T::schema } -> std::convertible_to; }; } // namespace sqlgen::parsing diff --git a/include/sqlgen/parsing/has_tablename.hpp b/include/sqlgen/parsing/has_tablename.hpp index 200679e..b378634 100644 --- a/include/sqlgen/parsing/has_tablename.hpp +++ b/include/sqlgen/parsing/has_tablename.hpp @@ -2,12 +2,13 @@ #define SQLGEN_PARSING_HAS_TABLENAME_HPP_ #include +#include namespace sqlgen::parsing { template concept has_tablename = requires() { - { typename T::tablename() } -> std::same_as; + { T::tablename } -> std::convertible_to; }; } // namespace sqlgen::parsing diff --git a/tests/test_schema.cpp b/tests/test_schema.cpp index 15e0bd1..276b19e 100644 --- a/tests/test_schema.cpp +++ b/tests/test_schema.cpp @@ -6,7 +6,7 @@ namespace test_schema { struct TestTable { - using schema = sqlgen::Literal<"test">; + static constexpr const char* schema = "test"; std::string field1; int32_t field2; diff --git a/tests/test_tablename.cpp b/tests/test_tablename.cpp index 36900c7..20b3218 100644 --- a/tests/test_tablename.cpp +++ b/tests/test_tablename.cpp @@ -6,7 +6,7 @@ namespace test_tablename { struct TestTable { - using tablename = sqlgen::Literal<"TEST_TABLE">; + static constexpr const char* tablename = "TEST_TABLE"; std::string field1; int32_t field2;