fixed backend test compilation
This commit is contained in:
@@ -25,11 +25,10 @@ protected:
|
||||
|
||||
public:
|
||||
template < class Type >
|
||||
utils::result<sql::query_result<Type>, utils::error> fetch_all(sql::executor &exec)
|
||||
{
|
||||
utils::result<sql::query_result<Type>, utils::error> fetch_all(sql::executor &exec) {
|
||||
auto result = fetch(exec);
|
||||
if (!result.is_ok()) {
|
||||
return utils::error(result.err());
|
||||
return utils::failure(result.err());
|
||||
}
|
||||
|
||||
return utils::ok(sql::query_result<Type>(result.release()));
|
||||
@@ -41,7 +40,7 @@ public:
|
||||
{
|
||||
auto result = fetch(exec);
|
||||
if (!result.is_ok()) {
|
||||
return utils::error(result.err());
|
||||
return utils::failure(result.err());
|
||||
}
|
||||
|
||||
auto objects = sql::query_result<Type>(result.release());
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
|
||||
#include "matador/query/intermediates/executable_query.hpp"
|
||||
|
||||
#include "matador/object/attribute_definition_generator.hpp"
|
||||
|
||||
namespace matador::query {
|
||||
|
||||
class query_create_intermediate : public query_intermediate
|
||||
@@ -14,11 +16,10 @@ public:
|
||||
|
||||
executable_query table(const sql::table &table, std::initializer_list<object::attribute_definition> columns);
|
||||
executable_query table(const sql::table &table, const std::vector<object::attribute_definition> &columns);
|
||||
// template<class Type>
|
||||
// executable_query table(const sql::table &table, const sql::schema &schema)
|
||||
// {
|
||||
// return this->table(table, column_definition_generator::generate<Type>(schema));
|
||||
// }
|
||||
template<class Type>
|
||||
executable_query table(const sql::table &table, const object::schema &schema) {
|
||||
return this->table(table, object::attribute_definition_generator::generate<Type>(schema));
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -2,20 +2,21 @@
|
||||
#define QUERY_INSERT_INTERMEDIATE_HPP
|
||||
|
||||
#include "matador/query/intermediates/query_intermediate.hpp"
|
||||
#include "matador/query/intermediates/query_into_intermediate.hpp"
|
||||
|
||||
#include "matador/sql/column_generator.hpp"
|
||||
|
||||
namespace matador::query {
|
||||
|
||||
class query_into_intermediate;
|
||||
|
||||
class query_insert_intermediate : public query_intermediate
|
||||
{
|
||||
public:
|
||||
query_insert_intermediate();
|
||||
|
||||
// template<class Type>
|
||||
// query_into_intermediate into(const sql::table &table, const sql::schema &schema) {
|
||||
// return into(table, column_generator::generate<Type>(schema));
|
||||
// }
|
||||
template<class Type>
|
||||
query_into_intermediate into(const sql::table &table, const object::schema &schema) {
|
||||
return into(table, sql::column_generator::generate<Type>(schema));
|
||||
}
|
||||
query_into_intermediate into(const sql::table &table, std::initializer_list<sql::column> columns);
|
||||
query_into_intermediate into(const sql::table &table, std::vector<sql::column> &&columns);
|
||||
query_into_intermediate into(const sql::table &table, const std::vector<std::string> &column_names);
|
||||
|
||||
@@ -9,15 +9,6 @@
|
||||
|
||||
namespace matador::query {
|
||||
|
||||
// template < class Type >
|
||||
// std::vector<utils::any_type> as_placeholder(const Type &obj)
|
||||
// {
|
||||
// placeholder_generator generator;
|
||||
// access::process(generator, obj);
|
||||
|
||||
// return generator.placeholder_values;
|
||||
// \}
|
||||
|
||||
class query_into_intermediate : public query_intermediate
|
||||
{
|
||||
public:
|
||||
@@ -25,16 +16,15 @@ public:
|
||||
|
||||
executable_query values(std::initializer_list<std::variant<utils::placeholder, utils::database_type>> values);
|
||||
executable_query values(std::vector<std::variant<utils::placeholder, utils::database_type>> &&values);
|
||||
// template<class Type>
|
||||
// executable_query values()
|
||||
// {
|
||||
// Type obj;
|
||||
// return values(std::move(as_placeholder(obj)));
|
||||
// }
|
||||
executable_query values(std::vector<utils::database_type> &&values);
|
||||
template<class Type>
|
||||
executable_query values(const Type &obj)
|
||||
{
|
||||
return values(std::move(value_extractor::extract(obj)));
|
||||
executable_query values() {
|
||||
Type obj;
|
||||
return values(obj);
|
||||
}
|
||||
template<class Type>
|
||||
executable_query values(const Type &obj) {
|
||||
return values(value_extractor::extract(obj));
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -11,31 +11,19 @@
|
||||
|
||||
namespace matador::query {
|
||||
|
||||
// template < class Type >
|
||||
// std::vector<internal::key_value_pair> as_key_value_placeholder(const Type &obj)
|
||||
// {
|
||||
// placeholder_key_value_generator generator;
|
||||
// access::process(generator, obj);
|
||||
//
|
||||
// return generator.placeholder_values;
|
||||
// }
|
||||
|
||||
class query_update_intermediate : public query_intermediate
|
||||
{
|
||||
class query_update_intermediate : public query_intermediate {
|
||||
public:
|
||||
explicit query_update_intermediate(const sql::table& table);
|
||||
|
||||
query_set_intermediate set(std::initializer_list<internal::key_value_pair> columns);
|
||||
query_set_intermediate set(std::vector<internal::key_value_pair> &&columns);
|
||||
// template<class Type>
|
||||
// query_set_intermediate set()
|
||||
// {
|
||||
// Type obj;
|
||||
// return set(std::move(as_key_value_placeholder(obj)));
|
||||
// }
|
||||
template<class Type>
|
||||
query_set_intermediate set(const Type &obj)
|
||||
{
|
||||
query_set_intermediate set() {
|
||||
Type obj;
|
||||
return set(obj);
|
||||
}
|
||||
template<class Type>
|
||||
query_set_intermediate set(const Type &obj) {
|
||||
return set(key_value_generator::generate(obj));
|
||||
}
|
||||
};
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "matador/query/query_intermediates.hpp"
|
||||
|
||||
#include "matador/sql/column_generator.hpp"
|
||||
|
||||
namespace matador::sql {
|
||||
class connection;
|
||||
}
|
||||
@@ -22,10 +24,10 @@ public:
|
||||
[[nodiscard]] static query_select_intermediate select(const std::vector<sql::column>& columns);
|
||||
[[nodiscard]] static query_select_intermediate select(const std::vector<std::string> &column_names);
|
||||
[[nodiscard]] static query_select_intermediate select(std::vector<sql::column> columns, std::initializer_list<sql::column> additional_columns);
|
||||
// template<class Type>
|
||||
// [[nodiscard]] static query_select_intermediate select(const sql::schema &schema) {
|
||||
// return select(sql::column_generator::generate<Type>(schema));
|
||||
// }
|
||||
template<class Type>
|
||||
[[nodiscard]] static query_select_intermediate select(const object::schema &schema) {
|
||||
return select(sql::column_generator::generate<Type>(schema));
|
||||
}
|
||||
[[nodiscard]] static query_insert_intermediate insert();
|
||||
[[nodiscard]] static query_update_intermediate update(const sql::table &table);
|
||||
[[nodiscard]] static query_delete_intermediate remove();
|
||||
|
||||
@@ -17,8 +17,7 @@ private:
|
||||
|
||||
public:
|
||||
template < class Type >
|
||||
static std::vector<utils::database_type> extract(const Type &type)
|
||||
{
|
||||
static std::vector<utils::database_type> extract(const Type &type) {
|
||||
std::vector<utils::database_type> values;
|
||||
value_extractor gen(values);
|
||||
access::process(gen, type);
|
||||
|
||||
Reference in New Issue
Block a user