diff --git a/include/matador/orm/session.hpp b/include/matador/orm/session.hpp index 6eceeef..f0fff42 100644 --- a/include/matador/orm/session.hpp +++ b/include/matador/orm/session.hpp @@ -246,7 +246,7 @@ utils::result, utils::error> session::update( const obj using namespace matador::utils; using namespace matador::query; - const auto col = column(info.value().get().definition().primary_key()->name()); + const auto col = column(info.value().get().reference_column()->name()); auto res = matador::query::query::update(info->get().name()) .set(generator::column_value_pairs()) .where(col == _) @@ -272,7 +272,7 @@ utils::result session::remove( const object::object_ptrname()); + const auto col = column(info.value().get().reference_column()->name()); auto res = matador::query::query::remove() .from( info->get().name() ) .where(col == _) @@ -294,7 +294,7 @@ utils::result, utils::error> session::find(const Primar if (!info) { return utils::failure(make_error(error_code::UnknownType, "Failed to determine requested type.")); } - if (!info.value().get().definition().has_primary_key()) { + if (!info.value().get().has_primary_key()) { return utils::failure(make_error(error_code::NoPrimaryKey, "Type hasn't primary key.")); } diff --git a/include/matador/query/intermediates/query_create_intermediate.hpp b/include/matador/query/intermediates/query_create_intermediate.hpp index df5c641..21df036 100644 --- a/include/matador/query/intermediates/query_create_intermediate.hpp +++ b/include/matador/query/intermediates/query_create_intermediate.hpp @@ -13,10 +13,10 @@ class query_create_intermediate : public query_intermediate { public: query_create_intermediate(); - executable_query table(const query::table &tab, std::initializer_list columns); + executable_query table(const table &tab, std::initializer_list columns); executable_query table(const query::table &tab, const std::vector &columns); template - executable_query table(const query::table &tab, const object::repository &schema) { + executable_query table(const matador::query::table &tab, const object::repository &schema) { return this->table(tab, object::attribute_definition_generator::generate(schema)); } executable_query schema(const std::string &schema_name); diff --git a/test/backends/QueryBasicTest.cpp b/test/backends/QueryBasicTest.cpp index 52b6769..39da107 100644 --- a/test/backends/QueryBasicTest.cpp +++ b/test/backends/QueryBasicTest.cpp @@ -68,7 +68,7 @@ TEST_CASE_METHOD( QueryFixture, "Insert and select basic datatypes", "[query][da ucval, usval, uival, ullval, float_value, double_value, bval, - "Armer schwarzer Kater", + // "Armer schwarzer Kater", strval, varcharval, // date_val, time_val, blob_val @@ -98,7 +98,7 @@ TEST_CASE_METHOD( QueryFixture, "Insert and select basic datatypes", "[query][da REQUIRE((*result)->unsigned_long64_ == ullval); REQUIRE((*result)->float_ == float_value); REQUIRE((*result)->double_ == double_value); - REQUIRE(strcmp((*result)->cstr_, cstr) == 0); + // REQUIRE(strcmp((*result)->cstr_, cstr) == 0); REQUIRE((*result)->bool_ == bval); REQUIRE((*result)->varchar_ == varcharval); REQUIRE((*result)->string_ == strval); @@ -294,7 +294,7 @@ TEST_CASE_METHOD(QueryFixture, "Test describe table", "[query][describe][table]" "val_char", "val_float", "val_double", "val_short", "val_int", "val_long_long", "val_unsigned_char", "val_unsigned_short", "val_unsigned_int", "val_unsigned_long_long", - "val_bool", "val_cstr", "val_string", "val_varchar", + "val_bool", /*"val_cstr", */"val_string", "val_varchar", // "val_date", "val_time", "val_binary"}; const std::vector> type_check = { @@ -312,7 +312,7 @@ TEST_CASE_METHOD(QueryFixture, "Test describe table", "[query][describe][table]" // [](const attribute_definition &cf) { return cf.is_integer(); }, [](const attribute_definition &cf) { return cf.is_integer(); }, [](const attribute_definition &cf) { return cf.is_bool(); }, - [](const attribute_definition &cf) { return cf.is_varchar(); }, + // [](const attribute_definition &cf) { return cf.is_varchar(); }, [](const attribute_definition &cf) { return cf.is_string(); }, [](const attribute_definition &cf) { return cf.is_varchar(); }, // [](const attribute_definition &cf) { return cf.is_date(); }, diff --git a/test/backends/QueryStatementTests.cpp b/test/backends/QueryStatementTests.cpp index 66d5289..dc175ad 100644 --- a/test/backends/QueryStatementTests.cpp +++ b/test/backends/QueryStatementTests.cpp @@ -21,7 +21,7 @@ using namespace matador::test; TEST_CASE_METHOD(QueryFixture, "Test create statement", "[query][statement][create]") { REQUIRE(repo.attach("person")); auto stmt = query::create() - .table("person"_tab, repo) + .table("person", repo) .prepare(db); REQUIRE(stmt); diff --git a/test/models/types.hpp b/test/models/types.hpp index 2a07339..73ecf05 100644 --- a/test/models/types.hpp +++ b/test/models/types.hpp @@ -8,7 +8,7 @@ namespace matador::test { struct types { - enum { CSTR_LEN=255 }; + // enum { CSTR_LEN=255 }; unsigned int id_ = 0; int8_t char_ = 'c'; @@ -22,7 +22,7 @@ struct types float float_ = 3.1415f; double double_ = 1.1414; bool bool_ = true; - char cstr_[CSTR_LEN]{}; + // char cstr_[CSTR_LEN]{}; std::string string_ = "Welt"; std::string varchar_ = "Erde"; // matador::date date_; @@ -46,7 +46,7 @@ struct types field::attribute(op, "val_unsigned_int", unsigned_int_); field::attribute(op, "val_unsigned_long_long", unsigned_long64_); field::attribute(op, "val_bool", bool_); - field::attribute(op, "val_cstr", cstr_, CSTR_LEN); + // field::attribute(op, "val_cstr", cstr_, CSTR_LEN); field::attribute(op, "val_string", string_); field::attribute(op, "val_varchar", varchar_, 63); // field::attribute(op, "val_date", date_);