postgresql/src/backend
Tom Lane 73eba19aeb Fix another ancient memory-leak bug in relcache.c.
CheckConstraintFetch() leaked a cstring in the caller's context for each
CHECK constraint expression it copied into the relcache.  Ordinarily that
isn't problematic, but it can be during CLOBBER_CACHE testing because so
many reloads can happen during a single query; so complicate the code
slightly to allow freeing the cstring after use.  Per testing on buildfarm
member barnacle.

This is exactly like the leak fixed in AttrDefaultFetch() by commit
078b2ed291.  (Yes, this time I did look for
other instances of the same coding pattern :-(.)  Like that patch, no
back-patch, since it seems unlikely that there's any problem except under
very artificial test conditions.

BTW, it strikes me that both of these places would require further work
comparable to commit ab8c84db2f, if we ever
supported defaults or check constraints on system catalogs: they both
assume they are copying into an empty relcache data structure, and that
conceivably wouldn't be the case during recursive reloading of a system
catalog.  This does not seem worth worrying about for the moment, since
there is no near-term prospect of supporting any such thing.  So I'll
just note the possibility for the archives' sake.
2014-08-24 11:56:52 -04:00
..
access Fix outdated comment 2014-08-22 14:03:11 -04:00
bootstrap Revert "Fix bogus %name-prefix option syntax in all our Bison files." 2014-05-28 19:21:01 -04:00
catalog pg_upgrade: prevent oid conflicts with new-cluster TOAST tables 2014-08-07 14:56:13 -04:00
commands Implement ALTER TABLE .. SET LOGGED / UNLOGGED 2014-08-22 14:27:00 -04:00
executor Don't require sort support functions to provide a comparator. 2014-08-06 16:06:06 -04:00
foreign Implement IMPORT FOREIGN SCHEMA. 2014-07-10 15:01:43 -04:00
lib pgindent run for 9.4 2014-05-06 12:12:18 -04:00
libpq Reorganize functions in be-secure-openssl.c 2014-08-18 13:12:40 +03:00
main Remove Alpha and Tru64 support. 2014-06-28 21:46:15 +02:00
nodes Rework 'MOVE ALL' to 'ALTER .. ALL IN TABLESPACE' 2014-08-21 19:06:17 -04:00
optimizer Re-enable error for "SELECT ... OFFSET -1". 2014-07-22 13:30:01 -04:00
parser Implement ALTER TABLE .. SET LOGGED / UNLOGGED 2014-08-22 14:27:00 -04:00
po Translation updates 2014-07-21 01:08:04 -04:00
port Handle WAIT_IO_COMPLETION return from WaitForMultipleObjectsEx(). 2014-07-25 18:51:48 -04:00
postmaster Break out OpenSSL-specific code to separate files. 2014-08-11 11:54:19 +03:00
regex Fix two low-probability memory leaks in regular expression parsing. 2014-07-18 13:00:27 -04:00
replication Revert "Fix bug in checking of IDENTIFY_SYSTEM result." 2014-08-19 18:30:38 +09:00
rewrite Add some errdetail to checkRuleResultList(). 2014-07-02 12:31:24 -04:00
snowball Finish adding file version information to installed Windows binaries. 2014-08-18 22:59:53 -04:00
storage Fix obsolete statement in smgr/README. 2014-07-28 16:30:14 -04:00
tcop Rework 'MOVE ALL' to 'ALTER .. ALL IN TABLESPACE' 2014-08-21 19:06:17 -04:00
tsearch pgindent run for 9.4 2014-05-06 12:12:18 -04:00
utils Fix another ancient memory-leak bug in relcache.c. 2014-08-24 11:56:52 -04:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
common.mk Remove maintainer-check target, fold into normal build 2013-10-10 20:11:56 -04:00
Makefile Get rid of use of dlltool in Mingw builds. 2014-02-11 12:56:20 -05:00
nls.mk Add libpgcommon to backend gettext source files 2013-10-19 13:49:05 -04:00