adds enum Func with variants AggFunc (existing) and SingleRowFunc (new)
Jump handling changes:
Rename ProgramBuilder.add_label() to ProgramBuilder.add_label_dependency() (reflects what the method does better)
Add ProgramBuilder.preassign_label_to_next_insn() (needed in e.g. the coalesce implementation -- we know we need to jump to "the part after coalesce", but we don't / can't know exactly where that is -- depends on the query)
Add ProgramBuilder.emit_insn_with_label_dependency() (every program.add_label() was followed by an .emit_insn() so this is a helper to do those two things together)
New features:
coalesce()
Func
with variantsAggFunc
(existing) andSingleRowFunc
(new)Jump handling changes:
ProgramBuilder.add_label()
toProgramBuilder.add_label_dependency()
(reflects what the method does better)ProgramBuilder.preassign_label_to_next_insn()
(needed in e.g. thecoalesce
implementation -- we know we need to jump to "the part after coalesce", but we don't / can't know exactly where that is -- depends on the query)ProgramBuilder.emit_insn_with_label_dependency()
(everyprogram.add_label()
was followed by an.emit_insn()
so this is a helper to do those two things together)EXPLAIN outputs:
limbo:
sqlite3: