Update comments about progress reporting by index_drop
authorAlvaro Herrera
Fri, 18 Oct 2019 10:18:50 +0000 (07:18 -0300)
committerAlvaro Herrera
Fri, 18 Oct 2019 10:28:08 +0000 (07:28 -0300)
Michaël Paquier complained that index_drop is requesting progress
reporting for non-obvious reasons, so let's add a comment to explain
why.

Discussion: https://postgr.es/m/20191017010412[email protected]

src/backend/catalog/index.c

index 4f546318087c72a3fe1694253f13a041043f5fec..345628c42b964c4f31932d3d0ff89fad40cfcd64 100644 (file)
@@ -2142,6 +2142,10 @@ index_drop(Oid indexId, bool concurrent, bool concurrent_lock_mode)
         * possible if one of the transactions in question is blocked trying
         * to acquire an exclusive lock on our table.  The lock code will
         * detect deadlock and error out properly.
+        *
+        * Note: we report progress through WaitForLockers() unconditionally
+        * here, even though it will only be used when we're called by REINDEX
+        * CONCURRENTLY and not when called by DROP INDEX CONCURRENTLY.
         */
        WaitForLockers(heaplocktag, AccessExclusiveLock, true);
 
@@ -2157,7 +2161,7 @@ index_drop(Oid indexId, bool concurrent, bool concurrent_lock_mode)
 
        /*
         * Wait till every transaction that saw the old index state has
-        * finished.
+        * finished.  See above about progress reporting.
         */
        WaitForLockers(heaplocktag, AccessExclusiveLock, true);