preparations for object_generator (generating objects with attributes and constraints)

This commit is contained in:
2025-11-23 15:58:14 +01:00
parent 19b0adf737
commit e67c0f39a3
23 changed files with 468 additions and 69 deletions
+3 -3
View File
@@ -396,13 +396,13 @@ std::string build_create_column(const object::attribute &col, const sql::dialect
if (!col.is_nullable()) {
result.append(" NOT NULL");
}
if (is_constraint_set(col.attributes().options(), utils::constraints::UNIQUE)) {
if (is_constraint_set(col.attributes().options(), utils::constraints::Unique)) {
result.append(" UNIQUE");
}
if (is_constraint_set(col.attributes().options(), utils::constraints::PRIMARY_KEY)) {
if (is_constraint_set(col.attributes().options(), utils::constraints::PrimaryKey)) {
context.primary_keys.emplace_back(col.name());
}
if (is_constraint_set(col.attributes().options(), utils::constraints::FOREIGN_KEY)) {
if (is_constraint_set(col.attributes().options(), utils::constraints::ForeignKey)) {
context.foreign_contexts.push_back({col.name(), col.reference_column()});
}
+2 -2
View File
@@ -101,11 +101,11 @@ bool field::is_null() const
}
bool field::is_primary_key() const {
return type_ == utils::constraints::PRIMARY_KEY;
return type_ == utils::constraints::PrimaryKey;
}
bool field::is_foreign_key() const {
return type_ == utils::constraints::FOREIGN_KEY;
return type_ == utils::constraints::ForeignKey;
}
bool field::is_attribute() const {
@@ -4,7 +4,7 @@
namespace matador::sql::internal {
void query_result_pk_resolver::on_attribute(const char *id, const utils::value &x, const utils::field_attributes &attr) {
if (is_constraint_set(attr.options(), utils::constraints::PRIMARY_KEY)) {
if (is_constraint_set(attr.options(), utils::constraints::PrimaryKey)) {
if (x.is_integer()) {
uint64_t val;
utils::data_type_traits<uint64_t>::read_value(reader_, id, column_index_++, val);