Merge pull request #1139 from citusdata/fix-1138

Query placementId in RemoteFinalizedShardPlacementList().
pull/1090/head
Andres Freund 2017-01-17 13:49:53 -08:00 committed by GitHub
commit b9c4a4b378
2 changed files with 6 additions and 4 deletions

View File

@ -1163,14 +1163,16 @@ RemoteFinalizedShardPlacementList(uint64 shardId)
for (rowIndex = 0; rowIndex < rowCount; rowIndex++) for (rowIndex = 0; rowIndex < rowCount; rowIndex++)
{ {
char *nodeName = PQgetvalue(queryResult, rowIndex, 0); char *placementIdString = PQgetvalue(queryResult, rowIndex, 0);
char *nodeName = PQgetvalue(queryResult, rowIndex, 1);
char *nodePortString = PQgetvalue(queryResult, rowIndex, 1); char *nodePortString = PQgetvalue(queryResult, rowIndex, 2);
uint32 nodePort = atoi(nodePortString); uint32 nodePort = atoi(nodePortString);
uint64 placementId = atoll(placementIdString);
ShardPlacement *shardPlacement = ShardPlacement *shardPlacement =
(ShardPlacement *) palloc0(sizeof(ShardPlacement)); (ShardPlacement *) palloc0(sizeof(ShardPlacement));
shardPlacement->placementId = placementId;
shardPlacement->nodeName = nodeName; shardPlacement->nodeName = nodeName;
shardPlacement->nodePort = nodePort; shardPlacement->nodePort = nodePort;

View File

@ -70,7 +70,7 @@
#define CREATE_SCHEMA_COMMAND "CREATE SCHEMA IF NOT EXISTS %s AUTHORIZATION %s" #define CREATE_SCHEMA_COMMAND "CREATE SCHEMA IF NOT EXISTS %s AUTHORIZATION %s"
#define CREATE_EMPTY_SHARD_QUERY "SELECT master_create_empty_shard('%s')" #define CREATE_EMPTY_SHARD_QUERY "SELECT master_create_empty_shard('%s')"
#define FINALIZED_SHARD_PLACEMENTS_QUERY \ #define FINALIZED_SHARD_PLACEMENTS_QUERY \
"SELECT nodename, nodeport FROM pg_dist_shard_placement WHERE shardstate = 1 AND shardid = %ld" "SELECT placementid, nodename, nodeport FROM pg_dist_shard_placement WHERE shardstate = 1 AND shardid = %ld"
#define UPDATE_SHARD_STATISTICS_QUERY \ #define UPDATE_SHARD_STATISTICS_QUERY \
"SELECT master_update_shard_statistics(%ld)" "SELECT master_update_shard_statistics(%ld)"
#define PARTITION_METHOD_QUERY "SELECT part_method FROM master_get_table_metadata('%s');" #define PARTITION_METHOD_QUERY "SELECT part_method FROM master_get_table_metadata('%s');"