/*
* Now we must wait until no running transaction could be using the
- * index for a query. Note we do not need to worry about xacts that
- * open the table for reading after this point; they will see the
- * index as invalid when they open the relation.
+ * index for a query. Use AccessExclusiveLock here to check for
+ * running transactions that hold locks of any kind on the table.
+ * Note we do not need to worry about xacts that open the table for
+ * reading after this point; they will see the index as invalid when
+ * they open the relation.
*
* Note: the reason we use actual lock acquisition here, rather than
* just checking the ProcArray and sleeping, is that deadlock is
* for an overview of how this works)
*
* Now we must wait until no running transaction could have the table open
- * with the old list of indexes. Note we do not need to worry about xacts
- * that open the table for writing after this point; they will see the new
- * index when they open it.
+ * with the old list of indexes. Use ShareLock to consider running
+ * transactions that hold locks that permit writing to the table. Note we
+ * do not need to worry about xacts that open the table for writing after
+ * this point; they will see the new index when they open it.
*
* Note: the reason we use actual lock acquisition here, rather than just
* checking the ProcArray and sleeping, is that deadlock is possible if