Revision 234ad01f9ea08514b1368bbf214e6c779e372a1a authored by Tom Lane on 07 December 2010, 03:55:56 UTC, committed by Tom Lane on 07 December 2010, 03:55:56 UTC
There are some code paths, such as SPI_execute(), where we invoke copyObject() on raw parse trees before doing parse analysis on them. Since the bison grammar is capable of building heavily nested parsetrees while itself using only minimal stack depth, this means that copyObject() can be the front-line function that hits stack overflow before anything else does. Accordingly, it had better have a check_stack_depth() call. I did a bit of performance testing and found that this slows down copyObject() by only a few percent, so the hit ought to be negligible in the context of complete processing of a query. Per off-list report from Toshihide Katayama. Back-patch to all supported branches.
1 parent 6bd3753
File | Mode | Size |
---|---|---|
.gitignore | -rw-r--r-- | 17 bytes |
Makefile | -rw-r--r-- | 661 bytes |
btreefuncs.c | -rw-r--r-- | 13.2 KB |
fsmfuncs.c | -rw-r--r-- | 1.7 KB |
heapfuncs.c | -rw-r--r-- | 5.9 KB |
pageinspect.sql.in | -rw-r--r-- | 2.4 KB |
rawpage.c | -rw-r--r-- | 5.8 KB |
uninstall_pageinspect.sql | -rw-r--r-- | 510 bytes |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...