mirror of
https://github.com/getml/sqlgen.git
synced 2026-01-10 03:20:00 -06:00
Added CreateTable
This commit is contained in:
21
include/dynamic/CreateTable.hpp
Normal file
21
include/dynamic/CreateTable.hpp
Normal file
@@ -0,0 +1,21 @@
|
||||
#ifndef SQLGEN_DYNAMIC_CREATETABLE_HPP_
|
||||
#define SQLGEN_DYNAMIC_CREATETABLE_HPP_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "Column.hpp"
|
||||
#include "Table.hpp"
|
||||
|
||||
namespace sqlgen::dynamic {
|
||||
|
||||
struct CreateTable {
|
||||
Table table;
|
||||
std::vector<Column> columns;
|
||||
bool if_not_exists = true;
|
||||
// TODO: Constraints
|
||||
};
|
||||
|
||||
} // namespace sqlgen::dynamic
|
||||
|
||||
#endif
|
||||
@@ -10,8 +10,8 @@
|
||||
namespace sqlgen::dynamic {
|
||||
|
||||
struct SelectFrom {
|
||||
Table table;
|
||||
std::vector<Column> columns;
|
||||
Table table;
|
||||
std::vector<Column> columns;
|
||||
};
|
||||
|
||||
} // namespace sqlgen::dynamic
|
||||
|
||||
@@ -4,12 +4,14 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "Column.hpp"
|
||||
|
||||
namespace sqlgen::dynamic {
|
||||
|
||||
struct Table {
|
||||
std::string alias;
|
||||
std::string name;
|
||||
std::string schema = "public";
|
||||
std::string alias;
|
||||
std::string name;
|
||||
std::string schema = "public";
|
||||
};
|
||||
|
||||
} // namespace sqlgen::dynamic
|
||||
|
||||
26
include/dynamic/create_table.hpp
Normal file
26
include/dynamic/create_table.hpp
Normal file
@@ -0,0 +1,26 @@
|
||||
#ifndef SQLGEN_DYNAMIC_CREATE_TABLE_HPP_
|
||||
#define SQLGEN_DYNAMIC_CREATE_TABLE_HPP_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "Column.hpp"
|
||||
#include "CreateTable.hpp"
|
||||
#include "Table.hpp"
|
||||
|
||||
namespace sqlgen::dynamic {
|
||||
|
||||
CreateTable create_table(const std::string& _table,
|
||||
const std::vector<Column>& _columns) {
|
||||
return CreateTable{.table = Table{.name = _table}, .columns = _columns};
|
||||
}
|
||||
|
||||
CreateTable create_table(std::string& _schema, const std::string& _table,
|
||||
const std::vector<Column>& _columns) {
|
||||
return CreateTable{.table = Table{.name = _table, .schema = _schema},
|
||||
.columns = _columns};
|
||||
}
|
||||
|
||||
} // namespace sqlgen::dynamic
|
||||
|
||||
#endif
|
||||
@@ -12,20 +12,20 @@ namespace sqlgen::dynamic {
|
||||
|
||||
SelectFrom select(const std::string& _table,
|
||||
const std::vector<std::string>& _columns) {
|
||||
std::vector<Column> columns;
|
||||
for (const auto& name : _columns) {
|
||||
columns.emplace_back(Column{.name = name});
|
||||
}
|
||||
return SelectFrom{.table = Table{.name = _table}, .columns = columns};
|
||||
std::vector<Column> columns;
|
||||
for (const auto& name : _columns) {
|
||||
columns.emplace_back(Column{.name = name});
|
||||
}
|
||||
return SelectFrom{.table = Table{.name = _table}, .columns = columns};
|
||||
}
|
||||
|
||||
SelectFrom select(const std::string& _schema, const std::string& _table,
|
||||
const std::vector<std::string>& _columns) {
|
||||
std::vector<Column> columns;
|
||||
for (const auto& name : _columns) {
|
||||
columns.emplace_back(Column{.name = name});
|
||||
}
|
||||
return SelectFrom{.table = Table{.name = _table, .schema = _schema},
|
||||
.columns = columns};
|
||||
std::vector<Column> columns;
|
||||
for (const auto& name : _columns) {
|
||||
columns.emplace_back(Column{.name = name});
|
||||
}
|
||||
return SelectFrom{.table = Table{.name = _table, .schema = _schema},
|
||||
.columns = columns};
|
||||
}
|
||||
} // namespace sqlgen::dynamic
|
||||
|
||||
Reference in New Issue
Block a user