Remove PROC_IN_ANALYZE and derived flags
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 7 Aug 2020 21:24:40 +0000 (17:24 -0400)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
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.GA8118@alvherre.pgsql

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);