Fusing Query Compilation And Code Generation Through Multi-Level Rewrite Strategies