diff --git a/core/translate/emitter.rs b/core/translate/emitter.rs index 11b0110ae..cf6526fdf 100644 --- a/core/translate/emitter.rs +++ b/core/translate/emitter.rs @@ -963,6 +963,9 @@ fn inner_loop_source_emit( } } ResultSetColumn::Agg(agg) => { + // TODO: implement a custom equality check for expressions + // there are lots of examples where this breaks, even simple ones like + // sum(x) != SUM(x) let found = order_by .iter() .enumerate() @@ -1525,6 +1528,9 @@ fn group_by_emit( } } ResultSetColumn::Agg(agg) => { + // TODO: implement a custom equality check for expressions + // there are lots of examples where this breaks, even simple ones like + // sum(x) != SUM(x) let found = order_by .iter() .enumerate() diff --git a/core/translate/expr.rs b/core/translate/expr.rs index a2f373e82..5ce5b5537 100644 --- a/core/translate/expr.rs +++ b/core/translate/expr.rs @@ -568,6 +568,9 @@ pub fn translate_expr( ) -> Result { if let Some(precomputed_exprs_to_registers) = precomputed_exprs_to_registers { for (precomputed_expr, reg) in precomputed_exprs_to_registers.iter() { + // TODO: implement a custom equality check for expressions + // there are lots of examples where this breaks, even simple ones like + // sum(x) != SUM(x) if expr == *precomputed_expr { program.emit_insn(Insn::Copy { src_reg: *reg,