aboutsummaryrefslogtreecommitdiff
path: root/src/include/executor
diff options
context:
space:
mode:
authorThomas Munro <tmunro@postgresql.org>2021-03-18 00:35:04 +1300
committerThomas Munro <tmunro@postgresql.org>2021-03-18 01:10:55 +1300
commit7f7f25f15edb6eacec58179ef5285e874aa4435b (patch)
tree93e05bd9b9d7ce29ccb0835d74104147f62b313a /src/include/executor
parent9fd2952cf4920d563e9cea51634c5b364d57f71a (diff)
downloadpostgresql-7f7f25f15edb6eacec58179ef5285e874aa4435b.tar.gz
postgresql-7f7f25f15edb6eacec58179ef5285e874aa4435b.zip
Revert "Fix race in Parallel Hash Join batch cleanup."
This reverts commit 378802e3713c6c0fce31d2390c134cd5d7c30157. This reverts commit 3b8981b6e1a2aea0f18384c803e21e9391de669a. Discussion: https://postgr.es/m/CA%2BhUKGJmcqAE3MZeDCLLXa62cWM0AJbKmp2JrJYaJ86bz36LFA%40mail.gmail.com
Diffstat (limited to 'src/include/executor')
-rw-r--r--src/include/executor/hashjoin.h37
1 files changed, 18 insertions, 19 deletions
diff --git a/src/include/executor/hashjoin.h b/src/include/executor/hashjoin.h
index 176fbef149e..d74034f64f8 100644
--- a/src/include/executor/hashjoin.h
+++ b/src/include/executor/hashjoin.h
@@ -254,32 +254,31 @@ typedef struct ParallelHashJoinState
} ParallelHashJoinState;
/* The phases for building batches, used by build_barrier. */
-#define PHJ_BUILD_ELECT 0
-#define PHJ_BUILD_ALLOCATE 1
-#define PHJ_BUILD_HASH_INNER 2
-#define PHJ_BUILD_HASH_OUTER 3
-#define PHJ_BUILD_RUN 4
-#define PHJ_BUILD_FREE 5
+#define PHJ_BUILD_ELECTING 0
+#define PHJ_BUILD_ALLOCATING 1
+#define PHJ_BUILD_HASHING_INNER 2
+#define PHJ_BUILD_HASHING_OUTER 3
+#define PHJ_BUILD_DONE 4
/* The phases for probing each batch, used by for batch_barrier. */
-#define PHJ_BATCH_ELECT 0
-#define PHJ_BATCH_ALLOCATE 1
-#define PHJ_BATCH_LOAD 2
-#define PHJ_BATCH_PROBE 3
-#define PHJ_BATCH_FREE 4
+#define PHJ_BATCH_ELECTING 0
+#define PHJ_BATCH_ALLOCATING 1
+#define PHJ_BATCH_LOADING 2
+#define PHJ_BATCH_PROBING 3
+#define PHJ_BATCH_DONE 4
/* The phases of batch growth while hashing, for grow_batches_barrier. */
-#define PHJ_GROW_BATCHES_ELECT 0
-#define PHJ_GROW_BATCHES_REALLOCATE 1
-#define PHJ_GROW_BATCHES_REPARTITION 2
-#define PHJ_GROW_BATCHES_DECIDE 3
-#define PHJ_GROW_BATCHES_FINISH 4
+#define PHJ_GROW_BATCHES_ELECTING 0
+#define PHJ_GROW_BATCHES_ALLOCATING 1
+#define PHJ_GROW_BATCHES_REPARTITIONING 2
+#define PHJ_GROW_BATCHES_DECIDING 3
+#define PHJ_GROW_BATCHES_FINISHING 4
#define PHJ_GROW_BATCHES_PHASE(n) ((n) % 5) /* circular phases */
/* The phases of bucket growth while hashing, for grow_buckets_barrier. */
-#define PHJ_GROW_BUCKETS_ELECT 0
-#define PHJ_GROW_BUCKETS_REALLOCATE 1
-#define PHJ_GROW_BUCKETS_REINSERT 2
+#define PHJ_GROW_BUCKETS_ELECTING 0
+#define PHJ_GROW_BUCKETS_ALLOCATING 1
+#define PHJ_GROW_BUCKETS_REINSERTING 2
#define PHJ_GROW_BUCKETS_PHASE(n) ((n) % 3) /* circular phases */
typedef struct HashJoinTableData