Fix identify_locking_dependencies to reflect the fact that fix_dependencies
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 13 Mar 2009 22:50:44 +0000 (22:50 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 13 Mar 2009 22:50:44 +0000 (22:50 +0000)
previously repointed TABLE dependencies to TABLE DATA.  Mea culpa.

src/bin/pg_dump/pg_backup_archiver.c

index cb806d9c573e5137e3d8be6db12dc27c8ba2ce48..5394f275a4f85a7af12219c6442a7188bafebf36 100644 (file)
@@ -3732,8 +3732,11 @@ identify_locking_dependencies(TocEntry *te, TocEntry **tocsByDumpId)
                return;
 
        /*
-        * We assume the item requires exclusive lock on each TABLE item
-        * listed among its dependencies.
+        * We assume the item requires exclusive lock on each TABLE DATA item
+        * listed among its dependencies.  (This was originally a dependency
+        * on the TABLE, but fix_dependencies repointed it to the data item.
+        * Note that all the entry types we are interested in here are POST_DATA,
+        * so they will all have been changed this way.)
         */
        lockids = (DumpId *) malloc(te->nDeps * sizeof(DumpId));
        nlockids = 0;
@@ -3742,7 +3745,7 @@ identify_locking_dependencies(TocEntry *te, TocEntry **tocsByDumpId)
                DumpId  depid = te->dependencies[i];
 
                if (tocsByDumpId[depid - 1] &&
-                       strcmp(tocsByDumpId[depid - 1]->desc, "TABLE") == 0)
+                       strcmp(tocsByDumpId[depid - 1]->desc, "TABLE DATA") == 0)
                        lockids[nlockids++] = depid;
        }