added alias names to lookup queries for merger
This commit is contained in:
@ -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 ")));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user