uses criteria for session::find methods

This commit is contained in:
Sascha Kühl
2025-10-30 14:54:39 +01:00
parent 44c50cf2af
commit 270c2922ff
23 changed files with 267 additions and 208 deletions
+13 -9
View File
@@ -36,29 +36,27 @@ column::column(const sql_function_t func, std::string name)
, name(std::move(name))
, function_(func) {}
column::column(const table& tab, std::string name, std::string as)
: table_(std::make_shared<table>(tab))
column::column(const sql::table& tab, std::string name, std::string as)
: table_(std::make_shared<sql::table>(tab))
, name(std::move(name))
, alias(std::move(as)) {
table_->columns.push_back(*this);
}
column::column(const std::shared_ptr<table>& t, std::string name, std::string as)
column::column(const std::shared_ptr<sql::table>& t, std::string name, std::string as)
: table_(t)
, name(std::move(name))
, alias(std::move(as)) {
}
bool column::equals(const column &x) const
{
bool column::equals(const column &x) const {
return *table_ == *x.table_ &&
name == x.name &&
alias == x.alias &&
function_ == x.function_;
}
column &column::as(std::string a)
{
column &column::as(std::string a) {
alias = std::move(a);
return *this;
}
@@ -74,8 +72,11 @@ std::string column::full_name() const {
return name;
}
bool column::is_function() const
{
const std::string& column::alias_name() const {
return alias;
}
bool column::is_function() const {
return function_ != sql_function_t::NONE;
}
@@ -83,4 +84,7 @@ bool column::has_alias() const {
return !alias.empty();
}
std::shared_ptr<table> column::table() const {
return table_;
}
}