Repository navigation
1.0.4
Introduced size guard (MAX_QUERY_STACK_DEPTH = 1000)
- When the depth hits the limit we drop the deepest frame before pushing a new one (ExecutorStart).
- Keeps per-backend memory bounded even with runaway recursion.
Memory‐safety fixes
- pg_stack_free() now pfree()-s both the QueryStackEntry and its query_text.
- Limiter path frees the trimmed tail entry.
- Query_Stack_Depth counter added to avoid repeated list_length() scans and guarantee O(1) checks.
Signal/exception robustness
- volatile bool stack_pushed + balanced pop in PG_CATCH ensure no dangling