postgresql/src
Tom Lane 9f376e146b Ensure an index that uses a whole-row Var still depends on its table.
We failed to record any dependency on the underlying table for an index
declared like "create index i on t (foo(t.*))".  This would create trouble
if the table were dropped without previously dropping the index.  To fix,
simplify some overly-cute code in index_create(), accepting the possibility
that sometimes the whole-table dependency will be redundant.  Also document
this hazard in dependency.c.  Per report from Kevin Grittner.

In passing, prevent a core dump in pg_get_indexdef() if the index's table
can't be found.  I came across this while experimenting with Kevin's
example.  Not sure it's a real issue when the catalogs aren't corrupt, but
might as well be cautious.

Back-patch to all supported versions.
2010-11-02 17:15:07 -04:00
..
backend Ensure an index that uses a whole-row Var still depends on its table. 2010-11-02 17:15:07 -04:00
bin Fix comparisons of pointers with zero to compare with NULL instead. 2010-10-29 15:51:52 -04:00
include Avoid using a local FunctionCallInfoData struct in ExecMakeFunctionResult 2010-11-01 13:54:21 -04:00
interfaces Some cleanup in ecpg code: 2010-11-02 18:12:01 +01:00
makefiles Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
pl Revert removal of trigger flag from plperl function hash key. 2010-10-31 11:42:51 -04:00
port Fix comparisons of pointers with zero to compare with NULL instead. 2010-10-29 15:51:52 -04:00
template Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
test Fix plpgsql's handling of "simple" expression evaluation. 2010-10-28 13:02:12 -04:00
timezone Fix comparisons of pointers with zero to compare with NULL instead. 2010-10-29 15:51:52 -04:00
tools Fix msvc build for localized versions of Visual C++ 2010-10-17 16:36:54 +02:00
tutorial Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Makefile.global.in Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Makefile.shlib Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
bcc32.mak Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
nls-global.mk Fix makefile logic to not break the build when xgettext is missing 2010-10-14 23:16:46 +03:00
win32.mak Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00