OSDN Git Service

Rearrange code in ExecInitBitmapHeapScan so that we don't initialize the
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Dec 2005 01:29:55 +0000 (01:29 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 2 Dec 2005 01:29:55 +0000 (01:29 +0000)
commitde1dfc12092de69910405a23260761bf58fa2375
treee84c9d2b7eb10df23c15ddb6587b1b0702132d8a
parent113ece8f3d704cdcf20f2865d1ea8964159ee476
Rearrange code in ExecInitBitmapHeapScan so that we don't initialize the
child plan nodes until we have acquired lock on the relation to scan.
The relative order of initialization of plan nodes isn't real important in
other cases, but it's critical here because one is supposed to lock a
relation before its indexes, not vice versa.  The original coding was at
least vulnerable to deadlock against DROP INDEX, and perhaps worse things.
src/backend/executor/nodeBitmapHeapscan.c