schema progress

This commit is contained in:
2024-02-29 20:00:39 +01:00
parent 7e1713ddd3
commit c9a84e0568
25 changed files with 111 additions and 86 deletions
-2
View File
@@ -140,9 +140,7 @@ set(UTILS_SOURCES
add_library(matador STATIC
${SQL_SOURCES} ${SQL_HEADER}
# ${QUERY_SOURCES} ${QUERY_HEADER}
${UTILS_SOURCES} ${UTILS_HEADER}
)
target_include_directories(matador PUBLIC ${PROJECT_SOURCE_DIR}/include)
#set_target_properties(matador PROPERTIES LINKER_LANGUAGE CXX)
+1 -1
View File
@@ -89,7 +89,7 @@ size_t connection::execute(const std::string &sql) const
return connection_->execute(sql);
}
sql::query connection::query(const std::shared_ptr<sql::schema> &schema) const
sql::query connection::query(const sql::schema &schema) const
{
return sql::query(*const_cast<connection*>(this), schema);
}
+3 -3
View File
@@ -25,9 +25,9 @@ std::string dialect::prepare_identifier(const column &col) const
} else {
result = sql_func_map_.at(col.function_) + "(" + col.name + ")";
}
// if (!col.alias.empty()) {
// result += " AS " + col.alias;
// }
if (!col.alias.empty()) {
result += " AS " + col.alias;
}
return result;
}
+1 -1
View File
@@ -3,7 +3,7 @@
namespace matador::sql {
query::query(connection &db, const std::shared_ptr<sql::schema> &schema)
query::query(connection &db, const sql::schema &schema)
: connection_(db)
, schema_(schema)
{}
+10 -10
View File
@@ -4,7 +4,7 @@
#include "matador/sql/condition.hpp"
namespace matador::sql {
basic_query_intermediate::basic_query_intermediate(connection &db, const std::shared_ptr<sql::schema> & schema)
basic_query_intermediate::basic_query_intermediate(connection &db, const sql::schema & schema)
: connection_(db)
, schema_(schema) {}
@@ -38,7 +38,7 @@ statement query_select_finish::prepare()
return connection_.prepare(compiler.compile(&data_));
}
query_intermediate::query_intermediate(connection &db, const std::shared_ptr<sql::schema> &schema, query_data &data)
query_intermediate::query_intermediate(connection &db, const sql::schema &schema, query_data &data)
: basic_query_intermediate(db, schema), data_(data) {}
query_offset_intermediate query_limit_intermediate::offset(size_t offset)
@@ -73,7 +73,7 @@ query_order_direction_intermediate query_order_by_intermediate::asc()
query_order_direction_intermediate query_order_by_intermediate::desc()
{
data_.parts.push_back(std::make_unique<query_order_by_asc_part>());
data_.parts.push_back(std::make_unique<query_order_by_desc_part>());
return {connection_, schema_, data_};
}
@@ -143,7 +143,7 @@ query_join_intermediate query_from_intermediate::join_left(const table &t)
return {connection_, schema_, data_};
}
query_select_intermediate::query_select_intermediate(connection &db, const std::shared_ptr<sql::schema> &schema, const std::vector<column>& columns)
query_select_intermediate::query_select_intermediate(connection &db, const sql::schema &schema, const std::vector<column>& columns)
: query_start_intermediate(db, schema)
{
data_.parts.push_back(std::make_unique<query_select_part>(columns));
@@ -155,7 +155,7 @@ query_from_intermediate query_select_intermediate::from(const table& t)
return {connection_, schema_, data_};
}
query_insert_intermediate::query_insert_intermediate(connection &db, const std::shared_ptr<sql::schema> &schema)
query_insert_intermediate::query_insert_intermediate(connection &db, const sql::schema &schema)
: query_start_intermediate(db, schema)
{
data_.parts.push_back(std::make_unique<query_insert_part>());
@@ -201,7 +201,7 @@ query_execute_finish query_into_intermediate::values(std::vector<any_type> &&val
return {connection_, schema_, data_};
}
query_create_intermediate::query_create_intermediate(connection &db, const std::shared_ptr<sql::schema> &schema)
query_create_intermediate::query_create_intermediate(connection &db, const sql::schema &schema)
: query_start_intermediate(db, schema) {
data_.parts.push_back(std::make_unique<query_create_part>());
}
@@ -217,7 +217,7 @@ query_execute_finish query_create_intermediate::table(const sql::table &table, c
return {connection_, schema_, data_};
}
query_drop_intermediate::query_drop_intermediate(connection &db, const std::shared_ptr<sql::schema> &schema)
query_drop_intermediate::query_drop_intermediate(connection &db, const sql::schema &schema)
: query_start_intermediate(db, schema)
{
data_.parts.push_back(std::make_unique<query_drop_part>());
@@ -241,7 +241,7 @@ query_execute_where_intermediate query_set_intermediate::where_clause(std::uniqu
return {connection_, schema_, data_};
}
query_update_intermediate::query_update_intermediate(connection &db, const std::shared_ptr<sql::schema> &schema, const sql::table& table)
query_update_intermediate::query_update_intermediate(connection &db, const sql::schema &schema, const sql::table& table)
: query_start_intermediate(db, schema)
{
data_.parts.push_back(std::make_unique<query_update_part>(table));
@@ -265,7 +265,7 @@ query_execute_where_intermediate query_delete_from_intermediate::where_clause(st
return {connection_, schema_, data_};
}
query_delete_intermediate::query_delete_intermediate(connection &db, const std::shared_ptr<sql::schema> &schema)
query_delete_intermediate::query_delete_intermediate(connection &db, const sql::schema &schema)
: query_start_intermediate(db, schema)
{
data_.parts.push_back(std::make_unique<query_delete_part>());
@@ -277,7 +277,7 @@ query_delete_from_intermediate query_delete_intermediate::from(const sql::table
return {connection_, schema_, data_};
}
query_start_intermediate::query_start_intermediate(connection &db, const std::shared_ptr<sql::schema> &schema)
query_start_intermediate::query_start_intermediate(connection &db, const sql::schema &schema)
: basic_query_intermediate(db, schema)
{}
}
+2 -2
View File
@@ -7,12 +7,12 @@ namespace matador::sql {
void table_info::create(connection &conn, schema &scm) const
{
// conn.query().create().table(name, prototype.columns()).execute();
conn.query(scm).create().table(name, prototype.columns()).execute();
}
void table_info::drop(connection &conn, schema &scm) const
{
// conn.query().drop().table(name).execute();
conn.query(scm).drop().table(name).execute();
}
schema::schema(std::string name)
+2 -2
View File
@@ -9,7 +9,7 @@ namespace matador::sql {
session::session(connection_pool<connection> &pool)
: pool_(pool)
, dialect_(backend_provider::instance().connection_dialect(pool_.info().type))
, schema_(std::make_shared<sql::schema>(dialect_.default_schema_name())){}
, schema_(std::make_unique<sql::schema>(dialect_.default_schema_name())){}
void session::create_schema()
{
@@ -26,7 +26,7 @@ void session::drop_table(const std::string &table_name)
throw std::logic_error("no database connection available");
}
c->query(schema_).drop().table(table_name).execute();
c->query(*schema_).drop().table(table_name).execute();
}
query_result<record> session::fetch(const query_context &q) const
+1 -1
View File
@@ -15,7 +15,7 @@ matador::utils::cascade_type matador::utils::foreign_attributes::cascade() const
return cascade_;
}
fetch_type matador::utils::foreign_attributes::fetch() const
matador::utils::fetch_type matador::utils::foreign_attributes::fetch() const
{
return fetch_;
}