diff options
Diffstat (limited to 'src/backend/executor')
-rw-r--r-- | src/backend/executor/execUtils.c | 6 | ||||
-rw-r--r-- | src/backend/executor/nodeModifyTable.c | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/executor/execUtils.c b/src/backend/executor/execUtils.c index 122de068022..7284a23dc9a 100644 --- a/src/backend/executor/execUtils.c +++ b/src/backend/executor/execUtils.c @@ -52,6 +52,7 @@ #include "access/transam.h" #include "executor/executor.h" #include "executor/execPartition.h" +#include "executor/nodeModifyTable.h" #include "jit/jit.h" #include "mb/pg_wchar.h" #include "miscadmin.h" @@ -1332,8 +1333,9 @@ ExecGetExtraUpdatedCols(ResultRelInfo *relinfo, EState *estate) { ListCell *lc; - /* Assert that ExecInitStoredGenerated has been called. */ - Assert(relinfo->ri_GeneratedExprs != NULL); + /* In some code paths we can reach here before initializing the info */ + if (relinfo->ri_GeneratedExprs == NULL) + ExecInitStoredGenerated(relinfo, estate, CMD_UPDATE); foreach(lc, estate->es_resultrelinfo_extra) { ResultRelInfoExtra *rextra = (ResultRelInfoExtra *) lfirst(lc); diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c index 4c49edef250..5121dff7f5b 100644 --- a/src/backend/executor/nodeModifyTable.c +++ b/src/backend/executor/nodeModifyTable.c @@ -361,7 +361,7 @@ ExecCheckTIDVisible(EState *estate, * (Currently, ri_extraUpdatedCols is consulted only in UPDATE, but we might * as well fill it for INSERT too.) */ -static void +void ExecInitStoredGenerated(ResultRelInfo *resultRelInfo, EState *estate, CmdType cmdtype) |