Skip to content

Commit

Permalink
chore: avoid calling left_scalars twice
Browse files Browse the repository at this point in the history
  • Loading branch information
jacek-prisma committed Feb 7, 2025
1 parent 013c460 commit 12e3da0
Showing 1 changed file with 4 additions and 10 deletions.
14 changes: 4 additions & 10 deletions query-compiler/query-compiler/src/translate/query/read.rs
Original file line number Diff line number Diff line change
Expand Up @@ -207,23 +207,17 @@ fn build_read_one2m_query(
selected_fields: &FieldSelection,
builder: &dyn QueryBuilder,
) -> TranslateResult<(Expression, JoinFields)> {
let join_fields = field
.related_field()
.left_scalars()
.into_iter()
.map(|sf| sf.name().to_owned())
.collect();
let related_scalars = field.related_field().left_scalars();
let join_fields = related_scalars.iter().map(|sf| sf.name().to_owned()).collect();

// TODO: we ignore chunking for now
let linking_scalars = field.related_field().left_scalars();

if let Some(conditions) = conditions {
assert_eq!(
linking_scalars.len(),
related_scalars.len(),
conditions.len(),
"linking fields should match conditions"
);
for (condition, child_field) in conditions.into_iter().zip(linking_scalars) {
for (condition, child_field) in conditions.into_iter().zip(related_scalars) {
args.add_filter(Filter::Scalar(ScalarFilter {
condition,
projection: ScalarProjection::Single(child_field.clone()),
Expand Down

0 comments on commit 12e3da0

Please sign in to comment.