diff options
author | Pavan Deolasee | 2017-08-22 10:12:37 +0000 |
---|---|---|
committer | Pavan Deolasee | 2017-08-22 10:15:34 +0000 |
commit | dc14e7b45e9a7172339754c3baf6e25a84a43d5d (patch) | |
tree | 147a8c167eee83b83e7fcda31556b794980bf465 /src/backend/optimizer | |
parent | 83f680a33db9baef5b2e5d1a15a45b77620d6479 (diff) |
Do not FQS NextValueExpr
The target datanode must be determined after computing the next value. So
let is go through regular planning. This fixes couple of regression failures.
Diffstat (limited to 'src/backend/optimizer')
-rw-r--r-- | src/backend/optimizer/util/pgxcship.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/backend/optimizer/util/pgxcship.c b/src/backend/optimizer/util/pgxcship.c index 6f26ec0264..14dd4a8334 100644 --- a/src/backend/optimizer/util/pgxcship.c +++ b/src/backend/optimizer/util/pgxcship.c @@ -817,10 +817,11 @@ pgxc_shippability_walker(Node *node, Shippability_context *sc_context) case T_NextValueExpr: /* - * XXX PG10MERGE: Is it Ok to ship nextval when it's used for - * replica identity? + * We must not FQS NextValueExpr since it could be used for + * distribution key and it should get mapped to the correct + * datanode. */ - pgxc_set_exprtype_shippability(exprType(node), sc_context); + pgxc_set_shippability_reason(sc_context, SS_UNSHIPPABLE_EXPR); break; case T_Aggref: |