Commit 63525c7
committed
Convert CTEs to subqueries at AST level for proper execution
Follow the stackql-devel pattern: CTEs are converted to Subqueries at AST
level in ast_expand.go, making downstream code treat them uniformly with
regular subqueries. Key changes:
- Change cteRegistry to store *sqlparser.Subquery instead of CommonTableExpr
- Add processCTEReference() which replaces TableName with Subquery in AST
- Handle CTE detection in AliasedTableExpr case (not TableName case)
- Remove CTEType-specific handling from from_rewrite.go, parameter_router.go,
obtain_context.go, and dependencyplanner.go since SubqueryType path handles them
- Add logging for debugging CTE processing1 parent feac75c commit 63525c7
File tree
6 files changed
+71
-61
lines changed- internal/stackql
- astanalysis/earlyanalysis
- astvisit
- dependencyplanner
- primitivegenerator
- router
- obtain_context
6 files changed
+71
-61
lines changedLines changed: 50 additions & 23 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
108 | 143 | | |
109 | 144 | | |
110 | 145 | | |
| |||
216 | 251 | | |
217 | 252 | | |
218 | 253 | | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
| 254 | + | |
| 255 | + | |
223 | 256 | | |
| 257 | + | |
224 | 258 | | |
225 | 259 | | |
226 | | - | |
| 260 | + | |
| 261 | + | |
227 | 262 | | |
228 | 263 | | |
229 | 264 | | |
| |||
798 | 833 | | |
799 | 834 | | |
800 | 835 | | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
801 | 841 | | |
802 | 842 | | |
803 | 843 | | |
| |||
835 | 875 | | |
836 | 876 | | |
837 | 877 | | |
838 | | - | |
839 | | - | |
840 | | - | |
841 | | - | |
842 | | - | |
843 | | - | |
844 | | - | |
845 | | - | |
846 | | - | |
847 | | - | |
848 | | - | |
849 | | - | |
850 | | - | |
851 | | - | |
852 | | - | |
853 | | - | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
854 | 881 | | |
855 | 882 | | |
856 | 883 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
668 | 668 | | |
669 | 669 | | |
670 | 670 | | |
| 671 | + | |
| 672 | + | |
671 | 673 | | |
672 | 674 | | |
673 | 675 | | |
674 | | - | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | | - | |
679 | | - | |
680 | 676 | | |
681 | 677 | | |
682 | 678 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
| 167 | + | |
| 168 | + | |
171 | 169 | | |
172 | 170 | | |
173 | 171 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
224 | 224 | | |
225 | 225 | | |
226 | 226 | | |
227 | | - | |
228 | | - | |
| 227 | + | |
| 228 | + | |
229 | 229 | | |
230 | 230 | | |
231 | 231 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | 6 | | |
8 | 7 | | |
9 | 8 | | |
| |||
21 | 20 | | |
22 | 21 | | |
23 | 22 | | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
| 23 | + | |
| 24 | + | |
28 | 25 | | |
29 | 26 | | |
30 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
592 | 592 | | |
593 | 593 | | |
594 | 594 | | |
595 | | - | |
596 | | - | |
597 | | - | |
| 595 | + | |
| 596 | + | |
598 | 597 | | |
599 | 598 | | |
600 | | - | |
601 | | - | |
602 | | - | |
603 | | - | |
604 | | - | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
605 | 602 | | |
606 | | - | |
607 | | - | |
608 | | - | |
609 | | - | |
610 | | - | |
611 | | - | |
612 | | - | |
613 | | - | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
618 | | - | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
619 | 611 | | |
620 | 612 | | |
621 | 613 | | |
| |||
0 commit comments