summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavan Deolasee2017-08-22 10:12:37 +0000
committerPavan Deolasee2017-08-22 10:15:34 +0000
commitdc14e7b45e9a7172339754c3baf6e25a84a43d5d (patch)
tree147a8c167eee83b83e7fcda31556b794980bf465
parent83f680a33db9baef5b2e5d1a15a45b77620d6479 (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.c7
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: