Actually deprecate mark_tables_colocated()

eag/test-workflow^2
Onur Tirtir 2025-10-17 14:57:36 +03:00 committed by GitHub
parent 3ca66e1fcc
commit 90f2ab6648
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 31 deletions

View File

@ -73,34 +73,8 @@ PG_FUNCTION_INFO_V1(update_distributed_table_colocation);
Datum Datum
mark_tables_colocated(PG_FUNCTION_ARGS) mark_tables_colocated(PG_FUNCTION_ARGS)
{ {
CheckCitusVersion(ERROR); ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
EnsureCoordinator(); errmsg("this function is deprecated and no longer is used")));
Oid sourceRelationId = PG_GETARG_OID(0);
ArrayType *relationIdArrayObject = PG_GETARG_ARRAYTYPE_P(1);
int relationCount = ArrayObjectCount(relationIdArrayObject);
if (relationCount < 1)
{
ereport(ERROR, (errmsg("at least one target table is required for this "
"operation")));
}
EnsureTableOwner(sourceRelationId);
Datum *relationIdDatumArray = DeconstructArrayObject(relationIdArrayObject);
for (int relationIndex = 0; relationIndex < relationCount; relationIndex++)
{
Oid nextRelationOid = DatumGetObjectId(relationIdDatumArray[relationIndex]);
/* we require that the user either owns all tables or is superuser */
EnsureTableOwner(nextRelationOid);
MarkTablesColocated(sourceRelationId, nextRelationOid);
}
PG_RETURN_VOID();
} }
@ -1306,7 +1280,7 @@ ColocatedShardIdInRelation(Oid relationId, int shardIndex)
/* /*
* DeleteColocationGroupIfNoTablesBelong function deletes given co-location group if there * DeleteColocationGroupIfNoTablesBelong function deletes given co-location group if there
* is no relation in that co-location group. A co-location group may become empty after * is no relation in that co-location group. A co-location group may become empty after
* mark_tables_colocated or upgrade_reference_table UDF calls. In that case we need to * update_distributed_table_colocation UDF calls. In that case we need to
* remove empty co-location group to prevent orphaned co-location groups. * remove empty co-location group to prevent orphaned co-location groups.
*/ */
void void

View File

@ -1200,7 +1200,7 @@ DEBUG: cannot perform distributed INSERT INTO ... SELECT because the partition
DETAIL: The target table's partition column should correspond to a partition column in the subquery. DETAIL: The target table's partition column should correspond to a partition column in the subquery.
DEBUG: performing repartitioned INSERT ... SELECT DEBUG: performing repartitioned INSERT ... SELECT
RESET client_min_messages; RESET client_min_messages;
-- some tests for mark_tables_colocated -- some tests for update_distributed_table_colocation
-- should error out -- should error out
SELECT update_distributed_table_colocation('colocated_table_test_2', colocate_with => 'reference_table_test'); SELECT update_distributed_table_colocation('colocated_table_test_2', colocate_with => 'reference_table_test');
ERROR: relation reference_table_test should be a hash or single shard distributed table ERROR: relation reference_table_test should be a hash or single shard distributed table

View File

@ -768,7 +768,7 @@ WHERE
RESET client_min_messages; RESET client_min_messages;
-- some tests for mark_tables_colocated -- some tests for update_distributed_table_colocation
-- should error out -- should error out
SELECT update_distributed_table_colocation('colocated_table_test_2', colocate_with => 'reference_table_test'); SELECT update_distributed_table_colocation('colocated_table_test_2', colocate_with => 'reference_table_test');