query/source/orm/query/query.cpp

71 lines
1.6 KiB
C++

#include "matador/query/query.hpp"
namespace matador::query {
sql::column alias(const std::string &column, const std::string &as)
{
return sql::column{column, as};
}
sql::column alias(sql::column &&col, const std::string &as)
{
col.as(as);
return std::move(col);
}
sql::column count(const std::string &column)
{
return {sql::sql_function_t::COUNT, column};
}
sql::column count_all()
{
return count("*");
}
query_create_intermediate query::create()
{
return {};
}
query_drop_intermediate query::drop() {
return {};
}
query_select_intermediate query::select( const std::initializer_list<sql::column> columns) {
return select(std::vector<sql::column>{columns});
}
query_select_intermediate query::select(const std::vector<sql::column>& columns) {
return query_select_intermediate{columns};
}
query_select_intermediate query::select(const std::vector<std::string> &column_names) {
std::vector<sql::column> columns;
columns.reserve(column_names.size());
for (const auto &col_name : column_names) {
columns.emplace_back(col_name);
}
return select(columns);
}
query_select_intermediate query::select(std::vector<sql::column> columns, const std::initializer_list<sql::column> additional_columns) {
for (const auto &col : additional_columns) {
columns.push_back(col);
}
return query_select_intermediate{columns};
}
query_insert_intermediate query::insert() {
return {};
}
query_update_intermediate query::update(const sql::table &table) {
return query_update_intermediate{table};
}
query_delete_intermediate query::remove() {
return {};
}
}