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
Raw File
README.git
(This file does not appear in release tarballs.)

In a release or snapshot tarball of PostgreSQL, documentation files named
INSTALL and HISTORY will appear in this directory.  However, these files are
not stored in git and so will not be present if you are using a git checkout.
If you are using git, you can view the most recent install instructions at:
	http://developer.postgresql.org/docs/postgres/installation.html
and the current release notes at:
	http://developer.postgresql.org/docs/postgres/release.html

Users compiling from git will also need compatible versions of Bison, Flex,
and Perl, as discussed in the install documentation.  These programs are not
needed when using a tarball, since the files they are needed to build are
already present in the tarball.  (On Windows, however, you need Perl anyway.)
back to top