Class RemoveRedundantSwitchClauses

java.lang.Object
io.trino.sql.ir.optimizer.rule.RemoveRedundantSwitchClauses
All Implemented Interfaces:
IrOptimizerRule

public class RemoveRedundantSwitchClauses extends Object implements IrOptimizerRule
Remove duplicated and redundant clauses in Switch. E.g.,
  • Switch(x, [When(a, r1), When(b, r2), When(a, r3)], d) -> Switch(x, [When(a, r1), When(b, r2)], d)
  • Switch(x, [When(a, r1), When(x, r2), When(b, r3)], d) -> Switch(x, [When(a, r1)], r2)
  • Switch(x, [When(x, r)], d) -> r