49 lines
1.6 KiB
C++
49 lines
1.6 KiB
C++
#ifndef QUERY_CREATE_INTERMEDIATE_HPP
|
|
#define QUERY_CREATE_INTERMEDIATE_HPP
|
|
|
|
#include "matador/query/intermediates/query_intermediate.hpp"
|
|
|
|
#include "matador/query/intermediates/executable_query.hpp"
|
|
|
|
#include "matador/query/table_constraint.hpp"
|
|
|
|
#include "matador/object/attribute.hpp"
|
|
#include "matador/object/restriction.hpp"
|
|
|
|
#include <list>
|
|
|
|
namespace matador::query {
|
|
|
|
class query_create_table_columns_intermediate : public executable_query {
|
|
public:
|
|
using executable_query::executable_query;
|
|
|
|
executable_query constraints(std::initializer_list<object::restriction> constraints);
|
|
executable_query constraints(const std::list<object::restriction> &restrictions);
|
|
executable_query constraints(std::initializer_list<table_constraint> constraints);
|
|
executable_query constraints(const std::list<table_constraint> &restrictions);
|
|
};
|
|
|
|
class query_create_table_intermediate : public query_intermediate {
|
|
public:
|
|
using query_intermediate::query_intermediate;
|
|
|
|
query_create_table_columns_intermediate columns(std::initializer_list<object::attribute> attributes);
|
|
query_create_table_columns_intermediate columns(const std::list<object::attribute> &attributes);
|
|
query_create_table_columns_intermediate columns(std::initializer_list<table_column> columns);
|
|
query_create_table_columns_intermediate columns(const std::list<table_column> &columns);
|
|
};
|
|
|
|
class query_create_intermediate : public query_intermediate {
|
|
public:
|
|
query_create_intermediate();
|
|
|
|
query_create_table_intermediate table(const table &tab);
|
|
executable_query schema(const std::string &schema_name);
|
|
};
|
|
|
|
}
|
|
|
|
|
|
#endif //QUERY_CREATE_INTERMEDIATE_HPP
|