Commit 9a9e4dd
Add recursive protection on planner's
## Which issue does this PR close?
None, as this PR is rather self-describing.
## Rationale for this change
We recently encountered stack overflow issues in the physical planner's
`create_physical_expr` function, when dealing with deeply nested
expression trees.
In the rest of the codebase, it seems the `recursive::recursive`
attribute is used to prevent this.
## What changes are included in this PR?
This PR adds the `recursive::recursive` attribute on
`create_physical_expr` whenever the `recursive_protection` feature is
enabled.
## Are these changes tested?
Yes, but mostly for the sake of manually testing the change.
I don't think it should be merged, as it has to be `#[ignore]`d anyway,
as the `recursive_protection` is not enabled in tests (which means it
would systematically crash).
I've left it in this PR however, to make review / manual testing easier.
## Are there any user-facing changes?
None.
---------
Co-authored-by: Andrew Lamb <[email protected]>create_physical_expr (#19299)1 parent 9fe9ec7 commit 9a9e4dd
File tree
4 files changed
+38
-1
lines changed- datafusion
- core
- physical-expr
- src
4 files changed
+38
-1
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| 90 | + | |
90 | 91 | | |
91 | 92 | | |
92 | 93 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
43 | 46 | | |
44 | 47 | | |
45 | 48 | | |
| |||
54 | 57 | | |
55 | 58 | | |
56 | 59 | | |
| 60 | + | |
57 | 61 | | |
58 | 62 | | |
59 | 63 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
| 108 | + | |
108 | 109 | | |
109 | 110 | | |
110 | 111 | | |
| |||
417 | 418 | | |
418 | 419 | | |
419 | 420 | | |
420 | | - | |
| 421 | + | |
421 | 422 | | |
422 | 423 | | |
423 | 424 | | |
| |||
445 | 446 | | |
446 | 447 | | |
447 | 448 | | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
448 | 479 | | |
0 commit comments