mirror of https://github.com/citusdata/citus.git
improve code and one more test
parent
83dd504a64
commit
3b767211cc
|
@ -572,14 +572,6 @@ CreateDistributedTableConcurrently(Oid relationId, char *distributionColumnName,
|
|||
colocatedTableId = ColocatedTableId(colocationId);
|
||||
}
|
||||
|
||||
List *workerNodeList = NewDistributedTablePlacementNodeList(NoLock);
|
||||
if (workerNodeList == NIL)
|
||||
{
|
||||
ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
||||
errmsg("no worker nodes are available for placing shards"),
|
||||
errhint("Add more worker nodes.")));
|
||||
}
|
||||
|
||||
List *workersForPlacementList;
|
||||
List *shardSplitPointsList;
|
||||
List *needsIsolatedNodeForPlacementList;
|
||||
|
@ -615,6 +607,14 @@ CreateDistributedTableConcurrently(Oid relationId, char *distributionColumnName,
|
|||
/*
|
||||
* Place shards in a round-robin fashion across all data nodes.
|
||||
*/
|
||||
List *workerNodeList = NewDistributedTablePlacementNodeList(NoLock);
|
||||
if (workerNodeList == NIL)
|
||||
{
|
||||
ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
||||
errmsg("no worker nodes are available for placing shards"),
|
||||
errhint("Add more worker nodes.")));
|
||||
}
|
||||
|
||||
workersForPlacementList = RoundRobinWorkerNodeList(workerNodeList, shardCount);
|
||||
|
||||
/*
|
||||
|
|
|
@ -36,6 +36,15 @@ SET ROLE test_user_isolate_placement;
|
|||
-- test invalid shard id
|
||||
SELECT citus_internal_shard_group_set_needsisolatednode(0, true);
|
||||
ERROR: could not find valid entry for shard xxxxx
|
||||
-- test null needs_isolated_node
|
||||
SELECT citus_internal_add_shard_metadata(
|
||||
relation_id=>0,
|
||||
shard_id=>0,
|
||||
storage_type=>'0',
|
||||
shard_min_value=>'0',
|
||||
shard_max_value=>'0',
|
||||
needs_isolated_node=>null);
|
||||
ERROR: needs isolated node cannot be NULL
|
||||
RESET ROLE;
|
||||
REVOKE ALL ON SCHEMA isolate_placement FROM test_user_isolate_placement;
|
||||
DROP USER test_user_isolate_placement;
|
||||
|
|
|
@ -29,6 +29,15 @@ SET ROLE test_user_isolate_placement;
|
|||
-- test invalid shard id
|
||||
SELECT citus_internal_shard_group_set_needsisolatednode(0, true);
|
||||
|
||||
-- test null needs_isolated_node
|
||||
SELECT citus_internal_add_shard_metadata(
|
||||
relation_id=>0,
|
||||
shard_id=>0,
|
||||
storage_type=>'0',
|
||||
shard_min_value=>'0',
|
||||
shard_max_value=>'0',
|
||||
needs_isolated_node=>null);
|
||||
|
||||
RESET ROLE;
|
||||
REVOKE ALL ON SCHEMA isolate_placement FROM test_user_isolate_placement;
|
||||
DROP USER test_user_isolate_placement;
|
||||
|
|
Loading…
Reference in New Issue