mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Handle INSERT .. ON CONFLICT with partitioned tables
Commit eb7ed3f306
enabled unique constraints on partitioned tables,
but one thing that was not working properly is INSERT/ON CONFLICT.
This commit introduces a new node keeps state related to the ON CONFLICT
clause per partition, and fills it when that partition is about to be
used for tuple routing.
Author: Amit Langote, Álvaro Herrera
Reviewed-by: Etsuro Fujita, Pavan Deolasee
Discussion: https://postgr.es/m/20180228004602.cwdyralmg5ejdqkq@alvherre.pgsql
This commit is contained in:
@@ -1026,13 +1026,6 @@ transformOnConflictClause(ParseState *pstate,
|
||||
TargetEntry *te;
|
||||
int attno;
|
||||
|
||||
if (targetrel->rd_partdesc)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("%s cannot be applied to partitioned table \"%s\"",
|
||||
"ON CONFLICT DO UPDATE",
|
||||
RelationGetRelationName(targetrel))));
|
||||
|
||||
/*
|
||||
* All INSERT expressions have been parsed, get ready for potentially
|
||||
* existing SET statements that need to be processed like an UPDATE.
|
||||
|
Reference in New Issue
Block a user