From 7c45e8b83f80696e4e0422b93a19adcde114a40b Mon Sep 17 00:00:00 2001 From: rbock Date: Wed, 30 Jul 2014 22:03:11 +0200 Subject: [PATCH] Removed _name_t from and added alias operators to result field. A result field really is just a value, if you insist on using it as a select column, give it a name via an alias. --- include/sqlpp11/result_field_methods.h | 6 +++--- tests/ResultTest.cpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/sqlpp11/result_field_methods.h b/include/sqlpp11/result_field_methods.h index c561a0d2..280a5357 100644 --- a/include/sqlpp11/result_field_methods.h +++ b/include/sqlpp11/result_field_methods.h @@ -28,6 +28,7 @@ #define SQLPP_RESULT_FIELD_METHODS_H #include +#include namespace sqlpp { @@ -69,7 +70,8 @@ namespace sqlpp }; template - struct result_field_methods_t: public result_field_methods_base_t + struct result_field_methods_t: public result_field_methods_base_t, + public alias_operators { using _base_t = result_field_methods_base_t; using _field_spec_t = typename _base_t::_field_spec_t; @@ -89,8 +91,6 @@ namespace sqlpp using _can_be_null = column_spec_can_be_null_t<_field_spec_t>; }; - using _name_t = typename _field_spec_t::_name_t; - }; } diff --git a/tests/ResultTest.cpp b/tests/ResultTest.cpp index c54d7686..bc01bd1b 100644 --- a/tests/ResultTest.cpp +++ b/tests/ResultTest.cpp @@ -50,13 +50,13 @@ int main() static_assert(std::is_member_function_pointer::value, "Yikes"); using T = sqlpp::wrap_operand_t; static_assert(sqlpp::can_be_null_t::value, "row.alpha can be null"); - static_assert(sqlpp::is_result_field_t::value, "row.alpha can be null"); + static_assert(sqlpp::is_result_field_t::value, "result_fields are not wrapped"); bool x = sqlpp::rhs_is_null(t.alpha == row.alpha); bool y = sqlpp::rhs_is_trivial(t.alpha == row.alpha); std::cerr << x << std::endl; std::cerr << y << std::endl; - + for (const auto& sub : db(select(all_of(t)).from(t).where(t.alpha == row.alpha))) { std::cerr << sub.alpha << std::endl;