added alias names to lookup queries for merger

This commit is contained in:
2026-08-22 21:48:40 -04:00
parent a232bd4727
commit d08181e1d7
3 changed files with 38 additions and 34 deletions

View File

@ -818,17 +818,20 @@ impl Merger {
}
for (lookup_fields, parent_type) in lookup_satisfied_keys {
let t_alias = entity_type
.hierarchy
.iter()
.position(|name| name == &parent_type.name)
.map(|idx| format!("t{}", idx + 1))
.unwrap_or_else(|| "t1".to_string());
let mut lookup_predicates = Vec::new();
for column in lookup_fields {
let val = entity_fields
.get(column)
.or_else(|| parent_type.field_defaults.get(column))
.unwrap_or(&Value::Null);
if column == "type" {
lookup_predicates.push(format!("t1.\"{}\" = {}", column, Self::quote_literal(val)));
} else {
lookup_predicates.push(format!("\"{}\" = {}", column, Self::quote_literal(val)));
}
lookup_predicates.push(format!("{}.\"{}\" = {}", t_alias, column, Self::quote_literal(val)));
}
where_parts.push(format!("({})", lookup_predicates.join(" AND ")));
}