diff options
author | Amit Kapila <akapila@postgresql.org> | 2021-03-24 11:10:12 +0530 |
---|---|---|
committer | Amit Kapila <akapila@postgresql.org> | 2021-03-24 11:29:15 +0530 |
commit | 26acb54a1368bf3706294400abca85b15c9233a6 (patch) | |
tree | 435436137df934ae0d011d271ab73a4710b4c893 /src/include/utils/rel.h | |
parent | 84007043fc1b1be68dad5d0a78269347c12094b6 (diff) | |
download | postgresql-26acb54a1368bf3706294400abca85b15c9233a6.tar.gz postgresql-26acb54a1368bf3706294400abca85b15c9233a6.zip |
Revert "Enable parallel SELECT for "INSERT INTO ... SELECT ..."."
To allow inserts in parallel-mode this feature has to ensure that all the
constraints, triggers, etc. are parallel-safe for the partition hierarchy
which is costly and we need to find a better way to do that. Additionally,
we could have used existing cached information in some cases like indexes,
domains, etc. to determine the parallel-safety.
List of commits reverted, in reverse chronological order:
ed62d3737c Doc: Update description for parallel insert reloption.
c8f78b6161 Add a new GUC and a reloption to enable inserts in parallel-mode.
c5be48f092 Improve FK trigger parallel-safety check added by 05c8482f7f.
e2cda3c20a Fix use of relcache TriggerDesc field introduced by commit 05c8482f7f.
e4e87a32cc Fix valgrind issue in commit 05c8482f7f.
05c8482f7f Enable parallel SELECT for "INSERT INTO ... SELECT ...".
Discussion: https://postgr.es/m/E1lMiB9-0001c3-SY@gemulon.postgresql.org
Diffstat (limited to 'src/include/utils/rel.h')
-rw-r--r-- | src/include/utils/rel.h | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/src/include/utils/rel.h b/src/include/utils/rel.h index 8eee1c1a835..9a3a03e5207 100644 --- a/src/include/utils/rel.h +++ b/src/include/utils/rel.h @@ -306,8 +306,6 @@ typedef struct StdRdOptions int parallel_workers; /* max number of parallel workers */ bool vacuum_index_cleanup; /* enables index vacuuming and cleanup */ bool vacuum_truncate; /* enables vacuum to truncate a relation */ - bool parallel_insert_enabled; /* enables planner's use of - * parallel insert */ } StdRdOptions; #define HEAP_MIN_FILLFACTOR 10 @@ -426,29 +424,6 @@ typedef struct ViewOptions VIEW_OPTION_CHECK_OPTION_CASCADED) /* - * PartitionedTableRdOptions - * Contents of rd_options for partitioned tables - */ -typedef struct PartitionedTableRdOptions -{ - int32 vl_len_; /* varlena header (do not touch directly!) */ - bool parallel_insert_enabled; /* enables planner's use of - * parallel insert */ -} PartitionedTableRdOptions; - -/* - * RelationGetParallelInsert - * Returns the relation's parallel_insert_enabled reloption setting. - * Note multiple eval of argument! - */ -#define RelationGetParallelInsert(relation, defaultpd) \ - ((relation)->rd_options ? \ - (relation->rd_rel->relkind == RELKIND_PARTITIONED_TABLE ? \ - ((PartitionedTableRdOptions *) (relation)->rd_options)->parallel_insert_enabled : \ - ((StdRdOptions *) (relation)->rd_options)->parallel_insert_enabled) : \ - (defaultpd)) - -/* * RelationIsValid * True iff relation descriptor is valid. */ |