Commit 0bd0c46
authored
fix(optimizer): handle ColumnDef in typed table alias columns (#7542)
qualify_tables._set_alias called exp.to_identifier() on every column,
which rejects ColumnDef nodes produced by typed table-function signatures
like FROM fn() AS t(col INT). Route only strings through to_identifier
and copy any other expression (Identifier, ColumnDef) to preserve the
existing copy-before-reparent semantics.
Widens the columns/function_columns type annotations to include
exp.ColumnDef so mypyc's runtime type checks accept it.1 parent a88dfce commit 0bd0c46
3 files changed
Lines changed: 25 additions & 3 deletions
File tree
- sqlglot/optimizer
- tests
- fixtures/optimizer
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
| 83 | + | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
101 | 104 | | |
102 | 105 | | |
103 | 106 | | |
| |||
137 | 140 | | |
138 | 141 | | |
139 | 142 | | |
140 | | - | |
| 143 | + | |
141 | 144 | | |
142 | 145 | | |
143 | 146 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
281 | 281 | | |
282 | 282 | | |
283 | 283 | | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
309 | 322 | | |
310 | 323 | | |
311 | 324 | | |
| |||
0 commit comments