Fixes build error

pull/7375/head
gindibay 2023-12-13 01:22:49 +03:00 committed by gurkanindibay
parent f8a332952d
commit 369756cfcb
1 changed files with 44 additions and 43 deletions

View File

@ -140,47 +140,48 @@ citus_internal_database_size(PG_FUNCTION_ARGS)
ClearResults(connection, failOnError);
PG_RETURN_INT64(size);
}
/*
* Retrieves the groupId of a distributed database
* using databaseOid from the pg_dist_database table.
*/
static int
GroupLookupFromDatabase(int64 databaseOid, bool missingOk)
{
ScanKeyData scanKey[1];
int scanKeyCount = 1;
Form_pg_dist_database databaseForm = NULL;
Relation pgDistDatabase = table_open(PgDistDatabaseRelationId(), AccessShareLock);
int groupId = -1;
ScanKeyInit(&scanKey[0], Anum_pg_dist_database_databaseid,
BTEqualStrategyNumber, F_INT8EQ, Int64GetDatum(databaseOid));
SysScanDesc scanDescriptor = systable_beginscan(pgDistDatabase,
InvalidOid, true,
NULL, scanKeyCount, scanKey);
HeapTuple heapTuple = systable_getnext(scanDescriptor);
if (!HeapTupleIsValid(heapTuple) && !missingOk)
{
ereport(ERROR, (errmsg("could not find valid entry for database "
UINT64_FORMAT, databaseOid)));
}
if (!HeapTupleIsValid(heapTuple))
{
groupId = -2;
}
else
{
databaseForm = (Form_pg_dist_database) GETSTRUCT(heapTuple);
groupId = databaseForm->groupid;
}
systable_endscan(scanDescriptor);
table_close(pgDistDatabase, NoLock);
return groupId;
}
}
/*
* Retrieves the groupId of a distributed database
* using databaseOid from the pg_dist_database table.
*/
static int
GroupLookupFromDatabase(int64 databaseOid, bool missingOk)
{
ScanKeyData scanKey[1];
int scanKeyCount = 1;
Form_pg_dist_database databaseForm = NULL;
Relation pgDistDatabase = table_open(PgDistDatabaseRelationId(), AccessShareLock);
int groupId = -1;
ScanKeyInit(&scanKey[0], Anum_pg_dist_database_databaseid,
BTEqualStrategyNumber, F_INT8EQ, Int64GetDatum(databaseOid));
SysScanDesc scanDescriptor = systable_beginscan(pgDistDatabase,
InvalidOid, true,
NULL, scanKeyCount, scanKey);
HeapTuple heapTuple = systable_getnext(scanDescriptor);
if (!HeapTupleIsValid(heapTuple) && !missingOk)
{
ereport(ERROR, (errmsg("could not find valid entry for database "
UINT64_FORMAT, databaseOid)));
}
if (!HeapTupleIsValid(heapTuple))
{
groupId = -2;
}
else
{
databaseForm = (Form_pg_dist_database) GETSTRUCT(heapTuple);
groupId = databaseForm->groupid;
}
systable_endscan(scanDescriptor);
table_close(pgDistDatabase, NoLock);
return groupId;
}