postgresql/src/backend
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
..
access Bootstrap WAL to begin at segment logid=0 logseg=1 (000000010000000000000001) 2010-11-02 11:39:48 +02:00
bootstrap Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
catalog Ensure an index that uses a whole-row Var still depends on its table. 2010-11-02 17:15:07 -04:00
commands Provide hashing support for arrays. 2010-10-30 21:56:11 -04:00
executor Avoid using a local FunctionCallInfoData struct in ExecMakeFunctionResult 2010-11-01 13:54:21 -04:00
foreign Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
lib Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
libpq Add a client authentication hook. 2010-10-26 21:20:38 -04:00
main Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
nodes Provide hashing support for arrays. 2010-10-30 21:56:11 -04:00
optimizer Provide hashing support for arrays. 2010-10-30 21:56:11 -04:00
parser Provide hashing support for arrays. 2010-10-30 21:56:11 -04:00
po Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
port Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
postmaster Previous patch had no detectable virtue other than being a one-liner. 2010-10-27 15:26:24 -04:00
regex Fix comparisons of pointers with zero to compare with NULL instead. 2010-10-29 15:51:52 -04:00
replication Bootstrap WAL to begin at segment logid=0 logseg=1 (000000010000000000000001) 2010-11-02 11:39:48 +02:00
rewrite Fix incorrect generation of whole-row variables in planner. 2010-10-19 15:09:23 -04:00
snowball Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
storage Improve messages for too many private files/dirs. Per Alexey Parshin. 2010-09-28 18:08:02 -04:00
tcop Allow new values to be added to an existing enum type. 2010-10-24 23:05:41 -04:00
tsearch Reduce the memory requirement for large ispell dictionaries. 2010-10-06 19:31:05 -04:00
utils Ensure an index that uses a whole-row Var still depends on its table. 2010-11-02 17:15:07 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
Makefile The port/pg_latch.c symlink ought to be removed by make distclean. 2010-09-21 16:53:25 -04:00
common.mk Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
nls.mk Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00