Repository navigation
Commit dd81646
committed
fix: Set Substrait output_type on window functions and LIKE
Substrait documents output_type on both ScalarFunction and WindowFunction
as the return type of the function, and a consumer that reads it rejects
a call that leaves it unset: substrait-java refuses a window function
plan and a LIKE plan with "Type is not set".
Both types are derived from the expression itself, so they match what
DataFusion derives: from_window_function from Expr::WindowFunction, and
make_substrait_like_expr from Expr::Like, which also covers the not()
wrapper a negated LIKE emits.
make_substrait_window_function had a single caller and its body now sits
in from_window_function, and make_substrait_like_expr takes the Like
rather than its five fields, so neither grows an extra parameter.
A DataFusion round trip cannot catch this, because the consumer reads
output_type only when it converts a cast.1 parent 86ba5e0 commit dd81646
2 files changed
Lines changed: 119 additions & 57 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
237 | 238 | | |
238 | 239 | | |
239 | 240 | | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
240 | 249 | | |
241 | 250 | | |
242 | 251 | | |
| |||
245 | 254 | | |
246 | 255 | | |
247 | 256 | | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
| 257 | + | |
269 | 258 | | |
270 | 259 | | |
271 | 260 | | |
272 | 261 | | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
273 | 269 | | |
274 | 270 | | |
275 | 271 | | |
| |||
293 | 289 | | |
294 | 290 | | |
295 | 291 | | |
296 | | - | |
| 292 | + | |
297 | 293 | | |
298 | 294 | | |
299 | 295 | | |
300 | 296 | | |
301 | 297 | | |
302 | | - | |
| 298 | + | |
303 | 299 | | |
304 | 300 | | |
305 | 301 | | |
| |||
309 | 305 | | |
310 | 306 | | |
311 | 307 | | |
312 | | - | |
| 308 | + | |
| 309 | + | |
313 | 310 | | |
314 | 311 | | |
315 | 312 | | |
| |||
318 | 315 | | |
319 | 316 | | |
320 | 317 | | |
321 | | - | |
322 | | - | |
323 | 318 | | |
324 | 319 | | |
325 | 320 | | |
| |||
452 | 447 | | |
453 | 448 | | |
454 | 449 | | |
455 | | - | |
| 450 | + | |
456 | 451 | | |
457 | 452 | | |
458 | | - | |
| 453 | + | |
| 454 | + | |
459 | 455 | | |
460 | 456 | | |
| 457 | + | |
461 | 458 | | |
462 | 459 | | |
463 | 460 | | |
| |||
479 | 476 | | |
480 | 477 | | |
481 | 478 | | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
482 | 520 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| 23 | + | |
22 | 24 | | |
23 | 25 | | |
24 | 26 | | |
| |||
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
30 | | - | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| |||
79 | 81 | | |
80 | 82 | | |
81 | 83 | | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
92 | 92 | | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | 93 | | |
103 | | - | |
| 94 | + | |
104 | 95 | | |
105 | | - | |
| 96 | + | |
106 | 97 | | |
107 | | - | |
108 | | - | |
| 98 | + | |
| 99 | + | |
109 | 100 | | |
110 | | - | |
| 101 | + | |
111 | 102 | | |
112 | | - | |
| 103 | + | |
113 | 104 | | |
114 | 105 | | |
115 | 106 | | |
116 | 107 | | |
117 | 108 | | |
118 | 109 | | |
119 | 110 | | |
120 | | - | |
| 111 | + | |
121 | 112 | | |
122 | | - | |
| 113 | + | |
123 | 114 | | |
124 | 115 | | |
125 | 116 | | |
| |||
185 | 176 | | |
186 | 177 | | |
187 | 178 | | |
188 | | - | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
189 | 213 | | |
190 | 214 | | |
191 | 215 | | |
| |||
0 commit comments