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 | |
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.
-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: |