diff options
author | Robert Haas <rhaas@postgresql.org> | 2018-01-05 15:18:03 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2018-01-05 15:22:33 -0500 |
commit | 19c47e7c820241e1befd975cb4411af7d43e1309 (patch) | |
tree | af3f82cd3f4a470f6a223d3c5bd3d336e4c35322 /src/include/executor | |
parent | 84a6f63e32dbefe3dc76cbe628fab6cbfc26141e (diff) |
Factor error generation out of ExecPartitionCheck.
At present, we always raise an ERROR if the partition constraint
is violated, but a pending patch for UPDATE tuple routing will
consider instead moving the tuple to the correct partition.
Refactor to make that simpler.
Amit Khandekar, reviewed by Amit Langote, David Rowley, and me.
Discussion: http://postgr.es/m/CAJ3gD9cue54GbEzfV-61nyGpijvjZgCcghvLsB0_nL8Nm8HzCA@mail.gmail.com
Diffstat (limited to 'src/include/executor')
-rw-r--r-- | src/include/executor/executor.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/include/executor/executor.h b/src/include/executor/executor.h index e6569e1038b..a782fae0f83 100644 --- a/src/include/executor/executor.h +++ b/src/include/executor/executor.h @@ -187,9 +187,12 @@ extern ResultRelInfo *ExecGetTriggerResultRel(EState *estate, Oid relid); extern void ExecCleanUpTriggerState(EState *estate); extern bool ExecContextForcesOids(PlanState *planstate, bool *hasoids); extern void ExecConstraints(ResultRelInfo *resultRelInfo, - TupleTableSlot *slot, EState *estate); -extern void ExecPartitionCheck(ResultRelInfo *resultRelInfo, + TupleTableSlot *slot, EState *estate, + bool check_partition_constraint); +extern bool ExecPartitionCheck(ResultRelInfo *resultRelInfo, TupleTableSlot *slot, EState *estate); +extern void ExecPartitionCheckEmitError(ResultRelInfo *resultRelInfo, + TupleTableSlot *slot, EState *estate); extern void ExecWithCheckOptions(WCOKind kind, ResultRelInfo *resultRelInfo, TupleTableSlot *slot, EState *estate); extern LockTupleMode ExecUpdateLockMode(EState *estate, ResultRelInfo *relinfo); |