From b864d014ab48d0346d961ed55d18620cdc5c3e8f Mon Sep 17 00:00:00 2001 From: Brian Cloutier Date: Mon, 29 Jan 2018 15:32:36 -0800 Subject: [PATCH] GetNextNodeId() incorrectly called PG_RETURN_DATUM - Also stabilize the output of a multi_router_planner test --- src/backend/distributed/utils/node_metadata.c | 8 +++----- src/test/regress/expected/multi_mx_router_planner.out | 3 ++- src/test/regress/expected/multi_router_planner.out | 3 ++- src/test/regress/sql/multi_mx_router_planner.sql | 3 ++- src/test/regress/sql/multi_router_planner.sql | 3 ++- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/backend/distributed/utils/node_metadata.c b/src/backend/distributed/utils/node_metadata.c index d13350023..ddfe318e2 100644 --- a/src/backend/distributed/utils/node_metadata.c +++ b/src/backend/distributed/utils/node_metadata.c @@ -1192,20 +1192,18 @@ GetNextNodeId() Datum sequenceIdDatum = ObjectIdGetDatum(sequenceId); Oid savedUserId = InvalidOid; int savedSecurityContext = 0; - Datum nextNodedIdDatum = 0; + Datum nextNodeIdDatum; int nextNodeId = 0; GetUserIdAndSecContext(&savedUserId, &savedSecurityContext); SetUserIdAndSecContext(CitusExtensionOwner(), SECURITY_LOCAL_USERID_CHANGE); /* generate new and unique shardId from sequence */ - nextNodedIdDatum = DirectFunctionCall1(nextval_oid, sequenceIdDatum); + nextNodeIdDatum = DirectFunctionCall1(nextval_oid, sequenceIdDatum); SetUserIdAndSecContext(savedUserId, savedSecurityContext); - PG_RETURN_DATUM(nextNodedIdDatum); - - nextNodeId = DatumGetUInt32(nextNodeId); + nextNodeId = DatumGetUInt32(nextNodeIdDatum); return nextNodeId; } diff --git a/src/test/regress/expected/multi_mx_router_planner.out b/src/test/regress/expected/multi_mx_router_planner.out index 5fb094fc8..5fa9ae5ff 100644 --- a/src/test/regress/expected/multi_mx_router_planner.out +++ b/src/test/regress/expected/multi_mx_router_planner.out @@ -1204,7 +1204,8 @@ SELECT FROM articles_hash_mx GROUP BY - author_id; + author_id + ORDER BY c; c --- 4 diff --git a/src/test/regress/expected/multi_router_planner.out b/src/test/regress/expected/multi_router_planner.out index c90de03b6..64cc2548f 100644 --- a/src/test/regress/expected/multi_router_planner.out +++ b/src/test/regress/expected/multi_router_planner.out @@ -1902,7 +1902,8 @@ SELECT FROM articles_hash GROUP BY - author_id; + author_id + ORDER BY c; c --- 4 diff --git a/src/test/regress/sql/multi_mx_router_planner.sql b/src/test/regress/sql/multi_mx_router_planner.sql index f83a27f39..53cb0ea10 100644 --- a/src/test/regress/sql/multi_mx_router_planner.sql +++ b/src/test/regress/sql/multi_mx_router_planner.sql @@ -529,7 +529,8 @@ SELECT FROM articles_hash_mx GROUP BY - author_id; + author_id + ORDER BY c; -- queries inside transactions can be router plannable BEGIN; diff --git a/src/test/regress/sql/multi_router_planner.sql b/src/test/regress/sql/multi_router_planner.sql index f5f15b30f..5041d8355 100644 --- a/src/test/regress/sql/multi_router_planner.sql +++ b/src/test/regress/sql/multi_router_planner.sql @@ -911,7 +911,8 @@ SELECT FROM articles_hash GROUP BY - author_id; + author_id + ORDER BY c; -- queries inside transactions can be router plannable BEGIN;