71 lines
1.6 KiB
C++
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 {};
|
|
}
|
|
|
|
} |