Logical Expr serde should be stack safe
- Lingua principale
- Rust
- Stelle
- 9.3k
- Fork
- 2.4k
- Merge medio
- 3g 11h
- PR unite (30g)
- 360
Descrizione
### Is your feature request related to a problem or challenge?
Noticed while working on https://github.com/apache/arrow-datafusion/issues/5691 I was getting stack overflows while running tests (well actually a segfault but after some investigation I think it was just a quirk of my ARM mac and really the underlying issue was a stack overflow). I was able to run the tests by compiling them in release mode but the current recursive expression parsing/translation is not stack safe and will likely eventually cause issues.
Otherwise deeply nested expressions can cause a system crash.
### Describe the solution you'd like
Avoid recursion in `datafusion_proto::logical_plan::from_proto::parse_expr`
### Describe alternatives you've considered
Leave it as is and document as a known limitation
### Additional context
_No response_
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da datafusion_proto::logical_plan::from_proto::parse_expr ed esamina l’analisi ricorsiva e la traduzione delle espressioni descritte nell’issue. Riproduci il problema delle espressioni profondamente annidate usando i test pertinenti, quindi verifica che l’analisi di tali espressioni non provochi più un overflow dello stack.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust
- Ambito
- databases
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100