Remove PROC_IN_ANALYZE and derived flags
authorAlvaro Herrera
Fri, 7 Aug 2020 21:24:40 +0000 (17:24 -0400)
committerAlvaro Herrera
Fri, 7 Aug 2020 21:24:40 +0000 (17:24 -0400)
These flags are unused and always have been.

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

src/backend/commands/analyze.c
src/include/storage/proc.h
src/include/storage/procarray.h

index 924ef37c8163827c1debc11fcd2f88f2c9776110..e0fa73ba79095b775b59d08eb3fc72b14b9116ed 100644 (file)
@@ -247,11 +247,8 @@ analyze_rel(Oid relid, RangeVar *relation,
    }
 
    /*
-    * OK, let's do it.  First let other backends know I'm in ANALYZE.
+    * OK, let's do it.  First, initialize progress reporting.
     */
-   LWLockAcquire(ProcArrayLock, LW_EXCLUSIVE);
-   MyPgXact->vacuumFlags |= PROC_IN_ANALYZE;
-   LWLockRelease(ProcArrayLock);
    pgstat_progress_start_command(PROGRESS_COMMAND_ANALYZE,
                                  RelationGetRelid(onerel));
 
@@ -279,14 +276,6 @@ analyze_rel(Oid relid, RangeVar *relation,
    relation_close(onerel, NoLock);
 
    pgstat_progress_end_command();
-
-   /*
-    * Reset my PGXACT flag.  Note: we need this here, and not in vacuum_rel,
-    * because the vacuum flag is cleared by the end-of-xact code.
-    */
-   LWLockAcquire(ProcArrayLock, LW_EXCLUSIVE);
-   MyPgXact->vacuumFlags &= ~PROC_IN_ANALYZE;
-   LWLockRelease(ProcArrayLock);
 }
 
 /*
index b20e2ad4f6aa3ad1f8226eb349e12e6dc96be87e..5ceb2494bae71ae9698b366d439f13ffc8c4dd49 100644 (file)
@@ -52,7 +52,6 @@ struct XidCache
  */
 #define        PROC_IS_AUTOVACUUM  0x01    /* is it an autovac worker? */
 #define        PROC_IN_VACUUM      0x02    /* currently running lazy vacuum */
-#define        PROC_IN_ANALYZE     0x04    /* currently running analyze */
 #define        PROC_VACUUM_FOR_WRAPAROUND  0x08    /* set by autovac only */
 #define        PROC_IN_LOGICAL_DECODING    0x10    /* currently doing logical
                                                 * decoding outside xact */
@@ -60,7 +59,7 @@ struct XidCache
 
 /* flags reset at EOXact */
 #define        PROC_VACUUM_STATE_MASK \
-   (PROC_IN_VACUUM | PROC_IN_ANALYZE | PROC_VACUUM_FOR_WRAPAROUND)
+   (PROC_IN_VACUUM | PROC_VACUUM_FOR_WRAPAROUND)
 
 /*
  * We allow a small number of "weak" relation locks (AccessShareLock,
index a5c7d0c0644a1613504b521ef3bbc2835e589191..01040d76e1220f07d7cb307e763d84e8f020f85f 100644 (file)
@@ -29,8 +29,6 @@
  */
 #define        PROCARRAY_VACUUM_FLAG           0x02    /* currently running lazy
                                                     * vacuum */
-#define        PROCARRAY_ANALYZE_FLAG          0x04    /* currently running
-                                                    * analyze */
 #define        PROCARRAY_LOGICAL_DECODING_FLAG 0x10    /* currently doing logical
                                                     * decoding outside xact */
 
@@ -42,7 +40,6 @@
  * have no corresponding PROC flag equivalent.
  */
 #define        PROCARRAY_PROC_FLAGS_MASK   (PROCARRAY_VACUUM_FLAG | \
-                                        PROCARRAY_ANALYZE_FLAG | \
                                         PROCARRAY_LOGICAL_DECODING_FLAG)
 
 /* Use the following flags as an input "flags" to GetOldestXmin function */
 #define        PROCARRAY_FLAGS_DEFAULT         PROCARRAY_LOGICAL_DECODING_FLAG
 /* Ignore vacuum backends */
 #define        PROCARRAY_FLAGS_VACUUM          PROCARRAY_FLAGS_DEFAULT | PROCARRAY_VACUUM_FLAG
-/* Ignore analyze backends */
-#define        PROCARRAY_FLAGS_ANALYZE         PROCARRAY_FLAGS_DEFAULT | PROCARRAY_ANALYZE_FLAG
-/* Ignore both vacuum and analyze backends */
-#define        PROCARRAY_FLAGS_VACUUM_ANALYZE  PROCARRAY_FLAGS_DEFAULT | PROCARRAY_VACUUM_FLAG | PROCARRAY_ANALYZE_FLAG
 
 extern Size ProcArrayShmemSize(void);
 extern void CreateSharedProcArray(void);