mirror of https://github.com/citusdata/citus.git
Rename foreach_ macros to foreach_declared_ macros (#7700)
This is prep work for successful compilation with PG17
PG17added foreach_ptr, foreach_int and foreach_oid macros
Relevant PG commit
14dd0f27d7cd56ffae9ecdbe324965073d01a9ff
14dd0f27d7
We already have these macros, but they are different with the
PG17 ones because our macros take a DECLARED variable, whereas
the PG16 macros declare a locally-scoped loop variable themselves.
Hence I am renaming our macros to foreach_declared_
I am separating this into its own PR since it touches many files. The
main compilation PR is https://github.com/citusdata/citus/pull/7699
pull/7746/head
parent
15ecc37ecd
commit
9d364332ac
|
@ -363,7 +363,7 @@ ColumnarGetRelationInfoHook(PlannerInfo *root, Oid relationObjectId,
|
|||
|
||||
/* disable index-only scan */
|
||||
IndexOptInfo *indexOptInfo = NULL;
|
||||
foreach_ptr(indexOptInfo, rel->indexlist)
|
||||
foreach_declared_ptr(indexOptInfo, rel->indexlist)
|
||||
{
|
||||
memset(indexOptInfo->canreturn, false, indexOptInfo->ncolumns * sizeof(bool));
|
||||
}
|
||||
|
@ -381,7 +381,7 @@ RemovePathsByPredicate(RelOptInfo *rel, PathPredicate removePathPredicate)
|
|||
List *filteredPathList = NIL;
|
||||
|
||||
Path *path = NULL;
|
||||
foreach_ptr(path, rel->pathlist)
|
||||
foreach_declared_ptr(path, rel->pathlist)
|
||||
{
|
||||
if (!removePathPredicate(path))
|
||||
{
|
||||
|
@ -428,7 +428,7 @@ static void
|
|||
CostColumnarPaths(PlannerInfo *root, RelOptInfo *rel, Oid relationId)
|
||||
{
|
||||
Path *path = NULL;
|
||||
foreach_ptr(path, rel->pathlist)
|
||||
foreach_declared_ptr(path, rel->pathlist)
|
||||
{
|
||||
if (IsA(path, IndexPath))
|
||||
{
|
||||
|
@ -783,7 +783,7 @@ ExtractPushdownClause(PlannerInfo *root, RelOptInfo *rel, Node *node)
|
|||
List *pushdownableArgs = NIL;
|
||||
|
||||
Node *boolExprArg = NULL;
|
||||
foreach_ptr(boolExprArg, boolExpr->args)
|
||||
foreach_declared_ptr(boolExprArg, boolExpr->args)
|
||||
{
|
||||
Expr *pushdownableArg = ExtractPushdownClause(root, rel,
|
||||
(Node *) boolExprArg);
|
||||
|
@ -1550,7 +1550,7 @@ ColumnarPerStripeScanCost(RelOptInfo *rel, Oid relationId, int numberOfColumnsRe
|
|||
uint32 maxColumnCount = 0;
|
||||
uint64 totalStripeSize = 0;
|
||||
StripeMetadata *stripeMetadata = NULL;
|
||||
foreach_ptr(stripeMetadata, stripeList)
|
||||
foreach_declared_ptr(stripeMetadata, stripeList)
|
||||
{
|
||||
totalStripeSize += stripeMetadata->dataLength;
|
||||
maxColumnCount = Max(maxColumnCount, stripeMetadata->columnCount);
|
||||
|
|
|
@ -2042,7 +2042,7 @@ GetHighestUsedRowNumber(uint64 storageId)
|
|||
List *stripeMetadataList = ReadDataFileStripeList(storageId,
|
||||
GetTransactionSnapshot());
|
||||
StripeMetadata *stripeMetadata = NULL;
|
||||
foreach_ptr(stripeMetadata, stripeMetadataList)
|
||||
foreach_declared_ptr(stripeMetadata, stripeMetadataList)
|
||||
{
|
||||
highestRowNumber = Max(highestRowNumber,
|
||||
StripeGetHighestRowNumber(stripeMetadata));
|
||||
|
|
|
@ -880,7 +880,7 @@ ReadChunkGroupNextRow(ChunkGroupReadState *chunkGroupReadState, Datum *columnVal
|
|||
memset(columnNulls, true, sizeof(bool) * chunkGroupReadState->columnCount);
|
||||
|
||||
int attno;
|
||||
foreach_int(attno, chunkGroupReadState->projectedColumnList)
|
||||
foreach_declared_int(attno, chunkGroupReadState->projectedColumnList)
|
||||
{
|
||||
const ChunkData *chunkGroupData = chunkGroupReadState->chunkGroupData;
|
||||
const int rowIndex = chunkGroupReadState->currentRow;
|
||||
|
@ -1489,7 +1489,7 @@ ProjectedColumnMask(uint32 columnCount, List *projectedColumnList)
|
|||
bool *projectedColumnMask = palloc0(columnCount * sizeof(bool));
|
||||
int attno;
|
||||
|
||||
foreach_int(attno, projectedColumnList)
|
||||
foreach_declared_int(attno, projectedColumnList)
|
||||
{
|
||||
/* attno is 1-indexed; projectedColumnMask is 0-indexed */
|
||||
int columnIndex = attno - 1;
|
||||
|
|
|
@ -3083,7 +3083,7 @@ DefElem *
|
|||
GetExtensionOption(List *extensionOptions, const char *defname)
|
||||
{
|
||||
DefElem *defElement = NULL;
|
||||
foreach_ptr(defElement, extensionOptions)
|
||||
foreach_declared_ptr(defElement, extensionOptions)
|
||||
{
|
||||
if (IsA(defElement, DefElem) &&
|
||||
strncmp(defElement->defname, defname, NAMEDATALEN) == 0)
|
||||
|
|
|
@ -328,7 +328,7 @@ GetHighestClockInTransaction(List *nodeConnectionList)
|
|||
{
|
||||
MultiConnection *connection = NULL;
|
||||
|
||||
foreach_ptr(connection, nodeConnectionList)
|
||||
foreach_declared_ptr(connection, nodeConnectionList)
|
||||
{
|
||||
int querySent =
|
||||
SendRemoteCommand(connection, "SELECT citus_get_node_clock();");
|
||||
|
@ -349,7 +349,7 @@ GetHighestClockInTransaction(List *nodeConnectionList)
|
|||
globalClockValue->counter)));
|
||||
|
||||
/* fetch the results and pick the highest clock value of all the nodes */
|
||||
foreach_ptr(connection, nodeConnectionList)
|
||||
foreach_declared_ptr(connection, nodeConnectionList)
|
||||
{
|
||||
bool raiseInterrupts = true;
|
||||
|
||||
|
|
|
@ -417,7 +417,7 @@ UndistributeTables(List *relationIdList)
|
|||
*/
|
||||
List *originalForeignKeyRecreationCommands = NIL;
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
List *fkeyCommandsForRelation =
|
||||
GetFKeyCreationCommandsRelationInvolvedWithTableType(relationId,
|
||||
|
@ -803,7 +803,7 @@ ConvertTableInternal(TableConversionState *con)
|
|||
List *partitionList = PartitionList(con->relationId);
|
||||
|
||||
Oid partitionRelationId = InvalidOid;
|
||||
foreach_oid(partitionRelationId, partitionList)
|
||||
foreach_declared_oid(partitionRelationId, partitionList)
|
||||
{
|
||||
char *tableQualifiedName = generate_qualified_relation_name(
|
||||
partitionRelationId);
|
||||
|
@ -876,7 +876,7 @@ ConvertTableInternal(TableConversionState *con)
|
|||
}
|
||||
|
||||
TableDDLCommand *tableCreationCommand = NULL;
|
||||
foreach_ptr(tableCreationCommand, preLoadCommands)
|
||||
foreach_declared_ptr(tableCreationCommand, preLoadCommands)
|
||||
{
|
||||
Assert(CitusIsA(tableCreationCommand, TableDDLCommand));
|
||||
|
||||
|
@ -950,7 +950,7 @@ ConvertTableInternal(TableConversionState *con)
|
|||
con->suppressNoticeMessages);
|
||||
|
||||
TableDDLCommand *tableConstructionCommand = NULL;
|
||||
foreach_ptr(tableConstructionCommand, postLoadCommands)
|
||||
foreach_declared_ptr(tableConstructionCommand, postLoadCommands)
|
||||
{
|
||||
Assert(CitusIsA(tableConstructionCommand, TableDDLCommand));
|
||||
char *tableConstructionSQL = GetTableDDLCommand(tableConstructionCommand);
|
||||
|
@ -968,7 +968,7 @@ ConvertTableInternal(TableConversionState *con)
|
|||
MemoryContext oldContext = MemoryContextSwitchTo(citusPerPartitionContext);
|
||||
|
||||
char *attachPartitionCommand = NULL;
|
||||
foreach_ptr(attachPartitionCommand, attachPartitionCommands)
|
||||
foreach_declared_ptr(attachPartitionCommand, attachPartitionCommands)
|
||||
{
|
||||
MemoryContextReset(citusPerPartitionContext);
|
||||
|
||||
|
@ -993,7 +993,7 @@ ConvertTableInternal(TableConversionState *con)
|
|||
|
||||
/* For now we only support cascade to colocation for alter_distributed_table UDF */
|
||||
Assert(con->conversionType == ALTER_DISTRIBUTED_TABLE);
|
||||
foreach_oid(colocatedTableId, con->colocatedTableList)
|
||||
foreach_declared_oid(colocatedTableId, con->colocatedTableList)
|
||||
{
|
||||
if (colocatedTableId == con->relationId)
|
||||
{
|
||||
|
@ -1023,7 +1023,7 @@ ConvertTableInternal(TableConversionState *con)
|
|||
if (con->cascadeToColocated != CASCADE_TO_COLOCATED_NO_ALREADY_CASCADED)
|
||||
{
|
||||
char *foreignKeyCommand = NULL;
|
||||
foreach_ptr(foreignKeyCommand, foreignKeyCommands)
|
||||
foreach_declared_ptr(foreignKeyCommand, foreignKeyCommands)
|
||||
{
|
||||
ExecuteQueryViaSPI(foreignKeyCommand, SPI_OK_UTILITY);
|
||||
}
|
||||
|
@ -1059,7 +1059,7 @@ CopyTableConversionReturnIntoCurrentContext(TableConversionReturn *tableConversi
|
|||
tableConversionReturnCopy = palloc0(sizeof(TableConversionReturn));
|
||||
List *copyForeignKeyCommands = NIL;
|
||||
char *foreignKeyCommand = NULL;
|
||||
foreach_ptr(foreignKeyCommand, tableConversionReturn->foreignKeyCommands)
|
||||
foreach_declared_ptr(foreignKeyCommand, tableConversionReturn->foreignKeyCommands)
|
||||
{
|
||||
char *copyForeignKeyCommand = MemoryContextStrdup(CurrentMemoryContext,
|
||||
foreignKeyCommand);
|
||||
|
@ -1134,7 +1134,7 @@ DropIndexesNotSupportedByColumnar(Oid relationId, bool suppressNoticeMessages)
|
|||
RelationClose(columnarRelation);
|
||||
|
||||
Oid indexId = InvalidOid;
|
||||
foreach_oid(indexId, indexIdList)
|
||||
foreach_declared_oid(indexId, indexIdList)
|
||||
{
|
||||
char *indexAmName = GetIndexAccessMethodName(indexId);
|
||||
if (extern_ColumnarSupportsIndexAM(indexAmName))
|
||||
|
@ -1394,7 +1394,7 @@ CreateTableConversion(TableConversionParameters *params)
|
|||
* since they will be handled separately.
|
||||
*/
|
||||
Oid colocatedTableId = InvalidOid;
|
||||
foreach_oid(colocatedTableId, colocatedTableList)
|
||||
foreach_declared_oid(colocatedTableId, colocatedTableList)
|
||||
{
|
||||
if (PartitionTable(colocatedTableId))
|
||||
{
|
||||
|
@ -1610,7 +1610,7 @@ DoesCascadeDropUnsupportedObject(Oid classId, Oid objectId, HTAB *nodeMap)
|
|||
targetObjectId);
|
||||
|
||||
HeapTuple depTup = NULL;
|
||||
foreach_ptr(depTup, dependencyTupleList)
|
||||
foreach_declared_ptr(depTup, dependencyTupleList)
|
||||
{
|
||||
Form_pg_depend pg_depend = (Form_pg_depend) GETSTRUCT(depTup);
|
||||
|
||||
|
@ -1650,7 +1650,7 @@ GetViewCreationCommandsOfTable(Oid relationId)
|
|||
List *commands = NIL;
|
||||
|
||||
Oid viewOid = InvalidOid;
|
||||
foreach_oid(viewOid, views)
|
||||
foreach_declared_oid(viewOid, views)
|
||||
{
|
||||
StringInfo query = makeStringInfo();
|
||||
|
||||
|
@ -1688,7 +1688,7 @@ WrapTableDDLCommands(List *commandStrings)
|
|||
List *tableDDLCommands = NIL;
|
||||
|
||||
char *command = NULL;
|
||||
foreach_ptr(command, commandStrings)
|
||||
foreach_declared_ptr(command, commandStrings)
|
||||
{
|
||||
tableDDLCommands = lappend(tableDDLCommands, makeTableDDLCommandString(command));
|
||||
}
|
||||
|
@ -1851,7 +1851,7 @@ ReplaceTable(Oid sourceId, Oid targetId, List *justBeforeDropCommands,
|
|||
*/
|
||||
List *ownedSequences = getOwnedSequences_internal(sourceId, 0, DEPENDENCY_AUTO);
|
||||
Oid sequenceOid = InvalidOid;
|
||||
foreach_oid(sequenceOid, ownedSequences)
|
||||
foreach_declared_oid(sequenceOid, ownedSequences)
|
||||
{
|
||||
changeDependencyFor(RelationRelationId, sequenceOid,
|
||||
RelationRelationId, sourceId, targetId);
|
||||
|
@ -1887,7 +1887,7 @@ ReplaceTable(Oid sourceId, Oid targetId, List *justBeforeDropCommands,
|
|||
}
|
||||
|
||||
char *justBeforeDropCommand = NULL;
|
||||
foreach_ptr(justBeforeDropCommand, justBeforeDropCommands)
|
||||
foreach_declared_ptr(justBeforeDropCommand, justBeforeDropCommands)
|
||||
{
|
||||
ExecuteQueryViaSPI(justBeforeDropCommand, SPI_OK_UTILITY);
|
||||
}
|
||||
|
@ -2003,7 +2003,7 @@ CheckAlterDistributedTableConversionParameters(TableConversionState *con)
|
|||
Oid colocatedTableOid = InvalidOid;
|
||||
text *colocateWithText = cstring_to_text(con->colocateWith);
|
||||
Oid colocateWithTableOid = ResolveRelationId(colocateWithText, false);
|
||||
foreach_oid(colocatedTableOid, con->colocatedTableList)
|
||||
foreach_declared_oid(colocatedTableOid, con->colocatedTableList)
|
||||
{
|
||||
if (colocateWithTableOid == colocatedTableOid)
|
||||
{
|
||||
|
@ -2235,7 +2235,7 @@ WillRecreateForeignKeyToReferenceTable(Oid relationId,
|
|||
{
|
||||
List *colocatedTableList = ColocatedTableList(relationId);
|
||||
Oid colocatedTableOid = InvalidOid;
|
||||
foreach_oid(colocatedTableOid, colocatedTableList)
|
||||
foreach_declared_oid(colocatedTableOid, colocatedTableList)
|
||||
{
|
||||
if (HasForeignKeyToReferenceTable(colocatedTableOid))
|
||||
{
|
||||
|
@ -2263,7 +2263,7 @@ WarningsForDroppingForeignKeysWithDistributedTables(Oid relationId)
|
|||
List *foreignKeys = list_concat(referencingForeingKeys, referencedForeignKeys);
|
||||
|
||||
Oid foreignKeyOid = InvalidOid;
|
||||
foreach_oid(foreignKeyOid, foreignKeys)
|
||||
foreach_declared_oid(foreignKeyOid, foreignKeys)
|
||||
{
|
||||
ereport(WARNING, (errmsg("foreign key %s will be dropped",
|
||||
get_constraint_name(foreignKeyOid))));
|
||||
|
|
|
@ -33,7 +33,7 @@ SaveBeginCommandProperties(TransactionStmt *transactionStmt)
|
|||
*
|
||||
* While BEGIN can be quite frequent it will rarely have options set.
|
||||
*/
|
||||
foreach_ptr(item, transactionStmt->options)
|
||||
foreach_declared_ptr(item, transactionStmt->options)
|
||||
{
|
||||
A_Const *constant = (A_Const *) item->arg;
|
||||
|
||||
|
|
|
@ -168,7 +168,7 @@ GetPartitionRelationIds(List *relationIdList)
|
|||
List *partitionRelationIdList = NIL;
|
||||
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
if (PartitionTable(relationId))
|
||||
{
|
||||
|
@ -189,7 +189,7 @@ LockRelationsWithLockMode(List *relationIdList, LOCKMODE lockMode)
|
|||
{
|
||||
Oid relationId;
|
||||
relationIdList = SortList(relationIdList, CompareOids);
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
LockRelationOid(relationId, lockMode);
|
||||
}
|
||||
|
@ -207,7 +207,7 @@ static void
|
|||
ErrorIfConvertingMultiLevelPartitionedTable(List *relationIdList)
|
||||
{
|
||||
Oid relationId;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
if (PartitionedTable(relationId) && PartitionTable(relationId))
|
||||
{
|
||||
|
@ -236,7 +236,7 @@ void
|
|||
ErrorIfAnyPartitionRelationInvolvedInNonInheritedFKey(List *relationIdList)
|
||||
{
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
if (!PartitionTable(relationId))
|
||||
{
|
||||
|
@ -300,7 +300,7 @@ bool
|
|||
RelationIdListHasReferenceTable(List *relationIdList)
|
||||
{
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
if (IsCitusTableType(relationId, REFERENCE_TABLE))
|
||||
{
|
||||
|
@ -322,7 +322,7 @@ GetFKeyCreationCommandsForRelationIdList(List *relationIdList)
|
|||
List *fKeyCreationCommands = NIL;
|
||||
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
List *relationFKeyCreationCommands =
|
||||
GetReferencingForeignConstaintCommands(relationId);
|
||||
|
@ -342,7 +342,7 @@ static void
|
|||
DropRelationIdListForeignKeys(List *relationIdList, int fKeyFlags)
|
||||
{
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
DropRelationForeignKeys(relationId, fKeyFlags);
|
||||
}
|
||||
|
@ -399,7 +399,7 @@ GetRelationDropFkeyCommands(Oid relationId, int fKeyFlags)
|
|||
List *relationFKeyIdList = GetForeignKeyOids(relationId, fKeyFlags);
|
||||
|
||||
Oid foreignKeyId;
|
||||
foreach_oid(foreignKeyId, relationFKeyIdList)
|
||||
foreach_declared_oid(foreignKeyId, relationFKeyIdList)
|
||||
{
|
||||
char *dropFkeyCascadeCommand = GetDropFkeyCascadeCommand(foreignKeyId);
|
||||
dropFkeyCascadeCommandList = lappend(dropFkeyCascadeCommandList,
|
||||
|
@ -450,7 +450,7 @@ ExecuteCascadeOperationForRelationIdList(List *relationIdList,
|
|||
cascadeOperationType)
|
||||
{
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
/*
|
||||
* The reason behind skipping certain table types in below loop is
|
||||
|
@ -531,7 +531,7 @@ ExecuteAndLogUtilityCommandListInTableTypeConversionViaSPI(List *utilityCommandL
|
|||
PG_TRY();
|
||||
{
|
||||
char *utilityCommand = NULL;
|
||||
foreach_ptr(utilityCommand, utilityCommandList)
|
||||
foreach_declared_ptr(utilityCommand, utilityCommandList)
|
||||
{
|
||||
/*
|
||||
* CREATE MATERIALIZED VIEW commands need to be parsed/transformed,
|
||||
|
@ -569,7 +569,7 @@ void
|
|||
ExecuteAndLogUtilityCommandList(List *utilityCommandList)
|
||||
{
|
||||
char *utilityCommand = NULL;
|
||||
foreach_ptr(utilityCommand, utilityCommandList)
|
||||
foreach_declared_ptr(utilityCommand, utilityCommandList)
|
||||
{
|
||||
ExecuteAndLogUtilityCommand(utilityCommand);
|
||||
}
|
||||
|
@ -597,7 +597,7 @@ void
|
|||
ExecuteForeignKeyCreateCommandList(List *ddlCommandList, bool skip_validation)
|
||||
{
|
||||
char *ddlCommand = NULL;
|
||||
foreach_ptr(ddlCommand, ddlCommandList)
|
||||
foreach_declared_ptr(ddlCommand, ddlCommandList)
|
||||
{
|
||||
ExecuteForeignKeyCreateCommand(ddlCommand, skip_validation);
|
||||
}
|
||||
|
|
|
@ -588,7 +588,7 @@ ErrorIfOptionListHasNoTableName(List *optionList)
|
|||
{
|
||||
char *table_nameString = "table_name";
|
||||
DefElem *option = NULL;
|
||||
foreach_ptr(option, optionList)
|
||||
foreach_declared_ptr(option, optionList)
|
||||
{
|
||||
char *optionName = option->defname;
|
||||
if (strcmp(optionName, table_nameString) == 0)
|
||||
|
@ -613,7 +613,7 @@ ForeignTableDropsTableNameOption(List *optionList)
|
|||
{
|
||||
char *table_nameString = "table_name";
|
||||
DefElem *option = NULL;
|
||||
foreach_ptr(option, optionList)
|
||||
foreach_declared_ptr(option, optionList)
|
||||
{
|
||||
char *optionName = option->defname;
|
||||
DefElemAction optionAction = option->defaction;
|
||||
|
@ -732,7 +732,7 @@ UpdateAutoConvertedForConnectedRelations(List *relationIds, bool autoConverted)
|
|||
|
||||
List *relationIdList = NIL;
|
||||
Oid relid = InvalidOid;
|
||||
foreach_oid(relid, relationIds)
|
||||
foreach_declared_oid(relid, relationIds)
|
||||
{
|
||||
List *connectedRelations = GetForeignKeyConnectedRelationIdList(relid);
|
||||
relationIdList = list_concat_unique_oid(relationIdList, connectedRelations);
|
||||
|
@ -740,7 +740,7 @@ UpdateAutoConvertedForConnectedRelations(List *relationIds, bool autoConverted)
|
|||
|
||||
relationIdList = SortList(relationIdList, CompareOids);
|
||||
|
||||
foreach_oid(relid, relationIdList)
|
||||
foreach_declared_oid(relid, relationIdList)
|
||||
{
|
||||
UpdatePgDistPartitionAutoConverted(relid, autoConverted);
|
||||
}
|
||||
|
@ -776,7 +776,7 @@ GetShellTableDDLEventsForCitusLocalTable(Oid relationId)
|
|||
|
||||
List *shellTableDDLEvents = NIL;
|
||||
TableDDLCommand *tableDDLCommand = NULL;
|
||||
foreach_ptr(tableDDLCommand, tableDDLCommands)
|
||||
foreach_declared_ptr(tableDDLCommand, tableDDLCommands)
|
||||
{
|
||||
Assert(CitusIsA(tableDDLCommand, TableDDLCommand));
|
||||
shellTableDDLEvents = lappend(shellTableDDLEvents,
|
||||
|
@ -863,7 +863,7 @@ RenameShardRelationConstraints(Oid shardRelationId, uint64 shardId)
|
|||
List *constraintNameList = GetConstraintNameList(shardRelationId);
|
||||
|
||||
char *constraintName = NULL;
|
||||
foreach_ptr(constraintName, constraintNameList)
|
||||
foreach_declared_ptr(constraintName, constraintNameList)
|
||||
{
|
||||
const char *commandString =
|
||||
GetRenameShardConstraintCommand(shardRelationId, constraintName, shardId);
|
||||
|
@ -958,7 +958,7 @@ RenameShardRelationIndexes(Oid shardRelationId, uint64 shardId)
|
|||
List *indexOidList = GetExplicitIndexOidList(shardRelationId);
|
||||
|
||||
Oid indexOid = InvalidOid;
|
||||
foreach_oid(indexOid, indexOidList)
|
||||
foreach_declared_oid(indexOid, indexOidList)
|
||||
{
|
||||
const char *commandString = GetRenameShardIndexCommand(indexOid, shardId);
|
||||
ExecuteAndLogUtilityCommand(commandString);
|
||||
|
@ -1008,7 +1008,7 @@ RenameShardRelationStatistics(Oid shardRelationId, uint64 shardId)
|
|||
List *statsCommandList = GetRenameStatsCommandList(statsOidList, shardId);
|
||||
|
||||
char *command = NULL;
|
||||
foreach_ptr(command, statsCommandList)
|
||||
foreach_declared_ptr(command, statsCommandList)
|
||||
{
|
||||
ExecuteAndLogUtilityCommand(command);
|
||||
}
|
||||
|
@ -1044,7 +1044,7 @@ RenameShardRelationNonTruncateTriggers(Oid shardRelationId, uint64 shardId)
|
|||
List *triggerIdList = GetExplicitTriggerIdList(shardRelationId);
|
||||
|
||||
Oid triggerId = InvalidOid;
|
||||
foreach_oid(triggerId, triggerIdList)
|
||||
foreach_declared_oid(triggerId, triggerIdList)
|
||||
{
|
||||
bool missingOk = false;
|
||||
HeapTuple triggerTuple = GetTriggerTupleById(triggerId, missingOk);
|
||||
|
@ -1097,7 +1097,7 @@ DropRelationTruncateTriggers(Oid relationId)
|
|||
List *triggerIdList = GetExplicitTriggerIdList(relationId);
|
||||
|
||||
Oid triggerId = InvalidOid;
|
||||
foreach_oid(triggerId, triggerIdList)
|
||||
foreach_declared_oid(triggerId, triggerIdList)
|
||||
{
|
||||
bool missingOk = false;
|
||||
HeapTuple triggerTuple = GetTriggerTupleById(triggerId, missingOk);
|
||||
|
@ -1177,7 +1177,7 @@ DropIdentitiesOnTable(Oid relationId)
|
|||
relation_close(relation, NoLock);
|
||||
|
||||
char *dropCommand = NULL;
|
||||
foreach_ptr(dropCommand, dropCommandList)
|
||||
foreach_declared_ptr(dropCommand, dropCommandList)
|
||||
{
|
||||
/*
|
||||
* We need to disable/enable ddl propagation for this command, to prevent
|
||||
|
@ -1220,7 +1220,7 @@ DropViewsOnTable(Oid relationId)
|
|||
List *reverseOrderedViews = ReversedOidList(views);
|
||||
|
||||
Oid viewId = InvalidOid;
|
||||
foreach_oid(viewId, reverseOrderedViews)
|
||||
foreach_declared_oid(viewId, reverseOrderedViews)
|
||||
{
|
||||
char *viewName = get_rel_name(viewId);
|
||||
char *schemaName = get_namespace_name(get_rel_namespace(viewId));
|
||||
|
@ -1245,7 +1245,7 @@ ReversedOidList(List *oidList)
|
|||
{
|
||||
List *reversed = NIL;
|
||||
Oid oid = InvalidOid;
|
||||
foreach_oid(oid, oidList)
|
||||
foreach_declared_oid(oid, oidList)
|
||||
{
|
||||
reversed = lcons_oid(oid, reversed);
|
||||
}
|
||||
|
@ -1297,7 +1297,7 @@ GetRenameStatsCommandList(List *statsOidList, uint64 shardId)
|
|||
{
|
||||
List *statsCommandList = NIL;
|
||||
Oid statsOid;
|
||||
foreach_oid(statsOid, statsOidList)
|
||||
foreach_declared_oid(statsOid, statsOidList)
|
||||
{
|
||||
HeapTuple tup = SearchSysCache1(STATEXTOID, ObjectIdGetDatum(statsOid));
|
||||
|
||||
|
|
|
@ -115,7 +115,7 @@ static bool
|
|||
IsClusterStmtVerbose_compat(ClusterStmt *clusterStmt)
|
||||
{
|
||||
DefElem *opt = NULL;
|
||||
foreach_ptr(opt, clusterStmt->params)
|
||||
foreach_declared_ptr(opt, clusterStmt->params)
|
||||
{
|
||||
if (strcmp(opt->defname, "verbose") == 0)
|
||||
{
|
||||
|
|
|
@ -235,7 +235,7 @@ PreprocessDropDistributedObjectStmt(Node *node, const char *queryString,
|
|||
List *distributedObjects = NIL;
|
||||
List *distributedObjectAddresses = NIL;
|
||||
Node *object = NULL;
|
||||
foreach_ptr(object, stmt->objects)
|
||||
foreach_declared_ptr(object, stmt->objects)
|
||||
{
|
||||
/* TODO understand if the lock should be sth else */
|
||||
Relation rel = NULL; /* not used, but required to pass to get_object_address */
|
||||
|
@ -267,7 +267,7 @@ PreprocessDropDistributedObjectStmt(Node *node, const char *queryString,
|
|||
* remove the entries for the distributed objects on dropping
|
||||
*/
|
||||
ObjectAddress *address = NULL;
|
||||
foreach_ptr(address, distributedObjectAddresses)
|
||||
foreach_declared_ptr(address, distributedObjectAddresses)
|
||||
{
|
||||
UnmarkObjectDistributed(address);
|
||||
}
|
||||
|
@ -303,7 +303,7 @@ DropTextSearchDictObjectAddress(Node *node, bool missing_ok, bool isPostprocess)
|
|||
List *objectAddresses = NIL;
|
||||
|
||||
List *objNameList = NIL;
|
||||
foreach_ptr(objNameList, stmt->objects)
|
||||
foreach_declared_ptr(objNameList, stmt->objects)
|
||||
{
|
||||
Oid tsdictOid = get_ts_dict_oid(objNameList, missing_ok);
|
||||
|
||||
|
@ -328,7 +328,7 @@ DropTextSearchConfigObjectAddress(Node *node, bool missing_ok, bool isPostproces
|
|||
List *objectAddresses = NIL;
|
||||
|
||||
List *objNameList = NIL;
|
||||
foreach_ptr(objNameList, stmt->objects)
|
||||
foreach_declared_ptr(objNameList, stmt->objects)
|
||||
{
|
||||
Oid tsconfigOid = get_ts_config_oid(objNameList, missing_ok);
|
||||
|
||||
|
|
|
@ -834,7 +834,7 @@ HashSplitPointsForShardList(List *shardList)
|
|||
List *splitPointList = NIL;
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardList)
|
||||
foreach_declared_ptr(shardInterval, shardList)
|
||||
{
|
||||
int32 shardMaxValue = DatumGetInt32(shardInterval->maxValue);
|
||||
|
||||
|
@ -890,7 +890,7 @@ WorkerNodesForShardList(List *shardList)
|
|||
List *nodeIdList = NIL;
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardList)
|
||||
foreach_declared_ptr(shardInterval, shardList)
|
||||
{
|
||||
WorkerNode *workerNode = ActiveShardPlacementWorkerNode(shardInterval->shardId);
|
||||
nodeIdList = lappend_int(nodeIdList, workerNode->nodeId);
|
||||
|
@ -1340,7 +1340,7 @@ CreateCitusTable(Oid relationId, CitusTableType tableType,
|
|||
ALLOCSET_DEFAULT_SIZES);
|
||||
MemoryContext oldContext = MemoryContextSwitchTo(citusPartitionContext);
|
||||
|
||||
foreach_oid(partitionRelationId, partitionList)
|
||||
foreach_declared_oid(partitionRelationId, partitionList)
|
||||
{
|
||||
MemoryContextReset(citusPartitionContext);
|
||||
|
||||
|
@ -1554,7 +1554,7 @@ ConvertCitusLocalTableToTableType(Oid relationId, CitusTableType tableType,
|
|||
MemoryContext oldContext = MemoryContextSwitchTo(citusPartitionContext);
|
||||
|
||||
Oid partitionRelationId = InvalidOid;
|
||||
foreach_oid(partitionRelationId, partitionList)
|
||||
foreach_declared_oid(partitionRelationId, partitionList)
|
||||
{
|
||||
MemoryContextReset(citusPartitionContext);
|
||||
|
||||
|
@ -1704,7 +1704,7 @@ EnsureSequenceTypeSupported(Oid seqOid, Oid attributeTypeId, Oid ownerRelationId
|
|||
Oid attrDefOid;
|
||||
List *attrDefOids = GetAttrDefsFromSequence(seqOid);
|
||||
|
||||
foreach_oid(attrDefOid, attrDefOids)
|
||||
foreach_declared_oid(attrDefOid, attrDefOids)
|
||||
{
|
||||
ObjectAddress columnAddress = GetAttrDefaultColumnAddress(attrDefOid);
|
||||
|
||||
|
@ -1786,7 +1786,7 @@ static void
|
|||
EnsureDistributedSequencesHaveOneType(Oid relationId, List *seqInfoList)
|
||||
{
|
||||
SequenceInfo *seqInfo = NULL;
|
||||
foreach_ptr(seqInfo, seqInfoList)
|
||||
foreach_declared_ptr(seqInfo, seqInfoList)
|
||||
{
|
||||
if (!seqInfo->isNextValDefault)
|
||||
{
|
||||
|
|
|
@ -69,7 +69,7 @@ EnsureDependenciesExistOnAllNodes(const ObjectAddress *target)
|
|||
/* collect all dependencies in creation order and get their ddl commands */
|
||||
List *dependencies = GetDependenciesForObject(target);
|
||||
ObjectAddress *dependency = NULL;
|
||||
foreach_ptr(dependency, dependencies)
|
||||
foreach_declared_ptr(dependency, dependencies)
|
||||
{
|
||||
List *dependencyCommands = GetDependencyCreateDDLCommands(dependency);
|
||||
ddlCommands = list_concat(ddlCommands, dependencyCommands);
|
||||
|
@ -108,7 +108,7 @@ EnsureDependenciesExistOnAllNodes(const ObjectAddress *target)
|
|||
*/
|
||||
List *addressSortedDependencies = SortList(dependenciesWithCommands,
|
||||
ObjectAddressComparator);
|
||||
foreach_ptr(dependency, addressSortedDependencies)
|
||||
foreach_declared_ptr(dependency, addressSortedDependencies)
|
||||
{
|
||||
LockDatabaseObject(dependency->classId, dependency->objectId,
|
||||
dependency->objectSubId, ExclusiveLock);
|
||||
|
@ -134,7 +134,7 @@ EnsureDependenciesExistOnAllNodes(const ObjectAddress *target)
|
|||
else
|
||||
{
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
const char *nodeName = workerNode->workerName;
|
||||
uint32 nodePort = workerNode->workerPort;
|
||||
|
@ -150,7 +150,7 @@ EnsureDependenciesExistOnAllNodes(const ObjectAddress *target)
|
|||
* that objects have been created on worker nodes before marking them
|
||||
* distributed, so MarkObjectDistributed wouldn't fail.
|
||||
*/
|
||||
foreach_ptr(dependency, dependenciesWithCommands)
|
||||
foreach_declared_ptr(dependency, dependenciesWithCommands)
|
||||
{
|
||||
/*
|
||||
* pg_dist_object entries must be propagated with the super user, since
|
||||
|
@ -173,7 +173,7 @@ void
|
|||
EnsureAllObjectDependenciesExistOnAllNodes(const List *targets)
|
||||
{
|
||||
ObjectAddress *target = NULL;
|
||||
foreach_ptr(target, targets)
|
||||
foreach_declared_ptr(target, targets)
|
||||
{
|
||||
EnsureDependenciesExistOnAllNodes(target);
|
||||
}
|
||||
|
@ -230,7 +230,7 @@ DeferErrorIfCircularDependencyExists(const ObjectAddress *objectAddress)
|
|||
List *dependencies = GetAllDependenciesForObject(objectAddress);
|
||||
|
||||
ObjectAddress *dependency = NULL;
|
||||
foreach_ptr(dependency, dependencies)
|
||||
foreach_declared_ptr(dependency, dependencies)
|
||||
{
|
||||
if (dependency->classId == objectAddress->classId &&
|
||||
dependency->objectId == objectAddress->objectId &&
|
||||
|
@ -318,7 +318,7 @@ GetDistributableDependenciesForObject(const ObjectAddress *target)
|
|||
|
||||
/* filter the ones that can be distributed */
|
||||
ObjectAddress *dependency = NULL;
|
||||
foreach_ptr(dependency, dependencies)
|
||||
foreach_declared_ptr(dependency, dependencies)
|
||||
{
|
||||
/*
|
||||
* TODO: maybe we can optimize the logic applied in below line. Actually we
|
||||
|
@ -402,7 +402,7 @@ GetDependencyCreateDDLCommands(const ObjectAddress *dependency)
|
|||
INCLUDE_IDENTITY,
|
||||
creatingShellTableOnRemoteNode);
|
||||
TableDDLCommand *tableDDLCommand = NULL;
|
||||
foreach_ptr(tableDDLCommand, tableDDLCommands)
|
||||
foreach_declared_ptr(tableDDLCommand, tableDDLCommands)
|
||||
{
|
||||
Assert(CitusIsA(tableDDLCommand, TableDDLCommand));
|
||||
commandList = lappend(commandList, GetTableDDLCommand(
|
||||
|
@ -564,7 +564,7 @@ GetAllDependencyCreateDDLCommands(const List *dependencies)
|
|||
List *commands = NIL;
|
||||
|
||||
ObjectAddress *dependency = NULL;
|
||||
foreach_ptr(dependency, dependencies)
|
||||
foreach_declared_ptr(dependency, dependencies)
|
||||
{
|
||||
commands = list_concat(commands, GetDependencyCreateDDLCommands(dependency));
|
||||
}
|
||||
|
@ -712,7 +712,7 @@ bool
|
|||
ShouldPropagateAnyObject(List *addresses)
|
||||
{
|
||||
ObjectAddress *address = NULL;
|
||||
foreach_ptr(address, addresses)
|
||||
foreach_declared_ptr(address, addresses)
|
||||
{
|
||||
if (ShouldPropagateObject(address))
|
||||
{
|
||||
|
@ -734,7 +734,7 @@ FilterObjectAddressListByPredicate(List *objectAddressList, AddressPredicate pre
|
|||
List *result = NIL;
|
||||
|
||||
ObjectAddress *address = NULL;
|
||||
foreach_ptr(address, objectAddressList)
|
||||
foreach_declared_ptr(address, objectAddressList)
|
||||
{
|
||||
if (predicate(address))
|
||||
{
|
||||
|
|
|
@ -210,7 +210,7 @@ MakeCollateClauseFromOid(Oid collationOid)
|
|||
getObjectIdentityParts(&collateAddress, &objName, &objArgs, false);
|
||||
|
||||
char *name = NULL;
|
||||
foreach_ptr(name, objName)
|
||||
foreach_declared_ptr(name, objName)
|
||||
{
|
||||
collateClause->collname = lappend(collateClause->collname, makeString(name));
|
||||
}
|
||||
|
|
|
@ -274,7 +274,7 @@ PreprocessDropExtensionStmt(Node *node, const char *queryString,
|
|||
|
||||
/* unmark each distributed extension */
|
||||
ObjectAddress *address = NULL;
|
||||
foreach_ptr(address, distributedExtensionAddresses)
|
||||
foreach_declared_ptr(address, distributedExtensionAddresses)
|
||||
{
|
||||
UnmarkObjectDistributed(address);
|
||||
}
|
||||
|
@ -313,7 +313,7 @@ FilterDistributedExtensions(List *extensionObjectList)
|
|||
List *extensionNameList = NIL;
|
||||
|
||||
String *objectName = NULL;
|
||||
foreach_ptr(objectName, extensionObjectList)
|
||||
foreach_declared_ptr(objectName, extensionObjectList)
|
||||
{
|
||||
const char *extensionName = strVal(objectName);
|
||||
const bool missingOk = true;
|
||||
|
@ -351,7 +351,7 @@ ExtensionNameListToObjectAddressList(List *extensionObjectList)
|
|||
List *extensionObjectAddressList = NIL;
|
||||
|
||||
String *objectName;
|
||||
foreach_ptr(objectName, extensionObjectList)
|
||||
foreach_declared_ptr(objectName, extensionObjectList)
|
||||
{
|
||||
/*
|
||||
* We set missingOk to false as we assume all the objects in
|
||||
|
@ -527,7 +527,7 @@ MarkExistingObjectDependenciesDistributedIfSupported()
|
|||
List *citusTableIdList = CitusTableTypeIdList(ANY_CITUS_TABLE_TYPE);
|
||||
|
||||
Oid citusTableId = InvalidOid;
|
||||
foreach_oid(citusTableId, citusTableIdList)
|
||||
foreach_declared_oid(citusTableId, citusTableIdList)
|
||||
{
|
||||
if (!ShouldMarkRelationDistributed(citusTableId))
|
||||
{
|
||||
|
@ -571,7 +571,7 @@ MarkExistingObjectDependenciesDistributedIfSupported()
|
|||
*/
|
||||
List *viewList = GetAllViews();
|
||||
Oid viewOid = InvalidOid;
|
||||
foreach_oid(viewOid, viewList)
|
||||
foreach_declared_oid(viewOid, viewList)
|
||||
{
|
||||
if (!ShouldMarkRelationDistributed(viewOid))
|
||||
{
|
||||
|
@ -605,7 +605,7 @@ MarkExistingObjectDependenciesDistributedIfSupported()
|
|||
List *distributedObjectAddressList = GetDistributedObjectAddressList();
|
||||
|
||||
ObjectAddress *distributedObjectAddress = NULL;
|
||||
foreach_ptr(distributedObjectAddress, distributedObjectAddressList)
|
||||
foreach_declared_ptr(distributedObjectAddress, distributedObjectAddressList)
|
||||
{
|
||||
List *distributableDependencyObjectAddresses =
|
||||
GetDistributableDependenciesForObject(distributedObjectAddress);
|
||||
|
@ -627,7 +627,7 @@ MarkExistingObjectDependenciesDistributedIfSupported()
|
|||
SetLocalEnableMetadataSync(false);
|
||||
|
||||
ObjectAddress *objectAddress = NULL;
|
||||
foreach_ptr(objectAddress, uniqueObjectAddresses)
|
||||
foreach_declared_ptr(objectAddress, uniqueObjectAddresses)
|
||||
{
|
||||
MarkObjectDistributed(objectAddress);
|
||||
}
|
||||
|
@ -831,7 +831,7 @@ IsDropCitusExtensionStmt(Node *parseTree)
|
|||
|
||||
/* now that we have a DropStmt, check if citus extension is among the objects to dropped */
|
||||
String *objectName;
|
||||
foreach_ptr(objectName, dropStmt->objects)
|
||||
foreach_declared_ptr(objectName, dropStmt->objects)
|
||||
{
|
||||
const char *extensionName = strVal(objectName);
|
||||
|
||||
|
@ -1061,7 +1061,7 @@ GenerateGrantCommandsOnExtensionDependentFDWs(Oid extensionId)
|
|||
List *FDWOids = GetDependentFDWsToExtension(extensionId);
|
||||
|
||||
Oid FDWOid = InvalidOid;
|
||||
foreach_oid(FDWOid, FDWOids)
|
||||
foreach_declared_oid(FDWOid, FDWOids)
|
||||
{
|
||||
Acl *aclEntry = GetPrivilegesForFDW(FDWOid);
|
||||
|
||||
|
|
|
@ -202,7 +202,7 @@ ErrorIfUnsupportedForeignConstraintExists(Relation relation, char referencingDis
|
|||
List *foreignKeyOids = GetForeignKeyOids(referencingTableId, flags);
|
||||
|
||||
Oid foreignKeyOid = InvalidOid;
|
||||
foreach_oid(foreignKeyOid, foreignKeyOids)
|
||||
foreach_declared_oid(foreignKeyOid, foreignKeyOids)
|
||||
{
|
||||
HeapTuple heapTuple = SearchSysCache1(CONSTROID, ObjectIdGetDatum(foreignKeyOid));
|
||||
|
||||
|
@ -414,7 +414,7 @@ ForeignKeySetsNextValColumnToDefault(HeapTuple pgConstraintTuple)
|
|||
|
||||
List *setDefaultAttrs = ForeignKeyGetDefaultingAttrs(pgConstraintTuple);
|
||||
AttrNumber setDefaultAttr = InvalidAttrNumber;
|
||||
foreach_int(setDefaultAttr, setDefaultAttrs)
|
||||
foreach_declared_int(setDefaultAttr, setDefaultAttrs)
|
||||
{
|
||||
if (ColumnDefaultsToNextVal(pgConstraintForm->conrelid, setDefaultAttr))
|
||||
{
|
||||
|
@ -727,7 +727,7 @@ ColumnAppearsInForeignKeyToReferenceTable(char *columnName, Oid relationId)
|
|||
GetForeignKeyIdsForColumn(columnName, relationId, searchForeignKeyColumnFlags);
|
||||
|
||||
Oid foreignKeyId = InvalidOid;
|
||||
foreach_oid(foreignKeyId, foreignKeyIdsColumnAppeared)
|
||||
foreach_declared_oid(foreignKeyId, foreignKeyIdsColumnAppeared)
|
||||
{
|
||||
Oid referencedTableId = GetReferencedTableId(foreignKeyId);
|
||||
if (IsCitusTableType(referencedTableId, REFERENCE_TABLE))
|
||||
|
@ -901,7 +901,7 @@ GetForeignConstraintCommandsInternal(Oid relationId, int flags)
|
|||
int saveNestLevel = PushEmptySearchPath();
|
||||
|
||||
Oid foreignKeyOid = InvalidOid;
|
||||
foreach_oid(foreignKeyOid, foreignKeyOids)
|
||||
foreach_declared_oid(foreignKeyOid, foreignKeyOids)
|
||||
{
|
||||
char *statementDef = pg_get_constraintdef_command(foreignKeyOid);
|
||||
|
||||
|
@ -1157,7 +1157,7 @@ static Oid
|
|||
FindForeignKeyOidWithName(List *foreignKeyOids, const char *inputConstraintName)
|
||||
{
|
||||
Oid foreignKeyOid = InvalidOid;
|
||||
foreach_oid(foreignKeyOid, foreignKeyOids)
|
||||
foreach_declared_oid(foreignKeyOid, foreignKeyOids)
|
||||
{
|
||||
char *constraintName = get_constraint_name(foreignKeyOid);
|
||||
|
||||
|
@ -1472,7 +1472,7 @@ RelationInvolvedInAnyNonInheritedForeignKeys(Oid relationId)
|
|||
List *foreignKeysRelationInvolved = list_concat(referencingForeignKeys,
|
||||
referencedForeignKeys);
|
||||
Oid foreignKeyId = InvalidOid;
|
||||
foreach_oid(foreignKeyId, foreignKeysRelationInvolved)
|
||||
foreach_declared_oid(foreignKeyId, foreignKeysRelationInvolved)
|
||||
{
|
||||
HeapTuple heapTuple = SearchSysCache1(CONSTROID, ObjectIdGetDatum(foreignKeyId));
|
||||
if (!HeapTupleIsValid(heapTuple))
|
||||
|
|
|
@ -86,7 +86,7 @@ static bool
|
|||
NameListHasFDWOwnedByDistributedExtension(List *FDWNames)
|
||||
{
|
||||
String *FDWValue = NULL;
|
||||
foreach_ptr(FDWValue, FDWNames)
|
||||
foreach_declared_ptr(FDWValue, FDWNames)
|
||||
{
|
||||
/* captures the extension address during lookup */
|
||||
ObjectAddress *extensionAddress = palloc0(sizeof(ObjectAddress));
|
||||
|
|
|
@ -229,7 +229,7 @@ RecreateForeignServerStmt(Oid serverId)
|
|||
|
||||
int location = -1;
|
||||
DefElem *option = NULL;
|
||||
foreach_ptr(option, server->options)
|
||||
foreach_declared_ptr(option, server->options)
|
||||
{
|
||||
DefElem *copyOption = makeDefElem(option->defname, option->arg, location);
|
||||
createStmt->options = lappend(createStmt->options, copyOption);
|
||||
|
@ -247,7 +247,7 @@ static bool
|
|||
NameListHasDistributedServer(List *serverNames)
|
||||
{
|
||||
String *serverValue = NULL;
|
||||
foreach_ptr(serverValue, serverNames)
|
||||
foreach_declared_ptr(serverValue, serverNames)
|
||||
{
|
||||
List *addresses = GetObjectAddressByServerName(strVal(serverValue), false);
|
||||
|
||||
|
|
|
@ -256,7 +256,7 @@ create_distributed_function(PG_FUNCTION_ARGS)
|
|||
createFunctionSQL, alterFunctionOwnerSQL);
|
||||
List *grantDDLCommands = GrantOnFunctionDDLCommands(funcOid);
|
||||
char *grantOnFunctionSQL = NULL;
|
||||
foreach_ptr(grantOnFunctionSQL, grantDDLCommands)
|
||||
foreach_declared_ptr(grantOnFunctionSQL, grantDDLCommands)
|
||||
{
|
||||
appendStringInfo(&ddlCommand, ";%s", grantOnFunctionSQL);
|
||||
}
|
||||
|
@ -370,7 +370,7 @@ ErrorIfAnyNodeDoesNotHaveMetadata(void)
|
|||
ActivePrimaryNonCoordinatorNodeList(ShareLock);
|
||||
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
if (!workerNode->hasMetadata)
|
||||
{
|
||||
|
@ -1477,7 +1477,7 @@ CreateFunctionStmtObjectAddress(Node *node, bool missing_ok, bool isPostprocess)
|
|||
objectWithArgs->objname = stmt->funcname;
|
||||
|
||||
FunctionParameter *funcParam = NULL;
|
||||
foreach_ptr(funcParam, stmt->parameters)
|
||||
foreach_declared_ptr(funcParam, stmt->parameters)
|
||||
{
|
||||
if (ShouldAddFunctionSignature(funcParam->mode))
|
||||
{
|
||||
|
@ -1520,7 +1520,7 @@ DefineAggregateStmtObjectAddress(Node *node, bool missing_ok, bool isPostprocess
|
|||
if (stmt->args != NIL)
|
||||
{
|
||||
FunctionParameter *funcParam = NULL;
|
||||
foreach_ptr(funcParam, linitial(stmt->args))
|
||||
foreach_declared_ptr(funcParam, linitial(stmt->args))
|
||||
{
|
||||
objectWithArgs->objargs = lappend(objectWithArgs->objargs,
|
||||
funcParam->argType);
|
||||
|
@ -1529,7 +1529,7 @@ DefineAggregateStmtObjectAddress(Node *node, bool missing_ok, bool isPostprocess
|
|||
else
|
||||
{
|
||||
DefElem *defItem = NULL;
|
||||
foreach_ptr(defItem, stmt->definition)
|
||||
foreach_declared_ptr(defItem, stmt->definition)
|
||||
{
|
||||
/*
|
||||
* If no explicit args are given, pg includes basetype in the signature.
|
||||
|
@ -1934,7 +1934,7 @@ static void
|
|||
ErrorIfUnsupportedAlterFunctionStmt(AlterFunctionStmt *stmt)
|
||||
{
|
||||
DefElem *action = NULL;
|
||||
foreach_ptr(action, stmt->actions)
|
||||
foreach_declared_ptr(action, stmt->actions)
|
||||
{
|
||||
if (strcmp(action->defname, "set") == 0)
|
||||
{
|
||||
|
@ -2041,7 +2041,7 @@ PreprocessGrantOnFunctionStmt(Node *node, const char *queryString,
|
|||
|
||||
List *grantFunctionList = NIL;
|
||||
ObjectAddress *functionAddress = NULL;
|
||||
foreach_ptr(functionAddress, distributedFunctions)
|
||||
foreach_declared_ptr(functionAddress, distributedFunctions)
|
||||
{
|
||||
ObjectWithArgs *distFunction = ObjectWithArgsFromOid(
|
||||
functionAddress->objectId);
|
||||
|
@ -2084,7 +2084,7 @@ PostprocessGrantOnFunctionStmt(Node *node, const char *queryString)
|
|||
}
|
||||
|
||||
ObjectAddress *functionAddress = NULL;
|
||||
foreach_ptr(functionAddress, distributedFunctions)
|
||||
foreach_declared_ptr(functionAddress, distributedFunctions)
|
||||
{
|
||||
EnsureAllObjectDependenciesExistOnAllNodes(list_make1(functionAddress));
|
||||
}
|
||||
|
@ -2121,7 +2121,7 @@ FilterDistributedFunctions(GrantStmt *grantStmt)
|
|||
|
||||
/* iterate over all namespace names provided to get their oid's */
|
||||
String *namespaceValue = NULL;
|
||||
foreach_ptr(namespaceValue, grantStmt->objects)
|
||||
foreach_declared_ptr(namespaceValue, grantStmt->objects)
|
||||
{
|
||||
char *nspname = strVal(namespaceValue);
|
||||
bool missing_ok = false;
|
||||
|
@ -2133,7 +2133,7 @@ FilterDistributedFunctions(GrantStmt *grantStmt)
|
|||
* iterate over all distributed functions to filter the ones
|
||||
* that belong to one of the namespaces from above
|
||||
*/
|
||||
foreach_ptr(distributedFunction, distributedFunctionList)
|
||||
foreach_declared_ptr(distributedFunction, distributedFunctionList)
|
||||
{
|
||||
Oid namespaceOid = get_func_namespace(distributedFunction->objectId);
|
||||
|
||||
|
@ -2152,7 +2152,7 @@ FilterDistributedFunctions(GrantStmt *grantStmt)
|
|||
{
|
||||
bool missingOk = false;
|
||||
ObjectWithArgs *objectWithArgs = NULL;
|
||||
foreach_ptr(objectWithArgs, grantStmt->objects)
|
||||
foreach_declared_ptr(objectWithArgs, grantStmt->objects)
|
||||
{
|
||||
ObjectAddress *functionAddress = palloc0(sizeof(ObjectAddress));
|
||||
functionAddress->classId = ProcedureRelationId;
|
||||
|
|
|
@ -334,7 +334,7 @@ ExecuteFunctionOnEachTableIndex(Oid relationId, PGIndexProcessor pgIndexProcesso
|
|||
|
||||
List *indexIdList = RelationGetIndexList(relation);
|
||||
Oid indexId = InvalidOid;
|
||||
foreach_oid(indexId, indexIdList)
|
||||
foreach_declared_oid(indexId, indexIdList)
|
||||
{
|
||||
HeapTuple indexTuple = SearchSysCache1(INDEXRELID, ObjectIdGetDatum(indexId));
|
||||
if (!HeapTupleIsValid(indexTuple))
|
||||
|
@ -703,7 +703,7 @@ PreprocessDropIndexStmt(Node *node, const char *dropIndexCommand,
|
|||
|
||||
/* check if any of the indexes being dropped belong to a distributed table */
|
||||
List *objectNameList = NULL;
|
||||
foreach_ptr(objectNameList, dropIndexStatement->objects)
|
||||
foreach_declared_ptr(objectNameList, dropIndexStatement->objects)
|
||||
{
|
||||
struct DropRelationCallbackState state;
|
||||
uint32 rvrFlags = RVR_MISSING_OK;
|
||||
|
@ -874,7 +874,7 @@ ErrorIfUnsupportedAlterIndexStmt(AlterTableStmt *alterTableStatement)
|
|||
/* error out if any of the subcommands are unsupported */
|
||||
List *commandList = alterTableStatement->cmds;
|
||||
AlterTableCmd *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
AlterTableType alterTableType = command->subtype;
|
||||
|
||||
|
@ -926,7 +926,7 @@ CreateIndexTaskList(IndexStmt *indexStmt)
|
|||
LockShardListMetadata(shardIntervalList, ShareLock);
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
|
||||
|
@ -971,7 +971,7 @@ CreateReindexTaskList(Oid relationId, ReindexStmt *reindexStmt)
|
|||
LockShardListMetadata(shardIntervalList, ShareLock);
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
|
||||
|
@ -1220,7 +1220,7 @@ ErrorIfUnsupportedIndexStmt(IndexStmt *createIndexStatement)
|
|||
Var *partitionKey = DistPartitionKeyOrError(relationId);
|
||||
List *indexParameterList = createIndexStatement->indexParams;
|
||||
IndexElem *indexElement = NULL;
|
||||
foreach_ptr(indexElement, indexParameterList)
|
||||
foreach_declared_ptr(indexElement, indexParameterList)
|
||||
{
|
||||
const char *columnName = indexElement->name;
|
||||
|
||||
|
@ -1289,7 +1289,7 @@ DropIndexTaskList(Oid relationId, Oid indexId, DropStmt *dropStmt)
|
|||
LockShardListMetadata(shardIntervalList, ShareLock);
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
char *shardIndexName = pstrdup(indexName);
|
||||
|
|
|
@ -1957,7 +1957,7 @@ ShardIntervalListHasLocalPlacements(List *shardIntervalList)
|
|||
{
|
||||
int32 localGroupId = GetLocalGroupId();
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
if (ActiveShardPlacementOnGroup(localGroupId, shardInterval->shardId) != NULL)
|
||||
{
|
||||
|
@ -2452,7 +2452,7 @@ ProcessAppendToShardOption(Oid relationId, CopyStmt *copyStatement)
|
|||
bool appendToShardSet = false;
|
||||
|
||||
DefElem *defel = NULL;
|
||||
foreach_ptr(defel, copyStatement->options)
|
||||
foreach_declared_ptr(defel, copyStatement->options)
|
||||
{
|
||||
if (strncmp(defel->defname, APPEND_TO_SHARD_OPTION, NAMEDATALEN) == 0)
|
||||
{
|
||||
|
|
|
@ -48,7 +48,7 @@ CreatePolicyCommands(Oid relationId)
|
|||
List *policyList = GetPolicyListForRelation(relationId);
|
||||
|
||||
RowSecurityPolicy *policy;
|
||||
foreach_ptr(policy, policyList)
|
||||
foreach_declared_ptr(policy, policyList)
|
||||
{
|
||||
char *createPolicyCommand = CreatePolicyCommandForPolicy(relationId, policy);
|
||||
commands = lappend(commands, makeTableDDLCommandString(createPolicyCommand));
|
||||
|
@ -88,7 +88,7 @@ GetPolicyListForRelation(Oid relationId)
|
|||
List *policyList = NIL;
|
||||
|
||||
RowSecurityPolicy *policy;
|
||||
foreach_ptr(policy, relation->rd_rsdesc->policies)
|
||||
foreach_declared_ptr(policy, relation->rd_rsdesc->policies)
|
||||
{
|
||||
policyList = lappend(policyList, policy);
|
||||
}
|
||||
|
@ -310,7 +310,7 @@ GetPolicyByName(Oid relationId, const char *policyName)
|
|||
List *policyList = GetPolicyListForRelation(relationId);
|
||||
|
||||
RowSecurityPolicy *policy = NULL;
|
||||
foreach_ptr(policy, policyList)
|
||||
foreach_declared_ptr(policy, policyList)
|
||||
{
|
||||
if (strncmp(policy->policy_name, policyName, NAMEDATALEN) == 0)
|
||||
{
|
||||
|
|
|
@ -158,7 +158,7 @@ BuildCreatePublicationStmt(Oid publicationId)
|
|||
List *schemaIds = GetPublicationSchemas(publicationId);
|
||||
Oid schemaId = InvalidOid;
|
||||
|
||||
foreach_oid(schemaId, schemaIds)
|
||||
foreach_declared_oid(schemaId, schemaIds)
|
||||
{
|
||||
char *schemaName = get_namespace_name(schemaId);
|
||||
|
||||
|
@ -182,7 +182,7 @@ BuildCreatePublicationStmt(Oid publicationId)
|
|||
/* mainly for consistent ordering in test output */
|
||||
relationIds = SortList(relationIds, CompareOids);
|
||||
|
||||
foreach_oid(relationId, relationIds)
|
||||
foreach_declared_oid(relationId, relationIds)
|
||||
{
|
||||
#if (PG_VERSION_NUM >= PG_VERSION_15)
|
||||
bool tableOnly = false;
|
||||
|
@ -420,7 +420,7 @@ GetAlterPublicationDDLCommandsForTable(Oid relationId, bool isAdd)
|
|||
List *publicationIds = GetRelationPublications(relationId);
|
||||
Oid publicationId = InvalidOid;
|
||||
|
||||
foreach_oid(publicationId, publicationIds)
|
||||
foreach_declared_oid(publicationId, publicationIds)
|
||||
{
|
||||
char *command = GetAlterPublicationTableDDLCommand(publicationId,
|
||||
relationId, isAdd);
|
||||
|
|
|
@ -161,7 +161,7 @@ PostprocessAlterRoleStmt(Node *node, const char *queryString)
|
|||
AlterRoleStmt *stmt = castNode(AlterRoleStmt, node);
|
||||
|
||||
DefElem *option = NULL;
|
||||
foreach_ptr(option, stmt->options)
|
||||
foreach_declared_ptr(option, stmt->options)
|
||||
{
|
||||
if (strcasecmp(option->defname, "password") == 0)
|
||||
{
|
||||
|
@ -562,7 +562,7 @@ GenerateCreateOrAlterRoleCommand(Oid roleOid)
|
|||
{
|
||||
List *grantRoleStmts = GenerateGrantRoleStmtsOfRole(roleOid);
|
||||
Node *stmt = NULL;
|
||||
foreach_ptr(stmt, grantRoleStmts)
|
||||
foreach_declared_ptr(stmt, grantRoleStmts)
|
||||
{
|
||||
completeRoleList = lappend(completeRoleList, DeparseTreeNode(stmt));
|
||||
}
|
||||
|
@ -760,7 +760,7 @@ MakeSetStatementArguments(char *configurationName, char *configurationValue)
|
|||
}
|
||||
|
||||
char *configuration = NULL;
|
||||
foreach_ptr(configuration, configurationList)
|
||||
foreach_declared_ptr(configuration, configurationList)
|
||||
{
|
||||
Node *arg = makeStringConst(configuration, -1);
|
||||
args = lappend(args, arg);
|
||||
|
@ -796,7 +796,7 @@ GenerateGrantRoleStmtsFromOptions(RoleSpec *roleSpec, List *options)
|
|||
List *stmts = NIL;
|
||||
|
||||
DefElem *option = NULL;
|
||||
foreach_ptr(option, options)
|
||||
foreach_declared_ptr(option, options)
|
||||
{
|
||||
if (strcmp(option->defname, "adminmembers") != 0 &&
|
||||
strcmp(option->defname, "rolemembers") != 0 &&
|
||||
|
@ -938,7 +938,7 @@ PreprocessCreateRoleStmt(Node *node, const char *queryString,
|
|||
|
||||
/* deparse all grant statements and add them to the commands list */
|
||||
Node *stmt = NULL;
|
||||
foreach_ptr(stmt, grantRoleStmts)
|
||||
foreach_declared_ptr(stmt, grantRoleStmts)
|
||||
{
|
||||
commands = lappend(commands, DeparseTreeNode(stmt));
|
||||
}
|
||||
|
@ -1064,7 +1064,7 @@ void
|
|||
UnmarkRolesDistributed(List *roles)
|
||||
{
|
||||
Node *roleNode = NULL;
|
||||
foreach_ptr(roleNode, roles)
|
||||
foreach_declared_ptr(roleNode, roles)
|
||||
{
|
||||
RoleSpec *role = castNode(RoleSpec, roleNode);
|
||||
ObjectAddress roleAddress = { 0 };
|
||||
|
@ -1094,7 +1094,7 @@ FilterDistributedRoles(List *roles)
|
|||
{
|
||||
List *distributedRoles = NIL;
|
||||
Node *roleNode = NULL;
|
||||
foreach_ptr(roleNode, roles)
|
||||
foreach_declared_ptr(roleNode, roles)
|
||||
{
|
||||
RoleSpec *role = castNode(RoleSpec, roleNode);
|
||||
Oid roleOid = get_rolespec_oid(role, true);
|
||||
|
@ -1189,7 +1189,7 @@ PostprocessGrantRoleStmt(Node *node, const char *queryString)
|
|||
GrantRoleStmt *stmt = castNode(GrantRoleStmt, node);
|
||||
|
||||
RoleSpec *role = NULL;
|
||||
foreach_ptr(role, stmt->grantee_roles)
|
||||
foreach_declared_ptr(role, stmt->grantee_roles)
|
||||
{
|
||||
Oid roleOid = get_rolespec_oid(role, false);
|
||||
ObjectAddress *roleAddress = palloc0(sizeof(ObjectAddress));
|
||||
|
@ -1213,7 +1213,7 @@ IsGrantRoleWithInheritOrSetOption(GrantRoleStmt *stmt)
|
|||
{
|
||||
#if PG_VERSION_NUM >= PG_VERSION_16
|
||||
DefElem *opt = NULL;
|
||||
foreach_ptr(opt, stmt->opt)
|
||||
foreach_declared_ptr(opt, stmt->opt)
|
||||
{
|
||||
if (strcmp(opt->defname, "inherit") == 0 || strcmp(opt->defname, "set") == 0)
|
||||
{
|
||||
|
|
|
@ -162,7 +162,7 @@ PreprocessDropSchemaStmt(Node *node, const char *queryString,
|
|||
EnsureSequentialMode(OBJECT_SCHEMA);
|
||||
|
||||
String *schemaVal = NULL;
|
||||
foreach_ptr(schemaVal, distributedSchemas)
|
||||
foreach_declared_ptr(schemaVal, distributedSchemas)
|
||||
{
|
||||
if (SchemaHasDistributedTableWithFKey(strVal(schemaVal)))
|
||||
{
|
||||
|
@ -322,7 +322,7 @@ FilterDistributedSchemas(List *schemas)
|
|||
List *distributedSchemas = NIL;
|
||||
|
||||
String *schemaValue = NULL;
|
||||
foreach_ptr(schemaValue, schemas)
|
||||
foreach_declared_ptr(schemaValue, schemas)
|
||||
{
|
||||
const char *schemaName = strVal(schemaValue);
|
||||
Oid schemaOid = get_namespace_oid(schemaName, true);
|
||||
|
@ -443,7 +443,7 @@ GetGrantCommandsFromCreateSchemaStmt(Node *node)
|
|||
CreateSchemaStmt *stmt = castNode(CreateSchemaStmt, node);
|
||||
|
||||
Node *element = NULL;
|
||||
foreach_ptr(element, stmt->schemaElts)
|
||||
foreach_declared_ptr(element, stmt->schemaElts)
|
||||
{
|
||||
if (!IsA(element, GrantStmt))
|
||||
{
|
||||
|
@ -480,7 +480,7 @@ static bool
|
|||
CreateSchemaStmtCreatesTable(CreateSchemaStmt *stmt)
|
||||
{
|
||||
Node *element = NULL;
|
||||
foreach_ptr(element, stmt->schemaElts)
|
||||
foreach_declared_ptr(element, stmt->schemaElts)
|
||||
{
|
||||
/*
|
||||
* CREATE TABLE AS and CREATE FOREIGN TABLE commands cannot be
|
||||
|
|
|
@ -174,7 +174,7 @@ EnsureTableKindSupportedForTenantSchema(Oid relationId)
|
|||
List *partitionList = PartitionList(relationId);
|
||||
|
||||
Oid partitionRelationId = InvalidOid;
|
||||
foreach_oid(partitionRelationId, partitionList)
|
||||
foreach_declared_oid(partitionRelationId, partitionList)
|
||||
{
|
||||
ErrorIfIllegalPartitioningInTenantSchema(relationId, partitionRelationId);
|
||||
}
|
||||
|
@ -199,7 +199,7 @@ EnsureFKeysForTenantTable(Oid relationId)
|
|||
int fKeyReferencingFlags = INCLUDE_REFERENCING_CONSTRAINTS | INCLUDE_ALL_TABLE_TYPES;
|
||||
List *referencingForeignKeys = GetForeignKeyOids(relationId, fKeyReferencingFlags);
|
||||
Oid foreignKeyId = InvalidOid;
|
||||
foreach_oid(foreignKeyId, referencingForeignKeys)
|
||||
foreach_declared_oid(foreignKeyId, referencingForeignKeys)
|
||||
{
|
||||
Oid referencingTableId = GetReferencingTableId(foreignKeyId);
|
||||
Oid referencedTableId = GetReferencedTableId(foreignKeyId);
|
||||
|
@ -232,7 +232,7 @@ EnsureFKeysForTenantTable(Oid relationId)
|
|||
|
||||
int fKeyReferencedFlags = INCLUDE_REFERENCED_CONSTRAINTS | INCLUDE_ALL_TABLE_TYPES;
|
||||
List *referencedForeignKeys = GetForeignKeyOids(relationId, fKeyReferencedFlags);
|
||||
foreach_oid(foreignKeyId, referencedForeignKeys)
|
||||
foreach_declared_oid(foreignKeyId, referencedForeignKeys)
|
||||
{
|
||||
Oid referencingTableId = GetReferencingTableId(foreignKeyId);
|
||||
Oid referencedTableId = GetReferencedTableId(foreignKeyId);
|
||||
|
@ -429,7 +429,7 @@ EnsureSchemaCanBeDistributed(Oid schemaId, List *schemaTableIdList)
|
|||
}
|
||||
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, schemaTableIdList)
|
||||
foreach_declared_oid(relationId, schemaTableIdList)
|
||||
{
|
||||
EnsureTenantTable(relationId, "citus_schema_distribute");
|
||||
}
|
||||
|
@ -637,7 +637,7 @@ citus_schema_distribute(PG_FUNCTION_ARGS)
|
|||
List *tableIdListInSchema = SchemaGetNonShardTableIdList(schemaId);
|
||||
List *tableIdListToConvert = NIL;
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, tableIdListInSchema)
|
||||
foreach_declared_oid(relationId, tableIdListInSchema)
|
||||
{
|
||||
/* prevent concurrent drop of the relation */
|
||||
LockRelationOid(relationId, AccessShareLock);
|
||||
|
@ -675,7 +675,7 @@ citus_schema_distribute(PG_FUNCTION_ARGS)
|
|||
* tables.
|
||||
*/
|
||||
List *originalForeignKeyRecreationCommands = NIL;
|
||||
foreach_oid(relationId, tableIdListToConvert)
|
||||
foreach_declared_oid(relationId, tableIdListToConvert)
|
||||
{
|
||||
List *fkeyCommandsForRelation =
|
||||
GetFKeyCreationCommandsRelationInvolvedWithTableType(relationId,
|
||||
|
@ -741,7 +741,7 @@ citus_schema_undistribute(PG_FUNCTION_ARGS)
|
|||
List *tableIdListInSchema = SchemaGetNonShardTableIdList(schemaId);
|
||||
List *tableIdListToConvert = NIL;
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, tableIdListInSchema)
|
||||
foreach_declared_oid(relationId, tableIdListInSchema)
|
||||
{
|
||||
/* prevent concurrent drop of the relation */
|
||||
LockRelationOid(relationId, AccessShareLock);
|
||||
|
@ -883,7 +883,7 @@ TenantSchemaPickAnchorShardId(Oid schemaId)
|
|||
}
|
||||
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, tablesInSchema)
|
||||
foreach_declared_oid(relationId, tablesInSchema)
|
||||
{
|
||||
/*
|
||||
* Make sure the relation isn't dropped for the remainder of
|
||||
|
|
|
@ -123,7 +123,7 @@ static bool
|
|||
OptionsSpecifyOwnedBy(List *optionList, Oid *ownedByTableId)
|
||||
{
|
||||
DefElem *defElem = NULL;
|
||||
foreach_ptr(defElem, optionList)
|
||||
foreach_declared_ptr(defElem, optionList)
|
||||
{
|
||||
if (strcmp(defElem->defname, "owned_by") == 0)
|
||||
{
|
||||
|
@ -202,7 +202,7 @@ ExtractDefaultColumnsAndOwnedSequences(Oid relationId, List **columnNameList,
|
|||
}
|
||||
|
||||
Oid ownedSequenceId = InvalidOid;
|
||||
foreach_oid(ownedSequenceId, columnOwnedSequences)
|
||||
foreach_declared_oid(ownedSequenceId, columnOwnedSequences)
|
||||
{
|
||||
/*
|
||||
* A column might have multiple sequences one via OWNED BY one another
|
||||
|
@ -288,7 +288,7 @@ PreprocessDropSequenceStmt(Node *node, const char *queryString,
|
|||
*/
|
||||
List *deletingSequencesList = stmt->objects;
|
||||
List *objectNameList = NULL;
|
||||
foreach_ptr(objectNameList, deletingSequencesList)
|
||||
foreach_declared_ptr(objectNameList, deletingSequencesList)
|
||||
{
|
||||
RangeVar *seq = makeRangeVarFromNameList(objectNameList);
|
||||
|
||||
|
@ -322,7 +322,7 @@ PreprocessDropSequenceStmt(Node *node, const char *queryString,
|
|||
|
||||
/* remove the entries for the distributed objects on dropping */
|
||||
ObjectAddress *address = NULL;
|
||||
foreach_ptr(address, distributedSequenceAddresses)
|
||||
foreach_declared_ptr(address, distributedSequenceAddresses)
|
||||
{
|
||||
UnmarkObjectDistributed(address);
|
||||
}
|
||||
|
@ -356,7 +356,7 @@ SequenceDropStmtObjectAddress(Node *stmt, bool missing_ok, bool isPostprocess)
|
|||
|
||||
List *droppingSequencesList = dropSeqStmt->objects;
|
||||
List *objectNameList = NULL;
|
||||
foreach_ptr(objectNameList, droppingSequencesList)
|
||||
foreach_declared_ptr(objectNameList, droppingSequencesList)
|
||||
{
|
||||
RangeVar *seq = makeRangeVarFromNameList(objectNameList);
|
||||
|
||||
|
@ -476,7 +476,7 @@ PreprocessAlterSequenceStmt(Node *node, const char *queryString,
|
|||
{
|
||||
List *options = stmt->options;
|
||||
DefElem *defel = NULL;
|
||||
foreach_ptr(defel, options)
|
||||
foreach_declared_ptr(defel, options)
|
||||
{
|
||||
if (strcmp(defel->defname, "as") == 0)
|
||||
{
|
||||
|
@ -511,7 +511,7 @@ SequenceUsedInDistributedTable(const ObjectAddress *sequenceAddress, char depTyp
|
|||
Oid relationId;
|
||||
List *relations = GetDependentRelationsWithSequence(sequenceAddress->objectId,
|
||||
depType);
|
||||
foreach_oid(relationId, relations)
|
||||
foreach_declared_oid(relationId, relations)
|
||||
{
|
||||
if (IsCitusTable(relationId))
|
||||
{
|
||||
|
@ -930,7 +930,7 @@ PostprocessGrantOnSequenceStmt(Node *node, const char *queryString)
|
|||
EnsureCoordinator();
|
||||
|
||||
RangeVar *sequence = NULL;
|
||||
foreach_ptr(sequence, distributedSequences)
|
||||
foreach_declared_ptr(sequence, distributedSequences)
|
||||
{
|
||||
ObjectAddress *sequenceAddress = palloc0(sizeof(ObjectAddress));
|
||||
Oid sequenceOid = RangeVarGetRelid(sequence, NoLock, false);
|
||||
|
@ -1014,7 +1014,7 @@ FilterDistributedSequences(GrantStmt *stmt)
|
|||
/* iterate over all namespace names provided to get their oid's */
|
||||
List *namespaceOidList = NIL;
|
||||
String *namespaceValue = NULL;
|
||||
foreach_ptr(namespaceValue, stmt->objects)
|
||||
foreach_declared_ptr(namespaceValue, stmt->objects)
|
||||
{
|
||||
char *nspname = strVal(namespaceValue);
|
||||
bool missing_ok = false;
|
||||
|
@ -1028,7 +1028,7 @@ FilterDistributedSequences(GrantStmt *stmt)
|
|||
*/
|
||||
List *distributedSequenceList = DistributedSequenceList();
|
||||
ObjectAddress *sequenceAddress = NULL;
|
||||
foreach_ptr(sequenceAddress, distributedSequenceList)
|
||||
foreach_declared_ptr(sequenceAddress, distributedSequenceList)
|
||||
{
|
||||
Oid namespaceOid = get_rel_namespace(sequenceAddress->objectId);
|
||||
|
||||
|
@ -1052,7 +1052,7 @@ FilterDistributedSequences(GrantStmt *stmt)
|
|||
{
|
||||
bool missing_ok = false;
|
||||
RangeVar *sequenceRangeVar = NULL;
|
||||
foreach_ptr(sequenceRangeVar, stmt->objects)
|
||||
foreach_declared_ptr(sequenceRangeVar, stmt->objects)
|
||||
{
|
||||
Oid sequenceOid = RangeVarGetRelid(sequenceRangeVar, NoLock, missing_ok);
|
||||
ObjectAddress *sequenceAddress = palloc0(sizeof(ObjectAddress));
|
||||
|
|
|
@ -184,7 +184,7 @@ PreprocessDropStatisticsStmt(Node *node, const char *queryString,
|
|||
List *ddlJobs = NIL;
|
||||
List *processedStatsOids = NIL;
|
||||
List *objectNameList = NULL;
|
||||
foreach_ptr(objectNameList, dropStatisticsStmt->objects)
|
||||
foreach_declared_ptr(objectNameList, dropStatisticsStmt->objects)
|
||||
{
|
||||
Oid statsOid = get_statistics_object_oid(objectNameList,
|
||||
dropStatisticsStmt->missing_ok);
|
||||
|
@ -234,7 +234,7 @@ DropStatisticsObjectAddress(Node *node, bool missing_ok, bool isPostprocess)
|
|||
List *objectAddresses = NIL;
|
||||
|
||||
List *objectNameList = NULL;
|
||||
foreach_ptr(objectNameList, dropStatisticsStmt->objects)
|
||||
foreach_declared_ptr(objectNameList, dropStatisticsStmt->objects)
|
||||
{
|
||||
Oid statsOid = get_statistics_object_oid(objectNameList,
|
||||
dropStatisticsStmt->missing_ok);
|
||||
|
@ -535,7 +535,7 @@ GetExplicitStatisticsCommandList(Oid relationId)
|
|||
int saveNestLevel = PushEmptySearchPath();
|
||||
|
||||
Oid statisticsId = InvalidOid;
|
||||
foreach_oid(statisticsId, statisticsIdList)
|
||||
foreach_declared_oid(statisticsId, statisticsIdList)
|
||||
{
|
||||
/* we need create commands for already created stats before distribution */
|
||||
Datum commandText = DirectFunctionCall1(pg_get_statisticsobjdef,
|
||||
|
@ -606,7 +606,7 @@ GetExplicitStatisticsSchemaIdList(Oid relationId)
|
|||
RelationClose(relation);
|
||||
|
||||
Oid statsId = InvalidOid;
|
||||
foreach_oid(statsId, statsIdList)
|
||||
foreach_declared_oid(statsId, statsIdList)
|
||||
{
|
||||
HeapTuple heapTuple = SearchSysCache1(STATEXTOID, ObjectIdGetDatum(statsId));
|
||||
if (!HeapTupleIsValid(heapTuple))
|
||||
|
|
|
@ -154,7 +154,7 @@ PreprocessDropTableStmt(Node *node, const char *queryString,
|
|||
Assert(dropTableStatement->removeType == OBJECT_TABLE);
|
||||
|
||||
List *tableNameList = NULL;
|
||||
foreach_ptr(tableNameList, dropTableStatement->objects)
|
||||
foreach_declared_ptr(tableNameList, dropTableStatement->objects)
|
||||
{
|
||||
RangeVar *tableRangeVar = makeRangeVarFromNameList(tableNameList);
|
||||
bool missingOK = true;
|
||||
|
@ -202,7 +202,7 @@ PreprocessDropTableStmt(Node *node, const char *queryString,
|
|||
SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION);
|
||||
|
||||
Oid partitionRelationId = InvalidOid;
|
||||
foreach_oid(partitionRelationId, partitionList)
|
||||
foreach_declared_oid(partitionRelationId, partitionList)
|
||||
{
|
||||
char *detachPartitionCommand =
|
||||
GenerateDetachPartitionCommand(partitionRelationId);
|
||||
|
@ -263,7 +263,7 @@ PostprocessCreateTableStmt(CreateStmt *createStatement, const char *queryString)
|
|||
}
|
||||
|
||||
RangeVar *parentRelation = NULL;
|
||||
foreach_ptr(parentRelation, createStatement->inhRelations)
|
||||
foreach_declared_ptr(parentRelation, createStatement->inhRelations)
|
||||
{
|
||||
Oid parentRelationId = RangeVarGetRelid(parentRelation, NoLock,
|
||||
missingOk);
|
||||
|
@ -480,7 +480,7 @@ PreprocessAlterTableStmtAttachPartition(AlterTableStmt *alterTableStatement,
|
|||
{
|
||||
List *commandList = alterTableStatement->cmds;
|
||||
AlterTableCmd *alterTableCommand = NULL;
|
||||
foreach_ptr(alterTableCommand, commandList)
|
||||
foreach_declared_ptr(alterTableCommand, commandList)
|
||||
{
|
||||
if (alterTableCommand->subtype == AT_AttachPartition)
|
||||
{
|
||||
|
@ -792,7 +792,7 @@ ChooseForeignKeyConstraintNameAddition(List *columnNames)
|
|||
|
||||
String *columnNameString = NULL;
|
||||
|
||||
foreach_ptr(columnNameString, columnNames)
|
||||
foreach_declared_ptr(columnNameString, columnNames)
|
||||
{
|
||||
const char *name = strVal(columnNameString);
|
||||
|
||||
|
@ -1314,7 +1314,7 @@ PreprocessAlterTableStmt(Node *node, const char *alterTableCommand,
|
|||
AlterTableCmd *newCmd = makeNode(AlterTableCmd);
|
||||
|
||||
AlterTableCmd *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
AlterTableType alterTableType = command->subtype;
|
||||
|
||||
|
@ -1418,7 +1418,7 @@ PreprocessAlterTableStmt(Node *node, const char *alterTableCommand,
|
|||
List *columnConstraints = columnDefinition->constraints;
|
||||
|
||||
Constraint *constraint = NULL;
|
||||
foreach_ptr(constraint, columnConstraints)
|
||||
foreach_declared_ptr(constraint, columnConstraints)
|
||||
{
|
||||
if (constraint->contype == CONSTR_FOREIGN)
|
||||
{
|
||||
|
@ -1442,7 +1442,7 @@ PreprocessAlterTableStmt(Node *node, const char *alterTableCommand,
|
|||
deparseAT = true;
|
||||
|
||||
constraint = NULL;
|
||||
foreach_ptr(constraint, columnConstraints)
|
||||
foreach_declared_ptr(constraint, columnConstraints)
|
||||
{
|
||||
if (ConstrTypeCitusCanDefaultName(constraint->contype))
|
||||
{
|
||||
|
@ -1467,7 +1467,7 @@ PreprocessAlterTableStmt(Node *node, const char *alterTableCommand,
|
|||
*/
|
||||
constraint = NULL;
|
||||
int constraintIdx = 0;
|
||||
foreach_ptr(constraint, columnConstraints)
|
||||
foreach_declared_ptr(constraint, columnConstraints)
|
||||
{
|
||||
if (constraint->contype == CONSTR_DEFAULT)
|
||||
{
|
||||
|
@ -1696,7 +1696,7 @@ DeparserSupportsAlterTableAddColumn(AlterTableStmt *alterTableStatement,
|
|||
{
|
||||
ColumnDef *columnDefinition = (ColumnDef *) addColumnSubCommand->def;
|
||||
Constraint *constraint = NULL;
|
||||
foreach_ptr(constraint, columnDefinition->constraints)
|
||||
foreach_declared_ptr(constraint, columnDefinition->constraints)
|
||||
{
|
||||
if (constraint->contype == CONSTR_CHECK)
|
||||
{
|
||||
|
@ -1792,7 +1792,7 @@ static bool
|
|||
RelationIdListContainsCitusTableType(List *relationIdList, CitusTableType citusTableType)
|
||||
{
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
if (IsCitusTableType(relationId, citusTableType))
|
||||
{
|
||||
|
@ -1812,7 +1812,7 @@ static bool
|
|||
RelationIdListContainsPostgresTable(List *relationIdList)
|
||||
{
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
if (OidIsValid(relationId) && !IsCitusTable(relationId))
|
||||
{
|
||||
|
@ -1851,7 +1851,7 @@ ConvertPostgresLocalTablesToCitusLocalTables(AlterTableStmt *alterTableStatement
|
|||
* change in below loop due to CreateCitusLocalTable.
|
||||
*/
|
||||
RangeVar *relationRangeVar;
|
||||
foreach_ptr(relationRangeVar, relationRangeVarList)
|
||||
foreach_declared_ptr(relationRangeVar, relationRangeVarList)
|
||||
{
|
||||
List *commandList = alterTableStatement->cmds;
|
||||
LOCKMODE lockMode = AlterTableGetLockLevel(commandList);
|
||||
|
@ -1979,7 +1979,7 @@ RangeVarListHasLocalRelationConvertedByUser(List *relationRangeVarList,
|
|||
AlterTableStmt *alterTableStatement)
|
||||
{
|
||||
RangeVar *relationRangeVar;
|
||||
foreach_ptr(relationRangeVar, relationRangeVarList)
|
||||
foreach_declared_ptr(relationRangeVar, relationRangeVarList)
|
||||
{
|
||||
/*
|
||||
* Here we iterate the relation list, and if at least one of the relations
|
||||
|
@ -2076,7 +2076,7 @@ GetAlterTableAddFKeyConstraintList(AlterTableStmt *alterTableStatement)
|
|||
|
||||
List *commandList = alterTableStatement->cmds;
|
||||
AlterTableCmd *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
List *commandForeignKeyConstraintList =
|
||||
GetAlterTableCommandFKeyConstraintList(command);
|
||||
|
@ -2116,7 +2116,7 @@ GetAlterTableCommandFKeyConstraintList(AlterTableCmd *command)
|
|||
List *columnConstraints = columnDefinition->constraints;
|
||||
|
||||
Constraint *constraint = NULL;
|
||||
foreach_ptr(constraint, columnConstraints)
|
||||
foreach_declared_ptr(constraint, columnConstraints)
|
||||
{
|
||||
if (constraint->contype == CONSTR_FOREIGN)
|
||||
{
|
||||
|
@ -2139,7 +2139,7 @@ GetRangeVarListFromFKeyConstraintList(List *fKeyConstraintList)
|
|||
List *rightRelationRangeVarList = NIL;
|
||||
|
||||
Constraint *fKeyConstraint = NULL;
|
||||
foreach_ptr(fKeyConstraint, fKeyConstraintList)
|
||||
foreach_declared_ptr(fKeyConstraint, fKeyConstraintList)
|
||||
{
|
||||
RangeVar *rightRelationRangeVar = fKeyConstraint->pktable;
|
||||
rightRelationRangeVarList = lappend(rightRelationRangeVarList,
|
||||
|
@ -2160,7 +2160,7 @@ GetRelationIdListFromRangeVarList(List *rangeVarList, LOCKMODE lockMode, bool mi
|
|||
List *relationIdList = NIL;
|
||||
|
||||
RangeVar *rangeVar = NULL;
|
||||
foreach_ptr(rangeVar, rangeVarList)
|
||||
foreach_declared_ptr(rangeVar, rangeVarList)
|
||||
{
|
||||
Oid rightRelationId = RangeVarGetRelid(rangeVar, lockMode, missingOk);
|
||||
relationIdList = lappend_oid(relationIdList, rightRelationId);
|
||||
|
@ -2234,7 +2234,7 @@ AlterTableDropsForeignKey(AlterTableStmt *alterTableStatement)
|
|||
Oid relationId = AlterTableLookupRelation(alterTableStatement, lockmode);
|
||||
|
||||
AlterTableCmd *command = NULL;
|
||||
foreach_ptr(command, alterTableStatement->cmds)
|
||||
foreach_declared_ptr(command, alterTableStatement->cmds)
|
||||
{
|
||||
AlterTableType alterTableType = command->subtype;
|
||||
|
||||
|
@ -2296,7 +2296,7 @@ AnyForeignKeyDependsOnIndex(Oid indexId)
|
|||
GetPgDependTuplesForDependingObjects(dependentObjectClassId, dependentObjectId);
|
||||
|
||||
HeapTuple dependencyTuple = NULL;
|
||||
foreach_ptr(dependencyTuple, dependencyTupleList)
|
||||
foreach_declared_ptr(dependencyTuple, dependencyTupleList)
|
||||
{
|
||||
Form_pg_depend dependencyForm = (Form_pg_depend) GETSTRUCT(dependencyTuple);
|
||||
Oid dependingClassId = dependencyForm->classid;
|
||||
|
@ -2484,7 +2484,7 @@ SkipForeignKeyValidationIfConstraintIsFkey(AlterTableStmt *alterTableStatement,
|
|||
* shards anyway.
|
||||
*/
|
||||
AlterTableCmd *command = NULL;
|
||||
foreach_ptr(command, alterTableStatement->cmds)
|
||||
foreach_declared_ptr(command, alterTableStatement->cmds)
|
||||
{
|
||||
AlterTableType alterTableType = command->subtype;
|
||||
|
||||
|
@ -2565,7 +2565,7 @@ ErrorIfAlterDropsPartitionColumn(AlterTableStmt *alterTableStatement)
|
|||
/* then check if any of subcommands drop partition column.*/
|
||||
List *commandList = alterTableStatement->cmds;
|
||||
AlterTableCmd *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
AlterTableType alterTableType = command->subtype;
|
||||
if (alterTableType == AT_DropColumn)
|
||||
|
@ -2634,7 +2634,7 @@ PostprocessAlterTableStmt(AlterTableStmt *alterTableStatement)
|
|||
|
||||
List *commandList = alterTableStatement->cmds;
|
||||
AlterTableCmd *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
AlterTableType alterTableType = command->subtype;
|
||||
|
||||
|
@ -2670,7 +2670,7 @@ PostprocessAlterTableStmt(AlterTableStmt *alterTableStatement)
|
|||
}
|
||||
|
||||
Constraint *constraint = NULL;
|
||||
foreach_ptr(constraint, columnConstraints)
|
||||
foreach_declared_ptr(constraint, columnConstraints)
|
||||
{
|
||||
if (constraint->conname == NULL &&
|
||||
(constraint->contype == CONSTR_PRIMARY ||
|
||||
|
@ -2690,7 +2690,7 @@ PostprocessAlterTableStmt(AlterTableStmt *alterTableStatement)
|
|||
* that sequence is supported
|
||||
*/
|
||||
constraint = NULL;
|
||||
foreach_ptr(constraint, columnConstraints)
|
||||
foreach_declared_ptr(constraint, columnConstraints)
|
||||
{
|
||||
if (constraint->contype == CONSTR_DEFAULT)
|
||||
{
|
||||
|
@ -2802,7 +2802,7 @@ FixAlterTableStmtIndexNames(AlterTableStmt *alterTableStatement)
|
|||
|
||||
List *commandList = alterTableStatement->cmds;
|
||||
AlterTableCmd *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
AlterTableType alterTableType = command->subtype;
|
||||
|
||||
|
@ -3165,7 +3165,7 @@ ErrorIfUnsupportedConstraint(Relation relation, char distributionMethod,
|
|||
List *indexOidList = RelationGetIndexList(relation);
|
||||
|
||||
Oid indexOid = InvalidOid;
|
||||
foreach_oid(indexOid, indexOidList)
|
||||
foreach_declared_oid(indexOid, indexOidList)
|
||||
{
|
||||
Relation indexDesc = index_open(indexOid, RowExclusiveLock);
|
||||
bool hasDistributionColumn = false;
|
||||
|
@ -3310,7 +3310,7 @@ ErrorIfUnsupportedAlterTableStmt(AlterTableStmt *alterTableStatement)
|
|||
|
||||
/* error out if any of the subcommands are unsupported */
|
||||
AlterTableCmd *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
AlterTableType alterTableType = command->subtype;
|
||||
|
||||
|
@ -3385,7 +3385,7 @@ ErrorIfUnsupportedAlterTableStmt(AlterTableStmt *alterTableStatement)
|
|||
|
||||
|
||||
Constraint *columnConstraint = NULL;
|
||||
foreach_ptr(columnConstraint, column->constraints)
|
||||
foreach_declared_ptr(columnConstraint, column->constraints)
|
||||
{
|
||||
if (columnConstraint->contype == CONSTR_IDENTITY)
|
||||
{
|
||||
|
@ -3417,7 +3417,7 @@ ErrorIfUnsupportedAlterTableStmt(AlterTableStmt *alterTableStatement)
|
|||
List *columnConstraints = column->constraints;
|
||||
|
||||
Constraint *constraint = NULL;
|
||||
foreach_ptr(constraint, columnConstraints)
|
||||
foreach_declared_ptr(constraint, columnConstraints)
|
||||
{
|
||||
if (constraint->contype == CONSTR_DEFAULT)
|
||||
{
|
||||
|
@ -3770,7 +3770,7 @@ SetupExecutionModeForAlterTable(Oid relationId, AlterTableCmd *command)
|
|||
List *columnConstraints = columnDefinition->constraints;
|
||||
|
||||
Constraint *constraint = NULL;
|
||||
foreach_ptr(constraint, columnConstraints)
|
||||
foreach_declared_ptr(constraint, columnConstraints)
|
||||
{
|
||||
if (constraint->contype == CONSTR_FOREIGN)
|
||||
{
|
||||
|
@ -3970,10 +3970,10 @@ SetInterShardDDLTaskPlacementList(Task *task, ShardInterval *leftShardInterval,
|
|||
List *intersectedPlacementList = NIL;
|
||||
|
||||
ShardPlacement *leftShardPlacement = NULL;
|
||||
foreach_ptr(leftShardPlacement, leftShardPlacementList)
|
||||
foreach_declared_ptr(leftShardPlacement, leftShardPlacementList)
|
||||
{
|
||||
ShardPlacement *rightShardPlacement = NULL;
|
||||
foreach_ptr(rightShardPlacement, rightShardPlacementList)
|
||||
foreach_declared_ptr(rightShardPlacement, rightShardPlacementList)
|
||||
{
|
||||
if (leftShardPlacement->nodeId == rightShardPlacement->nodeId)
|
||||
{
|
||||
|
|
|
@ -81,7 +81,7 @@ GetExplicitTriggerCommandList(Oid relationId)
|
|||
List *triggerIdList = GetExplicitTriggerIdList(relationId);
|
||||
|
||||
Oid triggerId = InvalidOid;
|
||||
foreach_oid(triggerId, triggerIdList)
|
||||
foreach_declared_oid(triggerId, triggerIdList)
|
||||
{
|
||||
bool prettyOutput = false;
|
||||
Datum commandText = DirectFunctionCall2(pg_get_triggerdef_ext,
|
||||
|
@ -742,7 +742,7 @@ ErrorIfRelationHasUnsupportedTrigger(Oid relationId)
|
|||
List *relationTriggerList = GetExplicitTriggerIdList(relationId);
|
||||
|
||||
Oid triggerId = InvalidOid;
|
||||
foreach_oid(triggerId, relationTriggerList)
|
||||
foreach_declared_oid(triggerId, relationTriggerList)
|
||||
{
|
||||
ObjectAddress triggerObjectAddress = InvalidObjectAddress;
|
||||
ObjectAddressSet(triggerObjectAddress, TriggerRelationId, triggerId);
|
||||
|
|
|
@ -135,7 +135,7 @@ TruncateTaskList(Oid relationId)
|
|||
LockShardListMetadata(shardIntervalList, ShareLock);
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
char *shardRelationName = pstrdup(relationName);
|
||||
|
@ -264,7 +264,7 @@ ErrorIfUnsupportedTruncateStmt(TruncateStmt *truncateStatement)
|
|||
{
|
||||
List *relationList = truncateStatement->relations;
|
||||
RangeVar *rangeVar = NULL;
|
||||
foreach_ptr(rangeVar, relationList)
|
||||
foreach_declared_ptr(rangeVar, relationList)
|
||||
{
|
||||
Oid relationId = RangeVarGetRelid(rangeVar, NoLock, false);
|
||||
|
||||
|
@ -294,7 +294,7 @@ static void
|
|||
EnsurePartitionTableNotReplicatedForTruncate(TruncateStmt *truncateStatement)
|
||||
{
|
||||
RangeVar *rangeVar = NULL;
|
||||
foreach_ptr(rangeVar, truncateStatement->relations)
|
||||
foreach_declared_ptr(rangeVar, truncateStatement->relations)
|
||||
{
|
||||
Oid relationId = RangeVarGetRelid(rangeVar, NoLock, false);
|
||||
|
||||
|
@ -322,7 +322,7 @@ ExecuteTruncateStmtSequentialIfNecessary(TruncateStmt *command)
|
|||
bool failOK = false;
|
||||
|
||||
RangeVar *rangeVar = NULL;
|
||||
foreach_ptr(rangeVar, relationList)
|
||||
foreach_declared_ptr(rangeVar, relationList)
|
||||
{
|
||||
Oid relationId = RangeVarGetRelid(rangeVar, NoLock, failOK);
|
||||
|
||||
|
|
|
@ -436,7 +436,7 @@ ProcessUtilityInternal(PlannedStmt *pstmt,
|
|||
bool analyze = false;
|
||||
|
||||
DefElem *option = NULL;
|
||||
foreach_ptr(option, explainStmt->options)
|
||||
foreach_declared_ptr(option, explainStmt->options)
|
||||
{
|
||||
if (strcmp(option->defname, "analyze") == 0)
|
||||
{
|
||||
|
@ -677,7 +677,7 @@ ProcessUtilityInternal(PlannedStmt *pstmt,
|
|||
{
|
||||
AlterTableStmt *alterTableStmt = (AlterTableStmt *) parsetree;
|
||||
AlterTableCmd *command = NULL;
|
||||
foreach_ptr(command, alterTableStmt->cmds)
|
||||
foreach_declared_ptr(command, alterTableStmt->cmds)
|
||||
{
|
||||
AlterTableType alterTableType = command->subtype;
|
||||
|
||||
|
@ -876,7 +876,7 @@ ProcessUtilityInternal(PlannedStmt *pstmt,
|
|||
}
|
||||
|
||||
DDLJob *ddlJob = NULL;
|
||||
foreach_ptr(ddlJob, ddlJobs)
|
||||
foreach_declared_ptr(ddlJob, ddlJobs)
|
||||
{
|
||||
ExecuteDistributedDDLJob(ddlJob);
|
||||
}
|
||||
|
@ -936,7 +936,7 @@ ProcessUtilityInternal(PlannedStmt *pstmt,
|
|||
{
|
||||
List *addresses = GetObjectAddressListFromParseTree(parsetree, false, true);
|
||||
ObjectAddress *address = NULL;
|
||||
foreach_ptr(address, addresses)
|
||||
foreach_declared_ptr(address, addresses)
|
||||
{
|
||||
MarkObjectDistributed(address);
|
||||
TrackPropagatedObject(address);
|
||||
|
@ -959,7 +959,7 @@ UndistributeDisconnectedCitusLocalTables(void)
|
|||
citusLocalTableIdList = SortList(citusLocalTableIdList, CompareOids);
|
||||
|
||||
Oid citusLocalTableId = InvalidOid;
|
||||
foreach_oid(citusLocalTableId, citusLocalTableIdList)
|
||||
foreach_declared_oid(citusLocalTableId, citusLocalTableIdList)
|
||||
{
|
||||
/* acquire ShareRowExclusiveLock to prevent concurrent foreign key creation */
|
||||
LOCKMODE lockMode = ShareRowExclusiveLock;
|
||||
|
@ -1341,7 +1341,7 @@ CurrentSearchPath(void)
|
|||
bool schemaAdded = false;
|
||||
|
||||
Oid searchPathOid = InvalidOid;
|
||||
foreach_oid(searchPathOid, searchPathList)
|
||||
foreach_declared_oid(searchPathOid, searchPathList)
|
||||
{
|
||||
char *schemaName = get_namespace_name(searchPathOid);
|
||||
|
||||
|
@ -1475,7 +1475,7 @@ DDLTaskList(Oid relationId, const char *commandString)
|
|||
LockShardListMetadata(shardIntervalList, ShareLock);
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
StringInfo applyCommand = makeStringInfo();
|
||||
|
@ -1529,7 +1529,7 @@ NodeDDLTaskList(TargetWorkerSet targets, List *commands)
|
|||
SetTaskQueryStringList(task, commands);
|
||||
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodes)
|
||||
foreach_declared_ptr(workerNode, workerNodes)
|
||||
{
|
||||
ShardPlacement *targetPlacement = CitusMakeNode(ShardPlacement);
|
||||
targetPlacement->nodeName = workerNode->workerName;
|
||||
|
|
|
@ -135,7 +135,7 @@ VacuumRelationIdList(VacuumStmt *vacuumStmt, CitusVacuumParams vacuumParams)
|
|||
List *relationIdList = NIL;
|
||||
|
||||
RangeVar *vacuumRelation = NULL;
|
||||
foreach_ptr(vacuumRelation, vacuumRelationList)
|
||||
foreach_declared_ptr(vacuumRelation, vacuumRelationList)
|
||||
{
|
||||
/*
|
||||
* If skip_locked option is enabled, we are skipping that relation
|
||||
|
@ -164,7 +164,7 @@ static bool
|
|||
IsDistributedVacuumStmt(List *vacuumRelationIdList)
|
||||
{
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, vacuumRelationIdList)
|
||||
foreach_declared_oid(relationId, vacuumRelationIdList)
|
||||
{
|
||||
if (OidIsValid(relationId) && IsCitusTable(relationId))
|
||||
{
|
||||
|
@ -188,7 +188,7 @@ ExecuteVacuumOnDistributedTables(VacuumStmt *vacuumStmt, List *relationIdList,
|
|||
int executedVacuumCount = 0;
|
||||
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
if (IsCitusTable(relationId))
|
||||
{
|
||||
|
@ -254,7 +254,7 @@ VacuumTaskList(Oid relationId, CitusVacuumParams vacuumParams, List *vacuumColum
|
|||
LockShardListMetadata(shardIntervalList, ShareLock);
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
char *shardRelationName = pstrdup(relationName);
|
||||
|
@ -475,7 +475,7 @@ DeparseVacuumColumnNames(List *columnNameList)
|
|||
appendStringInfoString(columnNames, " (");
|
||||
|
||||
String *columnName = NULL;
|
||||
foreach_ptr(columnName, columnNameList)
|
||||
foreach_declared_ptr(columnName, columnNameList)
|
||||
{
|
||||
appendStringInfo(columnNames, "%s,", strVal(columnName));
|
||||
}
|
||||
|
@ -510,7 +510,7 @@ ExtractVacuumTargetRels(VacuumStmt *vacuumStmt)
|
|||
List *vacuumList = NIL;
|
||||
|
||||
VacuumRelation *vacuumRelation = NULL;
|
||||
foreach_ptr(vacuumRelation, vacuumStmt->rels)
|
||||
foreach_declared_ptr(vacuumRelation, vacuumStmt->rels)
|
||||
{
|
||||
vacuumList = lappend(vacuumList, vacuumRelation->relation);
|
||||
}
|
||||
|
@ -554,7 +554,7 @@ VacuumStmtParams(VacuumStmt *vacstmt)
|
|||
|
||||
/* Parse options list */
|
||||
DefElem *opt = NULL;
|
||||
foreach_ptr(opt, vacstmt->options)
|
||||
foreach_declared_ptr(opt, vacstmt->options)
|
||||
{
|
||||
/* Parse common options for VACUUM and ANALYZE */
|
||||
if (strcmp(opt->defname, "verbose") == 0)
|
||||
|
@ -727,7 +727,7 @@ ExecuteUnqualifiedVacuumTasks(VacuumStmt *vacuumStmt, CitusVacuumParams vacuumPa
|
|||
int32 localNodeGroupId = GetLocalGroupId();
|
||||
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodes)
|
||||
foreach_declared_ptr(workerNode, workerNodes)
|
||||
{
|
||||
if (workerNode->groupId != localNodeGroupId)
|
||||
{
|
||||
|
|
|
@ -69,7 +69,7 @@ ViewHasDistributedRelationDependency(ObjectAddress *viewObjectAddress)
|
|||
List *dependencies = GetAllDependenciesForObject(viewObjectAddress);
|
||||
ObjectAddress *dependency = NULL;
|
||||
|
||||
foreach_ptr(dependency, dependencies)
|
||||
foreach_declared_ptr(dependency, dependencies)
|
||||
{
|
||||
if (dependency->classId == RelationRelationId && IsAnyObjectDistributed(
|
||||
list_make1(dependency)))
|
||||
|
@ -304,7 +304,7 @@ DropViewStmtObjectAddress(Node *stmt, bool missing_ok, bool isPostprocess)
|
|||
List *objectAddresses = NIL;
|
||||
|
||||
List *possiblyQualifiedViewName = NULL;
|
||||
foreach_ptr(possiblyQualifiedViewName, dropStmt->objects)
|
||||
foreach_declared_ptr(possiblyQualifiedViewName, dropStmt->objects)
|
||||
{
|
||||
RangeVar *viewRangeVar = makeRangeVarFromNameList(possiblyQualifiedViewName);
|
||||
Oid viewOid = RangeVarGetRelid(viewRangeVar, AccessShareLock,
|
||||
|
@ -332,7 +332,7 @@ FilterNameListForDistributedViews(List *viewNamesList, bool missing_ok)
|
|||
List *distributedViewNames = NIL;
|
||||
|
||||
List *possiblyQualifiedViewName = NULL;
|
||||
foreach_ptr(possiblyQualifiedViewName, viewNamesList)
|
||||
foreach_declared_ptr(possiblyQualifiedViewName, viewNamesList)
|
||||
{
|
||||
char *viewName = NULL;
|
||||
char *schemaName = NULL;
|
||||
|
|
|
@ -879,7 +879,7 @@ WaitEventSetFromMultiConnectionStates(List *connections, int *waitCount)
|
|||
numEventsAdded += 2;
|
||||
|
||||
MultiConnectionPollState *connectionState = NULL;
|
||||
foreach_ptr(connectionState, connections)
|
||||
foreach_declared_ptr(connectionState, connections)
|
||||
{
|
||||
if (numEventsAdded >= eventSetSize)
|
||||
{
|
||||
|
@ -961,7 +961,7 @@ FinishConnectionListEstablishment(List *multiConnectionList)
|
|||
int waitCount = 0;
|
||||
|
||||
MultiConnection *connection = NULL;
|
||||
foreach_ptr(connection, multiConnectionList)
|
||||
foreach_declared_ptr(connection, multiConnectionList)
|
||||
{
|
||||
MultiConnectionPollState *connectionState =
|
||||
palloc0(sizeof(MultiConnectionPollState));
|
||||
|
@ -1160,7 +1160,7 @@ static void
|
|||
CloseNotReadyMultiConnectionStates(List *connectionStates)
|
||||
{
|
||||
MultiConnectionPollState *connectionState = NULL;
|
||||
foreach_ptr(connectionState, connectionStates)
|
||||
foreach_declared_ptr(connectionState, connectionStates)
|
||||
{
|
||||
MultiConnection *connection = connectionState->connection;
|
||||
|
||||
|
|
|
@ -360,7 +360,7 @@ EnsureConnectionPossibilityForNodeList(List *nodeList)
|
|||
nodeList = SortList(nodeList, CompareWorkerNodes);
|
||||
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, nodeList)
|
||||
foreach_declared_ptr(workerNode, nodeList)
|
||||
{
|
||||
bool waitForConnection = true;
|
||||
EnsureConnectionPossibilityForNode(workerNode, waitForConnection);
|
||||
|
|
|
@ -370,7 +370,7 @@ AssignPlacementListToConnection(List *placementAccessList, MultiConnection *conn
|
|||
const char *userName = connection->user;
|
||||
|
||||
ShardPlacementAccess *placementAccess = NULL;
|
||||
foreach_ptr(placementAccess, placementAccessList)
|
||||
foreach_declared_ptr(placementAccess, placementAccessList)
|
||||
{
|
||||
ShardPlacement *placement = placementAccess->placement;
|
||||
ShardPlacementAccessType accessType = placementAccess->accessType;
|
||||
|
@ -533,7 +533,7 @@ FindPlacementListConnection(int flags, List *placementAccessList, const char *us
|
|||
* suitable connection found for a placement in the placementAccessList.
|
||||
*/
|
||||
ShardPlacementAccess *placementAccess = NULL;
|
||||
foreach_ptr(placementAccess, placementAccessList)
|
||||
foreach_declared_ptr(placementAccess, placementAccessList)
|
||||
{
|
||||
ShardPlacement *placement = placementAccess->placement;
|
||||
ShardPlacementAccessType accessType = placementAccess->accessType;
|
||||
|
|
|
@ -392,7 +392,7 @@ void
|
|||
ExecuteCriticalRemoteCommandList(MultiConnection *connection, List *commandList)
|
||||
{
|
||||
const char *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
ExecuteCriticalRemoteCommand(connection, command);
|
||||
}
|
||||
|
@ -435,7 +435,7 @@ ExecuteRemoteCommandInConnectionList(List *nodeConnectionList, const char *comma
|
|||
{
|
||||
MultiConnection *connection = NULL;
|
||||
|
||||
foreach_ptr(connection, nodeConnectionList)
|
||||
foreach_declared_ptr(connection, nodeConnectionList)
|
||||
{
|
||||
int querySent = SendRemoteCommand(connection, command);
|
||||
|
||||
|
@ -446,7 +446,7 @@ ExecuteRemoteCommandInConnectionList(List *nodeConnectionList, const char *comma
|
|||
}
|
||||
|
||||
/* Process the result */
|
||||
foreach_ptr(connection, nodeConnectionList)
|
||||
foreach_declared_ptr(connection, nodeConnectionList)
|
||||
{
|
||||
bool raiseInterrupts = true;
|
||||
PGresult *result = GetRemoteCommandResult(connection, raiseInterrupts);
|
||||
|
@ -887,7 +887,7 @@ WaitForAllConnections(List *connectionList, bool raiseInterrupts)
|
|||
|
||||
/* convert connection list to an array such that we can move items around */
|
||||
MultiConnection *connectionItem = NULL;
|
||||
foreach_ptr(connectionItem, connectionList)
|
||||
foreach_declared_ptr(connectionItem, connectionList)
|
||||
{
|
||||
allConnections[connectionIndex] = connectionItem;
|
||||
connectionReady[connectionIndex] = false;
|
||||
|
|
|
@ -938,7 +938,7 @@ bool
|
|||
IsReindexWithParam_compat(ReindexStmt *reindexStmt, char *param)
|
||||
{
|
||||
DefElem *opt = NULL;
|
||||
foreach_ptr(opt, reindexStmt->params)
|
||||
foreach_declared_ptr(opt, reindexStmt->params)
|
||||
{
|
||||
if (strcmp(opt->defname, param) == 0)
|
||||
{
|
||||
|
@ -963,7 +963,7 @@ AddVacuumParams(ReindexStmt *reindexStmt, StringInfo buffer)
|
|||
|
||||
char *tableSpaceName = NULL;
|
||||
DefElem *opt = NULL;
|
||||
foreach_ptr(opt, reindexStmt->params)
|
||||
foreach_declared_ptr(opt, reindexStmt->params)
|
||||
{
|
||||
if (strcmp(opt->defname, "tablespace") == 0)
|
||||
{
|
||||
|
|
|
@ -47,7 +47,7 @@ DeparseTreeNodes(List *stmts)
|
|||
{
|
||||
List *sqls = NIL;
|
||||
Node *stmt = NULL;
|
||||
foreach_ptr(stmt, stmts)
|
||||
foreach_declared_ptr(stmt, stmts)
|
||||
{
|
||||
sqls = lappend(sqls, DeparseTreeNode(stmt));
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ DeparseCreateDomainStmt(Node *node)
|
|||
}
|
||||
|
||||
Constraint *constraint = NULL;
|
||||
foreach_ptr(constraint, stmt->constraints)
|
||||
foreach_declared_ptr(constraint, stmt->constraints)
|
||||
{
|
||||
AppendConstraint(&buf, constraint, stmt->domainname, stmt->typeName);
|
||||
}
|
||||
|
@ -117,7 +117,7 @@ DeparseDropDomainStmt(Node *node)
|
|||
|
||||
TypeName *domainName = NULL;
|
||||
bool first = true;
|
||||
foreach_ptr(domainName, stmt->objects)
|
||||
foreach_declared_ptr(domainName, stmt->objects)
|
||||
{
|
||||
if (!first)
|
||||
{
|
||||
|
|
|
@ -40,7 +40,7 @@ DefElem *
|
|||
GetExtensionOption(List *extensionOptions, const char *defname)
|
||||
{
|
||||
DefElem *defElement = NULL;
|
||||
foreach_ptr(defElement, extensionOptions)
|
||||
foreach_declared_ptr(defElement, extensionOptions)
|
||||
{
|
||||
if (IsA(defElement, DefElem) &&
|
||||
strncmp(defElement->defname, defname, NAMEDATALEN) == 0)
|
||||
|
@ -112,7 +112,7 @@ AppendCreateExtensionStmtOptions(StringInfo buf, List *options)
|
|||
|
||||
/* Add the options to the statement */
|
||||
DefElem *defElem = NULL;
|
||||
foreach_ptr(defElem, options)
|
||||
foreach_declared_ptr(defElem, options)
|
||||
{
|
||||
if (strcmp(defElem->defname, "schema") == 0)
|
||||
{
|
||||
|
@ -181,7 +181,7 @@ AppendAlterExtensionStmt(StringInfo buf, AlterExtensionStmt *alterExtensionStmt)
|
|||
* the options.
|
||||
*/
|
||||
DefElem *option = NULL;
|
||||
foreach_ptr(option, optionsList)
|
||||
foreach_declared_ptr(option, optionsList)
|
||||
{
|
||||
if (strcmp(option->defname, "new_version") == 0)
|
||||
{
|
||||
|
|
|
@ -176,7 +176,7 @@ AppendAlterForeignServerOptions(StringInfo buf, AlterForeignServerStmt *stmt)
|
|||
|
||||
DefElemAction action = DEFELEM_UNSPEC;
|
||||
DefElem *def = NULL;
|
||||
foreach_ptr(def, stmt->options)
|
||||
foreach_declared_ptr(def, stmt->options)
|
||||
{
|
||||
if (def->defaction != DEFELEM_UNSPEC)
|
||||
{
|
||||
|
@ -242,7 +242,7 @@ static void
|
|||
AppendServerNames(StringInfo buf, DropStmt *stmt)
|
||||
{
|
||||
String *serverValue = NULL;
|
||||
foreach_ptr(serverValue, stmt->objects)
|
||||
foreach_declared_ptr(serverValue, stmt->objects)
|
||||
{
|
||||
const char *serverString = quote_identifier(strVal(serverValue));
|
||||
appendStringInfo(buf, "%s", serverString);
|
||||
|
|
|
@ -118,7 +118,7 @@ AppendCreatePublicationStmt(StringInfo buf, CreatePublicationStmt *stmt,
|
|||
* Check whether there are objects to propagate, mainly to know whether
|
||||
* we should include "FOR".
|
||||
*/
|
||||
foreach_ptr(publicationObject, stmt->pubobjects)
|
||||
foreach_declared_ptr(publicationObject, stmt->pubobjects)
|
||||
{
|
||||
if (publicationObject->pubobjtype == PUBLICATIONOBJ_TABLE)
|
||||
{
|
||||
|
@ -156,7 +156,7 @@ AppendCreatePublicationStmt(StringInfo buf, CreatePublicationStmt *stmt,
|
|||
* Check whether there are tables to propagate, mainly to know whether
|
||||
* we should include "FOR".
|
||||
*/
|
||||
foreach_ptr(rangeVar, stmt->tables)
|
||||
foreach_declared_ptr(rangeVar, stmt->tables)
|
||||
{
|
||||
if (includeLocalTables || IsCitusTableRangeVar(rangeVar, NoLock, false))
|
||||
{
|
||||
|
@ -198,7 +198,7 @@ AppendPublicationObjects(StringInfo buf, List *publicationObjects,
|
|||
PublicationObjSpec *publicationObject = NULL;
|
||||
bool appendedObject = false;
|
||||
|
||||
foreach_ptr(publicationObject, publicationObjects)
|
||||
foreach_declared_ptr(publicationObject, publicationObjects)
|
||||
{
|
||||
if (publicationObject->pubobjtype == PUBLICATIONOBJ_TABLE)
|
||||
{
|
||||
|
@ -334,7 +334,7 @@ AppendTables(StringInfo buf, List *tables, bool includeLocalTables)
|
|||
RangeVar *rangeVar = NULL;
|
||||
bool appendedObject = false;
|
||||
|
||||
foreach_ptr(rangeVar, tables)
|
||||
foreach_declared_ptr(rangeVar, tables)
|
||||
{
|
||||
if (!includeLocalTables &&
|
||||
!IsCitusTableRangeVar(rangeVar, NoLock, false))
|
||||
|
|
|
@ -359,7 +359,7 @@ AppendRevokeAdminOptionFor(StringInfo buf, GrantRoleStmt *stmt)
|
|||
if (!stmt->is_grant)
|
||||
{
|
||||
DefElem *opt = NULL;
|
||||
foreach_ptr(opt, stmt->opt)
|
||||
foreach_declared_ptr(opt, stmt->opt)
|
||||
{
|
||||
if (strcmp(opt->defname, "admin") == 0)
|
||||
{
|
||||
|
@ -384,7 +384,7 @@ AppendGrantWithAdminOption(StringInfo buf, GrantRoleStmt *stmt)
|
|||
{
|
||||
#if PG_VERSION_NUM >= PG_VERSION_16
|
||||
DefElem *opt = NULL;
|
||||
foreach_ptr(opt, stmt->opt)
|
||||
foreach_declared_ptr(opt, stmt->opt)
|
||||
{
|
||||
bool admin_option = false;
|
||||
char *optval = defGetString(opt);
|
||||
|
|
|
@ -152,7 +152,7 @@ AppendDropSchemaStmt(StringInfo buf, DropStmt *stmt)
|
|||
}
|
||||
|
||||
String *schemaValue = NULL;
|
||||
foreach_ptr(schemaValue, stmt->objects)
|
||||
foreach_declared_ptr(schemaValue, stmt->objects)
|
||||
{
|
||||
const char *schemaString = quote_identifier(strVal(schemaValue));
|
||||
appendStringInfo(buf, "%s", schemaString);
|
||||
|
|
|
@ -216,7 +216,7 @@ AppendStatTypes(StringInfo buf, CreateStatsStmt *stmt)
|
|||
appendStringInfoString(buf, " (");
|
||||
|
||||
String *statType = NULL;
|
||||
foreach_ptr(statType, stmt->stat_types)
|
||||
foreach_declared_ptr(statType, stmt->stat_types)
|
||||
{
|
||||
appendStringInfoString(buf, strVal(statType));
|
||||
|
||||
|
@ -235,7 +235,7 @@ AppendColumnNames(StringInfo buf, CreateStatsStmt *stmt)
|
|||
{
|
||||
StatsElem *column = NULL;
|
||||
|
||||
foreach_ptr(column, stmt->exprs)
|
||||
foreach_declared_ptr(column, stmt->exprs)
|
||||
{
|
||||
if (!column->name)
|
||||
{
|
||||
|
|
|
@ -86,7 +86,7 @@ AppendDefElemList(StringInfo buf, List *defelems, char *objectName)
|
|||
{
|
||||
DefElem *defelem = NULL;
|
||||
bool first = true;
|
||||
foreach_ptr(defelem, defelems)
|
||||
foreach_declared_ptr(defelem, defelems)
|
||||
{
|
||||
if (!first)
|
||||
{
|
||||
|
@ -133,7 +133,7 @@ DeparseDropTextSearchConfigurationStmt(Node *node)
|
|||
appendStringInfoString(&buf, "DROP TEXT SEARCH CONFIGURATION ");
|
||||
List *nameList = NIL;
|
||||
bool first = true;
|
||||
foreach_ptr(nameList, stmt->objects)
|
||||
foreach_declared_ptr(nameList, stmt->objects)
|
||||
{
|
||||
if (!first)
|
||||
{
|
||||
|
@ -171,7 +171,7 @@ DeparseDropTextSearchDictionaryStmt(Node *node)
|
|||
appendStringInfoString(&buf, "DROP TEXT SEARCH DICTIONARY ");
|
||||
List *nameList = NIL;
|
||||
bool first = true;
|
||||
foreach_ptr(nameList, stmt->objects)
|
||||
foreach_declared_ptr(nameList, stmt->objects)
|
||||
{
|
||||
if (!first)
|
||||
{
|
||||
|
@ -466,7 +466,7 @@ AppendStringInfoTokentypeList(StringInfo buf, List *tokentypes)
|
|||
{
|
||||
String *tokentype = NULL;
|
||||
bool first = true;
|
||||
foreach_ptr(tokentype, tokentypes)
|
||||
foreach_declared_ptr(tokentype, tokentypes)
|
||||
{
|
||||
if (nodeTag(tokentype) != T_String)
|
||||
{
|
||||
|
@ -494,7 +494,7 @@ AppendStringInfoDictnames(StringInfo buf, List *dicts)
|
|||
{
|
||||
List *dictNames = NIL;
|
||||
bool first = true;
|
||||
foreach_ptr(dictNames, dicts)
|
||||
foreach_declared_ptr(dictNames, dicts)
|
||||
{
|
||||
if (!first)
|
||||
{
|
||||
|
|
|
@ -88,7 +88,7 @@ AppendViewNameList(StringInfo buf, List *viewNamesList)
|
|||
{
|
||||
bool isFirstView = true;
|
||||
List *qualifiedViewName = NULL;
|
||||
foreach_ptr(qualifiedViewName, viewNamesList)
|
||||
foreach_declared_ptr(qualifiedViewName, viewNamesList)
|
||||
{
|
||||
char *quotedQualifiedVieName = NameListToQuotedString(qualifiedViewName);
|
||||
if (!isFirstView)
|
||||
|
|
|
@ -83,7 +83,7 @@ QualifyDropCollationStmt(Node *node)
|
|||
List *names = NIL;
|
||||
List *name = NIL;
|
||||
|
||||
foreach_ptr(name, stmt->objects)
|
||||
foreach_declared_ptr(name, stmt->objects)
|
||||
{
|
||||
names = lappend(names, QualifyCollationName(name));
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ QualifyDropDomainStmt(Node *node)
|
|||
DropStmt *stmt = castNode(DropStmt, node);
|
||||
|
||||
TypeName *domainName = NULL;
|
||||
foreach_ptr(domainName, stmt->objects)
|
||||
foreach_declared_ptr(domainName, stmt->objects)
|
||||
{
|
||||
QualifyTypeName(domainName, stmt->missing_ok);
|
||||
}
|
||||
|
@ -249,7 +249,7 @@ QualifyCollate(CollateClause *collClause, bool missing_ok)
|
|||
|
||||
collClause->collname = NIL;
|
||||
char *name = NULL;
|
||||
foreach_ptr(name, objName)
|
||||
foreach_declared_ptr(name, objName)
|
||||
{
|
||||
collClause->collname = lappend(collClause->collname, makeString(name));
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ QualifyPublicationObjects(List *publicationObjects)
|
|||
{
|
||||
PublicationObjSpec *publicationObject = NULL;
|
||||
|
||||
foreach_ptr(publicationObject, publicationObjects)
|
||||
foreach_declared_ptr(publicationObject, publicationObjects)
|
||||
{
|
||||
if (publicationObject->pubobjtype == PUBLICATIONOBJ_TABLE)
|
||||
{
|
||||
|
@ -78,7 +78,7 @@ QualifyTables(List *tables)
|
|||
{
|
||||
RangeVar *rangeVar = NULL;
|
||||
|
||||
foreach_ptr(rangeVar, tables)
|
||||
foreach_declared_ptr(rangeVar, tables)
|
||||
{
|
||||
QualifyPublicationRangeVar(rangeVar);
|
||||
}
|
||||
|
|
|
@ -148,7 +148,7 @@ QualifyDropSequenceStmt(Node *node)
|
|||
|
||||
List *objectNameListWithSchema = NIL;
|
||||
List *objectNameList = NULL;
|
||||
foreach_ptr(objectNameList, stmt->objects)
|
||||
foreach_declared_ptr(objectNameList, stmt->objects)
|
||||
{
|
||||
RangeVar *seq = makeRangeVarFromNameList(objectNameList);
|
||||
|
||||
|
@ -192,7 +192,7 @@ QualifyGrantOnSequenceStmt(Node *node)
|
|||
}
|
||||
List *qualifiedSequenceRangeVars = NIL;
|
||||
RangeVar *sequenceRangeVar = NULL;
|
||||
foreach_ptr(sequenceRangeVar, stmt->objects)
|
||||
foreach_declared_ptr(sequenceRangeVar, stmt->objects)
|
||||
{
|
||||
if (sequenceRangeVar->schemaname == NULL)
|
||||
{
|
||||
|
|
|
@ -73,7 +73,7 @@ QualifyDropStatisticsStmt(Node *node)
|
|||
|
||||
List *objectNameListWithSchema = NIL;
|
||||
List *objectNameList = NULL;
|
||||
foreach_ptr(objectNameList, dropStatisticsStmt->objects)
|
||||
foreach_declared_ptr(objectNameList, dropStatisticsStmt->objects)
|
||||
{
|
||||
RangeVar *stat = makeRangeVarFromNameList(objectNameList);
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ QualifyDropTextSearchConfigurationStmt(Node *node)
|
|||
List *qualifiedObjects = NIL;
|
||||
List *objName = NIL;
|
||||
|
||||
foreach_ptr(objName, stmt->objects)
|
||||
foreach_declared_ptr(objName, stmt->objects)
|
||||
{
|
||||
char *schemaName = NULL;
|
||||
char *tsconfigName = NULL;
|
||||
|
@ -87,7 +87,7 @@ QualifyDropTextSearchDictionaryStmt(Node *node)
|
|||
List *qualifiedObjects = NIL;
|
||||
List *objName = NIL;
|
||||
|
||||
foreach_ptr(objName, stmt->objects)
|
||||
foreach_declared_ptr(objName, stmt->objects)
|
||||
{
|
||||
char *schemaName = NULL;
|
||||
char *tsdictName = NULL;
|
||||
|
@ -141,7 +141,7 @@ QualifyAlterTextSearchConfigurationStmt(Node *node)
|
|||
bool useNewDicts = false;
|
||||
List *dicts = NULL;
|
||||
List *dictName = NIL;
|
||||
foreach_ptr(dictName, stmt->dicts)
|
||||
foreach_declared_ptr(dictName, stmt->dicts)
|
||||
{
|
||||
DeconstructQualifiedName(dictName, &schemaName, &objName);
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ QualifyDropViewStmt(Node *node)
|
|||
List *qualifiedViewNames = NIL;
|
||||
|
||||
List *possiblyQualifiedViewName = NULL;
|
||||
foreach_ptr(possiblyQualifiedViewName, stmt->objects)
|
||||
foreach_declared_ptr(possiblyQualifiedViewName, stmt->objects)
|
||||
{
|
||||
char *viewName = NULL;
|
||||
char *schemaName = NULL;
|
||||
|
|
|
@ -1415,7 +1415,7 @@ AssignTasksToConnectionsOrWorkerPool(DistributedExecution *execution)
|
|||
List *taskList = execution->remoteTaskList;
|
||||
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
bool placementExecutionReady = true;
|
||||
int placementExecutionIndex = 0;
|
||||
|
@ -1438,7 +1438,7 @@ AssignTasksToConnectionsOrWorkerPool(DistributedExecution *execution)
|
|||
|
||||
SetAttributeInputMetadata(execution, shardCommandExecution);
|
||||
ShardPlacement *taskPlacement = NULL;
|
||||
foreach_ptr(taskPlacement, task->taskPlacementList)
|
||||
foreach_declared_ptr(taskPlacement, task->taskPlacementList)
|
||||
{
|
||||
int connectionFlags = 0;
|
||||
char *nodeName = NULL;
|
||||
|
@ -1583,7 +1583,7 @@ AssignTasksToConnectionsOrWorkerPool(DistributedExecution *execution)
|
|||
* connection may be be returned multiple times by GetPlacementListConnectionIfCached.
|
||||
*/
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, execution->sessionList)
|
||||
foreach_declared_ptr(session, execution->sessionList)
|
||||
{
|
||||
MultiConnection *connection = session->connection;
|
||||
|
||||
|
@ -1706,7 +1706,7 @@ static WorkerPool *
|
|||
FindOrCreateWorkerPool(DistributedExecution *execution, char *nodeName, int nodePort)
|
||||
{
|
||||
WorkerPool *workerPool = NULL;
|
||||
foreach_ptr(workerPool, execution->workerList)
|
||||
foreach_declared_ptr(workerPool, execution->workerList)
|
||||
{
|
||||
if (strncmp(nodeName, workerPool->nodeName, WORKER_LENGTH) == 0 &&
|
||||
nodePort == workerPool->nodePort)
|
||||
|
@ -1753,7 +1753,7 @@ FindOrCreateWorkerSession(WorkerPool *workerPool, MultiConnection *connection)
|
|||
static uint64 sessionId = 1;
|
||||
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, workerPool->sessionList)
|
||||
foreach_declared_ptr(session, workerPool->sessionList)
|
||||
{
|
||||
if (session->connection == connection)
|
||||
{
|
||||
|
@ -1856,7 +1856,7 @@ SequentialRunDistributedExecution(DistributedExecution *execution)
|
|||
*/
|
||||
MultiShardConnectionType = SEQUENTIAL_CONNECTION;
|
||||
Task *taskToExecute = NULL;
|
||||
foreach_ptr(taskToExecute, taskList)
|
||||
foreach_declared_ptr(taskToExecute, taskList)
|
||||
{
|
||||
execution->remoteAndLocalTaskList = list_make1(taskToExecute);
|
||||
execution->remoteTaskList = list_make1(taskToExecute);
|
||||
|
@ -1896,7 +1896,7 @@ RunDistributedExecution(DistributedExecution *execution)
|
|||
{
|
||||
/* Preemptively step state machines in case of immediate errors */
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, execution->sessionList)
|
||||
foreach_declared_ptr(session, execution->sessionList)
|
||||
{
|
||||
ConnectionStateMachine(session);
|
||||
}
|
||||
|
@ -1928,7 +1928,7 @@ RunDistributedExecution(DistributedExecution *execution)
|
|||
HasIncompleteConnectionEstablishment(execution)))
|
||||
{
|
||||
WorkerPool *workerPool = NULL;
|
||||
foreach_ptr(workerPool, execution->workerList)
|
||||
foreach_declared_ptr(workerPool, execution->workerList)
|
||||
{
|
||||
ManageWorkerPool(workerPool);
|
||||
}
|
||||
|
@ -2013,7 +2013,7 @@ ProcessSessionsWithFailedWaitEventSetOperations(DistributedExecution *execution)
|
|||
{
|
||||
bool foundFailedSession = false;
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, execution->sessionList)
|
||||
foreach_declared_ptr(session, execution->sessionList)
|
||||
{
|
||||
if (session->waitEventSetIndex == WAIT_EVENT_SET_INDEX_FAILED)
|
||||
{
|
||||
|
@ -2057,7 +2057,7 @@ HasIncompleteConnectionEstablishment(DistributedExecution *execution)
|
|||
}
|
||||
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, execution->sessionList)
|
||||
foreach_declared_ptr(session, execution->sessionList)
|
||||
{
|
||||
MultiConnection *connection = session->connection;
|
||||
if (connection->connectionState == MULTI_CONNECTION_INITIAL ||
|
||||
|
@ -2535,7 +2535,7 @@ AvgTaskExecutionTimeApproximation(WorkerPool *workerPool)
|
|||
INSTR_TIME_SET_CURRENT(now);
|
||||
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, workerPool->sessionList)
|
||||
foreach_declared_ptr(session, workerPool->sessionList)
|
||||
{
|
||||
/*
|
||||
* Involve the tasks that are currently running. We do this to
|
||||
|
@ -2573,7 +2573,7 @@ AvgConnectionEstablishmentTime(WorkerPool *workerPool)
|
|||
int sessionCount = 0;
|
||||
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, workerPool->sessionList)
|
||||
foreach_declared_ptr(session, workerPool->sessionList)
|
||||
{
|
||||
MultiConnection *connection = session->connection;
|
||||
|
||||
|
@ -2729,7 +2729,7 @@ OpenNewConnections(WorkerPool *workerPool, int newConnectionCount,
|
|||
#endif
|
||||
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, newSessionsList)
|
||||
foreach_declared_ptr(session, newSessionsList)
|
||||
{
|
||||
/* immediately run the state machine to handle potential failure */
|
||||
ConnectionStateMachine(session);
|
||||
|
@ -2847,7 +2847,7 @@ static void
|
|||
MarkEstablishingSessionsTimedOut(WorkerPool *workerPool)
|
||||
{
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, workerPool->sessionList)
|
||||
foreach_declared_ptr(session, workerPool->sessionList)
|
||||
{
|
||||
MultiConnection *connection = session->connection;
|
||||
|
||||
|
@ -2899,7 +2899,7 @@ NextEventTimeout(DistributedExecution *execution)
|
|||
long eventTimeout = 1000; /* milliseconds */
|
||||
|
||||
WorkerPool *workerPool = NULL;
|
||||
foreach_ptr(workerPool, execution->workerList)
|
||||
foreach_declared_ptr(workerPool, execution->workerList)
|
||||
{
|
||||
if (workerPool->failureState == WORKER_POOL_FAILED)
|
||||
{
|
||||
|
@ -4240,7 +4240,7 @@ WorkerPoolFailed(WorkerPool *workerPool)
|
|||
}
|
||||
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, workerPool->sessionList)
|
||||
foreach_declared_ptr(session, workerPool->sessionList)
|
||||
{
|
||||
WorkerSessionFailed(session);
|
||||
}
|
||||
|
@ -4265,7 +4265,7 @@ WorkerPoolFailed(WorkerPool *workerPool)
|
|||
List *workerList = workerPool->distributedExecution->workerList;
|
||||
|
||||
WorkerPool *pool = NULL;
|
||||
foreach_ptr(pool, workerList)
|
||||
foreach_declared_ptr(pool, workerList)
|
||||
{
|
||||
/* failed pools or pools without any connection attempts ignored */
|
||||
if (pool->failureState == WORKER_POOL_FAILED ||
|
||||
|
@ -4618,7 +4618,7 @@ PlacementExecutionReady(TaskPlacementExecution *placementExecution)
|
|||
|
||||
/* wake up an idle connection by checking whether the connection is writeable */
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, workerPool->sessionList)
|
||||
foreach_declared_ptr(session, workerPool->sessionList)
|
||||
{
|
||||
MultiConnection *connection = session->connection;
|
||||
RemoteTransaction *transaction = &(connection->remoteTransaction);
|
||||
|
@ -4743,7 +4743,7 @@ BuildWaitEventSet(List *sessionList)
|
|||
CreateWaitEventSet(CurrentMemoryContext, eventSetSize);
|
||||
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, sessionList)
|
||||
foreach_declared_ptr(session, sessionList)
|
||||
{
|
||||
AddSessionToWaitEventSet(session, waitEventSet);
|
||||
}
|
||||
|
@ -4841,7 +4841,7 @@ static void
|
|||
RebuildWaitEventSetFlags(WaitEventSet *waitEventSet, List *sessionList)
|
||||
{
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, sessionList)
|
||||
foreach_declared_ptr(session, sessionList)
|
||||
{
|
||||
MultiConnection *connection = session->connection;
|
||||
int waitEventSetIndex = session->waitEventSetIndex;
|
||||
|
@ -4897,7 +4897,7 @@ CleanUpSessions(DistributedExecution *execution)
|
|||
|
||||
/* always trigger wait event set in the first round */
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, sessionList)
|
||||
foreach_declared_ptr(session, sessionList)
|
||||
{
|
||||
MultiConnection *connection = session->connection;
|
||||
|
||||
|
@ -4978,7 +4978,7 @@ static void
|
|||
UnclaimAllSessionConnections(List *sessionList)
|
||||
{
|
||||
WorkerSession *session = NULL;
|
||||
foreach_ptr(session, sessionList)
|
||||
foreach_declared_ptr(session, sessionList)
|
||||
{
|
||||
MultiConnection *connection = session->connection;
|
||||
|
||||
|
|
|
@ -524,7 +524,7 @@ static bool
|
|||
AnchorShardsInTaskListExist(List *taskList)
|
||||
{
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
if (!ShardExists(task->anchorShardId))
|
||||
{
|
||||
|
|
|
@ -94,7 +94,7 @@ FindExecutableTasks(List *allTasks, HTAB *completedTasks)
|
|||
List *curTasks = NIL;
|
||||
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, allTasks)
|
||||
foreach_declared_ptr(task, allTasks)
|
||||
{
|
||||
if (IsAllDependencyCompleted(task, completedTasks) &&
|
||||
!IsTaskAlreadyCompleted(task, completedTasks))
|
||||
|
@ -118,7 +118,7 @@ RemoveMergeTasks(List *taskList)
|
|||
List *prunedTaskList = NIL;
|
||||
Task *task = NULL;
|
||||
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
if (task->taskType != MERGE_TASK)
|
||||
{
|
||||
|
@ -139,7 +139,7 @@ AddCompletedTasks(List *curCompletedTasks, HTAB *completedTasks)
|
|||
bool found;
|
||||
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, curCompletedTasks)
|
||||
foreach_declared_ptr(task, curCompletedTasks)
|
||||
{
|
||||
TaskHashKey taskKey = { task->jobId, task->taskId };
|
||||
hash_search(completedTasks, &taskKey, HASH_ENTER, &found);
|
||||
|
@ -172,7 +172,7 @@ IsAllDependencyCompleted(Task *targetTask, HTAB *completedTasks)
|
|||
bool found = false;
|
||||
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, targetTask->dependentTaskList)
|
||||
foreach_declared_ptr(task, targetTask->dependentTaskList)
|
||||
{
|
||||
TaskHashKey taskKey = { task->jobId, task->taskId };
|
||||
|
||||
|
|
|
@ -198,7 +198,7 @@ AcquireExecutorShardLocksForExecution(RowModifyLevel modLevel, List *taskList)
|
|||
List *requiresConsistentSnapshotRelationShardList = NIL;
|
||||
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
ShardInterval *anchorShardInterval = LoadShardInterval(task->anchorShardId);
|
||||
anchorShardIntervalList = lappend(anchorShardIntervalList, anchorShardInterval);
|
||||
|
@ -344,7 +344,7 @@ AcquireMetadataLocks(List *taskList)
|
|||
*/
|
||||
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
LockShardDistributionMetadata(task->anchorShardId, ShareLock);
|
||||
}
|
||||
|
@ -379,7 +379,7 @@ AcquireExecutorShardLocksForRelationRowLockList(List *relationRowLockList)
|
|||
* them.
|
||||
*/
|
||||
RelationRowLock *relationRowLock = NULL;
|
||||
foreach_ptr(relationRowLock, relationRowLockList)
|
||||
foreach_declared_ptr(relationRowLock, relationRowLockList)
|
||||
{
|
||||
LockClauseStrength rowLockStrength = relationRowLock->rowLockStrength;
|
||||
Oid relationId = relationRowLock->relationId;
|
||||
|
@ -412,7 +412,7 @@ void
|
|||
LockPartitionsInRelationList(List *relationIdList, LOCKMODE lockmode)
|
||||
{
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, relationIdList)
|
||||
foreach_declared_oid(relationId, relationIdList)
|
||||
{
|
||||
if (PartitionedTable(relationId))
|
||||
{
|
||||
|
@ -437,7 +437,7 @@ LockPartitionRelations(Oid relationId, LOCKMODE lockMode)
|
|||
*/
|
||||
List *partitionList = PartitionList(relationId);
|
||||
Oid partitionRelationId = InvalidOid;
|
||||
foreach_oid(partitionRelationId, partitionList)
|
||||
foreach_declared_oid(partitionRelationId, partitionList)
|
||||
{
|
||||
LockRelationOid(partitionRelationId, lockMode);
|
||||
}
|
||||
|
|
|
@ -206,7 +206,7 @@ WrapTasksForPartitioning(const char *resultIdPrefix, List *selectTaskList,
|
|||
intervalTypeMod);
|
||||
|
||||
Task *selectTask = NULL;
|
||||
foreach_ptr(selectTask, selectTaskList)
|
||||
foreach_declared_ptr(selectTask, selectTaskList)
|
||||
{
|
||||
char *taskPrefix = SourceShardPrefix(resultIdPrefix, selectTask->anchorShardId);
|
||||
char *partitionMethodString = targetRelation->partitionMethod == 'h' ?
|
||||
|
@ -490,7 +490,7 @@ ColocateFragmentsWithRelation(List *fragmentList, CitusTableCacheEntry *targetRe
|
|||
List **shardResultIdList = palloc0(shardCount * sizeof(List *));
|
||||
|
||||
DistributedResultFragment *sourceFragment = NULL;
|
||||
foreach_ptr(sourceFragment, fragmentList)
|
||||
foreach_declared_ptr(sourceFragment, fragmentList)
|
||||
{
|
||||
int shardIndex = sourceFragment->targetShardIndex;
|
||||
|
||||
|
@ -520,11 +520,11 @@ ColocationTransfers(List *fragmentList, CitusTableCacheEntry *targetRelation)
|
|||
HASH_ELEM | HASH_CONTEXT | HASH_BLOBS);
|
||||
|
||||
DistributedResultFragment *fragment = NULL;
|
||||
foreach_ptr(fragment, fragmentList)
|
||||
foreach_declared_ptr(fragment, fragmentList)
|
||||
{
|
||||
List *placementList = ActiveShardPlacementList(fragment->targetShardId);
|
||||
ShardPlacement *placement = NULL;
|
||||
foreach_ptr(placement, placementList)
|
||||
foreach_declared_ptr(placement, placementList)
|
||||
{
|
||||
NodePair transferKey = {
|
||||
.sourceNodeId = fragment->nodeId,
|
||||
|
@ -576,7 +576,7 @@ FragmentTransferTaskList(List *fragmentListTransfers)
|
|||
List *fetchTaskList = NIL;
|
||||
|
||||
NodeToNodeFragmentsTransfer *fragmentsTransfer = NULL;
|
||||
foreach_ptr(fragmentsTransfer, fragmentListTransfers)
|
||||
foreach_declared_ptr(fragmentsTransfer, fragmentListTransfers)
|
||||
{
|
||||
uint32 targetNodeId = fragmentsTransfer->nodes.targetNodeId;
|
||||
|
||||
|
@ -629,7 +629,7 @@ QueryStringForFragmentsTransfer(NodeToNodeFragmentsTransfer *fragmentsTransfer)
|
|||
appendStringInfoString(fragmentNamesArrayString, "ARRAY[");
|
||||
|
||||
DistributedResultFragment *fragment = NULL;
|
||||
foreach_ptr(fragment, fragmentsTransfer->fragmentList)
|
||||
foreach_declared_ptr(fragment, fragmentsTransfer->fragmentList)
|
||||
{
|
||||
const char *fragmentName = fragment->resultId;
|
||||
|
||||
|
|
|
@ -163,7 +163,7 @@ bool
|
|||
TaskListCannotBeExecutedInTransaction(List *taskList)
|
||||
{
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
if (task->cannotBeExecutedInTransction)
|
||||
{
|
||||
|
@ -190,7 +190,7 @@ SelectForUpdateOnReferenceTable(List *taskList)
|
|||
|
||||
Task *task = (Task *) linitial(taskList);
|
||||
RelationRowLock *relationRowLock = NULL;
|
||||
foreach_ptr(relationRowLock, task->relationRowLockList)
|
||||
foreach_declared_ptr(relationRowLock, task->relationRowLockList)
|
||||
{
|
||||
Oid relationId = relationRowLock->relationId;
|
||||
|
||||
|
@ -239,7 +239,7 @@ bool
|
|||
ModifiedTableReplicated(List *taskList)
|
||||
{
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
int64 shardId = task->anchorShardId;
|
||||
|
||||
|
|
|
@ -244,7 +244,7 @@ NonPushableInsertSelectExecScan(CustomScanState *node)
|
|||
* on shards with connections.
|
||||
*/
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
uint64 shardId = task->anchorShardId;
|
||||
bool shardModified = false;
|
||||
|
@ -381,7 +381,7 @@ BuildColumnNameListFromTargetList(Oid targetRelationId, List *insertTargetList)
|
|||
|
||||
/* build the list of column names for the COPY statement */
|
||||
TargetEntry *insertTargetEntry = NULL;
|
||||
foreach_ptr(insertTargetEntry, insertTargetList)
|
||||
foreach_declared_ptr(insertTargetEntry, insertTargetList)
|
||||
{
|
||||
columnNameList = lappend(columnNameList, insertTargetEntry->resname);
|
||||
}
|
||||
|
@ -402,7 +402,7 @@ PartitionColumnIndexFromColumnList(Oid relationId, List *columnNameList)
|
|||
int partitionColumnIndex = 0;
|
||||
|
||||
const char *columnName = NULL;
|
||||
foreach_ptr(columnName, columnNameList)
|
||||
foreach_declared_ptr(columnName, columnNameList)
|
||||
{
|
||||
AttrNumber attrNumber = get_attnum(relationId, columnName);
|
||||
|
||||
|
@ -428,7 +428,7 @@ DistributionColumnIndex(List *insertTargetList, Var *distributionColumn)
|
|||
{
|
||||
TargetEntry *insertTargetEntry = NULL;
|
||||
int targetEntryIndex = 0;
|
||||
foreach_ptr(insertTargetEntry, insertTargetList)
|
||||
foreach_declared_ptr(insertTargetEntry, insertTargetList)
|
||||
{
|
||||
if (insertTargetEntry->resno == distributionColumn->varattno)
|
||||
{
|
||||
|
@ -452,7 +452,7 @@ WrapTaskListForProjection(List *taskList, List *projectedTargetEntries)
|
|||
StringInfo projectedColumnsString = makeStringInfo();
|
||||
int entryIndex = 0;
|
||||
TargetEntry *targetEntry = NULL;
|
||||
foreach_ptr(targetEntry, projectedTargetEntries)
|
||||
foreach_declared_ptr(targetEntry, projectedTargetEntries)
|
||||
{
|
||||
if (entryIndex != 0)
|
||||
{
|
||||
|
@ -467,7 +467,7 @@ WrapTaskListForProjection(List *taskList, List *projectedTargetEntries)
|
|||
}
|
||||
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
StringInfo wrappedQuery = makeStringInfo();
|
||||
appendStringInfo(wrappedQuery, "SELECT %s FROM (%s) subquery",
|
||||
|
|
|
@ -308,7 +308,7 @@ PrepareIntermediateResultBroadcast(RemoteFileDestReceiver *resultDest)
|
|||
}
|
||||
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, initialNodeList)
|
||||
foreach_declared_ptr(workerNode, initialNodeList)
|
||||
{
|
||||
int flags = 0;
|
||||
|
||||
|
@ -328,7 +328,7 @@ PrepareIntermediateResultBroadcast(RemoteFileDestReceiver *resultDest)
|
|||
RemoteTransactionsBeginIfNecessary(connectionList);
|
||||
|
||||
MultiConnection *connection = NULL;
|
||||
foreach_ptr(connection, connectionList)
|
||||
foreach_declared_ptr(connection, connectionList)
|
||||
{
|
||||
StringInfo copyCommand = ConstructCopyResultStatement(resultId);
|
||||
|
||||
|
@ -339,7 +339,7 @@ PrepareIntermediateResultBroadcast(RemoteFileDestReceiver *resultDest)
|
|||
}
|
||||
}
|
||||
|
||||
foreach_ptr(connection, connectionList)
|
||||
foreach_declared_ptr(connection, connectionList)
|
||||
{
|
||||
bool raiseInterrupts = true;
|
||||
|
||||
|
@ -518,7 +518,7 @@ static void
|
|||
BroadcastCopyData(StringInfo dataBuffer, List *connectionList)
|
||||
{
|
||||
MultiConnection *connection = NULL;
|
||||
foreach_ptr(connection, connectionList)
|
||||
foreach_declared_ptr(connection, connectionList)
|
||||
{
|
||||
SendCopyDataOverConnection(dataBuffer, connection);
|
||||
}
|
||||
|
@ -714,7 +714,7 @@ void
|
|||
RemoveIntermediateResultsDirectories(void)
|
||||
{
|
||||
char *directoryElement = NULL;
|
||||
foreach_ptr(directoryElement, CreatedResultsDirectories)
|
||||
foreach_declared_ptr(directoryElement, CreatedResultsDirectories)
|
||||
{
|
||||
/*
|
||||
* The shared directory is renamed before deleting it. Otherwise it
|
||||
|
|
|
@ -253,7 +253,7 @@ ExecuteLocalTaskListExtended(List *taskList,
|
|||
ALLOCSET_DEFAULT_SIZES);
|
||||
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
MemoryContext oldContext = MemoryContextSwitchTo(loopContext);
|
||||
|
||||
|
@ -304,7 +304,7 @@ ExecuteLocalTaskListExtended(List *taskList,
|
|||
LOCKMODE lockMode = GetQueryLockMode(jobQuery);
|
||||
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, localPlan->relationOids)
|
||||
foreach_declared_oid(relationId, localPlan->relationOids)
|
||||
{
|
||||
LockRelationOid(relationId, lockMode);
|
||||
}
|
||||
|
@ -393,7 +393,7 @@ SetColocationIdAndPartitionKeyValueForTasks(List *taskList, Job *workerJob)
|
|||
if (workerJob->colocationId != INVALID_COLOCATION_ID)
|
||||
{
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
task->colocationId = workerJob->colocationId;
|
||||
task->partitionKeyValue = workerJob->partitionKeyValue;
|
||||
|
@ -412,7 +412,7 @@ LocallyPlanAndExecuteMultipleQueries(List *queryStrings, TupleDestination *tuple
|
|||
{
|
||||
char *queryString = NULL;
|
||||
uint64 totalProcessedRows = 0;
|
||||
foreach_ptr(queryString, queryStrings)
|
||||
foreach_declared_ptr(queryString, queryStrings)
|
||||
{
|
||||
Query *shardQuery = ParseQueryString(queryString,
|
||||
NULL,
|
||||
|
@ -490,7 +490,7 @@ ExecuteUtilityCommand(const char *taskQueryCommand)
|
|||
List *parseTreeList = pg_parse_query(taskQueryCommand);
|
||||
RawStmt *taskRawStmt = NULL;
|
||||
|
||||
foreach_ptr(taskRawStmt, parseTreeList)
|
||||
foreach_declared_ptr(taskRawStmt, parseTreeList)
|
||||
{
|
||||
Node *taskRawParseTree = taskRawStmt->stmt;
|
||||
|
||||
|
@ -580,7 +580,7 @@ ExtractLocalAndRemoteTasks(bool readOnly, List *taskList, List **localTaskList,
|
|||
*localTaskList = NIL;
|
||||
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
List *localTaskPlacementList = NULL;
|
||||
List *remoteTaskPlacementList = NULL;
|
||||
|
@ -645,7 +645,7 @@ SplitLocalAndRemotePlacements(List *taskPlacementList, List **localTaskPlacement
|
|||
*remoteTaskPlacementList = NIL;
|
||||
|
||||
ShardPlacement *taskPlacement = NULL;
|
||||
foreach_ptr(taskPlacement, taskPlacementList)
|
||||
foreach_declared_ptr(taskPlacement, taskPlacementList)
|
||||
{
|
||||
if (taskPlacement->groupId == localGroupId)
|
||||
{
|
||||
|
@ -817,7 +817,7 @@ RecordNonDistTableAccessesForTask(Task *task)
|
|||
List *placementAccessList = PlacementAccessListForTask(task, taskPlacement);
|
||||
|
||||
ShardPlacementAccess *placementAccess = NULL;
|
||||
foreach_ptr(placementAccess, placementAccessList)
|
||||
foreach_declared_ptr(placementAccess, placementAccessList)
|
||||
{
|
||||
uint64 placementAccessShardId = placementAccess->placement->shardId;
|
||||
if (placementAccessShardId == INVALID_SHARD_ID)
|
||||
|
@ -968,7 +968,7 @@ AnyTaskAccessesLocalNode(List *taskList)
|
|||
{
|
||||
Task *task = NULL;
|
||||
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
if (TaskAccessesLocalNode(task))
|
||||
{
|
||||
|
@ -990,7 +990,7 @@ TaskAccessesLocalNode(Task *task)
|
|||
int32 localGroupId = GetLocalGroupId();
|
||||
|
||||
ShardPlacement *taskPlacement = NULL;
|
||||
foreach_ptr(taskPlacement, task->taskPlacementList)
|
||||
foreach_declared_ptr(taskPlacement, task->taskPlacementList)
|
||||
{
|
||||
if (taskPlacement->groupId == localGroupId)
|
||||
{
|
||||
|
|
|
@ -258,7 +258,7 @@ ExecuteSourceAtCoordAndRedistribution(CitusScanState *scanState)
|
|||
* on shards with connections.
|
||||
*/
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
uint64 shardId = task->anchorShardId;
|
||||
bool shardModified = false;
|
||||
|
|
|
@ -224,7 +224,7 @@ CitusExecutorRun(QueryDesc *queryDesc,
|
|||
*/
|
||||
List *citusCustomScanStates = FindCitusCustomScanStates(queryDesc->planstate);
|
||||
CitusScanState *citusScanState = NULL;
|
||||
foreach_ptr(citusScanState, citusCustomScanStates)
|
||||
foreach_declared_ptr(citusScanState, citusCustomScanStates)
|
||||
{
|
||||
if (citusScanState->PreExecScan)
|
||||
{
|
||||
|
@ -512,7 +512,7 @@ SortTupleStore(CitusScanState *scanState)
|
|||
* for sorting the tuples.
|
||||
*/
|
||||
TargetEntry *returningEntry = NULL;
|
||||
foreach_ptr(returningEntry, targetList)
|
||||
foreach_declared_ptr(returningEntry, targetList)
|
||||
{
|
||||
Oid sortop = InvalidOid;
|
||||
|
||||
|
|
|
@ -126,7 +126,7 @@ BuildPlacementAccessList(int32 groupId, List *relationShardList,
|
|||
List *placementAccessList = NIL;
|
||||
|
||||
RelationShard *relationShard = NULL;
|
||||
foreach_ptr(relationShard, relationShardList)
|
||||
foreach_declared_ptr(relationShard, relationShardList)
|
||||
{
|
||||
ShardPlacement *placement = ActiveShardPlacementOnGroup(groupId,
|
||||
relationShard->shardId);
|
||||
|
|
|
@ -93,7 +93,7 @@ TraverseJobTree(Job *curJob, List **jobIds)
|
|||
*jobIds = lappend(*jobIds, jobIdPointer);
|
||||
|
||||
Job *childJob = NULL;
|
||||
foreach_ptr(childJob, curJob->dependentJobList)
|
||||
foreach_declared_ptr(childJob, curJob->dependentJobList)
|
||||
{
|
||||
TraverseJobTree(childJob, jobIds);
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@ ExecuteSubPlans(DistributedPlan *distributedPlan)
|
|||
UseCoordinatedTransaction();
|
||||
|
||||
DistributedSubPlan *subPlan = NULL;
|
||||
foreach_ptr(subPlan, subPlanList)
|
||||
foreach_declared_ptr(subPlan, subPlanList)
|
||||
{
|
||||
PlannedStmt *plannedStmt = subPlan->plan;
|
||||
uint32 subPlanId = subPlan->subPlanId;
|
||||
|
|
|
@ -207,7 +207,7 @@ GetUniqueDependenciesList(List *objectAddressesList)
|
|||
InitObjectAddressCollector(&objectAddressCollector);
|
||||
|
||||
ObjectAddress *objectAddress = NULL;
|
||||
foreach_ptr(objectAddress, objectAddressesList)
|
||||
foreach_declared_ptr(objectAddress, objectAddressesList)
|
||||
{
|
||||
if (IsObjectAddressCollected(*objectAddress, &objectAddressCollector))
|
||||
{
|
||||
|
@ -334,7 +334,7 @@ OrderObjectAddressListInDependencyOrder(List *objectAddressList)
|
|||
InitObjectAddressCollector(&collector);
|
||||
|
||||
ObjectAddress *objectAddress = NULL;
|
||||
foreach_ptr(objectAddress, objectAddressList)
|
||||
foreach_declared_ptr(objectAddress, objectAddressList)
|
||||
{
|
||||
if (IsObjectAddressCollected(*objectAddress, &collector))
|
||||
{
|
||||
|
@ -403,7 +403,7 @@ RecurseObjectDependencies(ObjectAddress target, expandFn expand, followFn follow
|
|||
|
||||
/* iterate all entries and recurse depth first */
|
||||
DependencyDefinition *dependencyDefinition = NULL;
|
||||
foreach_ptr(dependencyDefinition, dependenyDefinitionList)
|
||||
foreach_declared_ptr(dependencyDefinition, dependenyDefinitionList)
|
||||
{
|
||||
if (follow == NULL || !follow(collector, dependencyDefinition))
|
||||
{
|
||||
|
@ -870,7 +870,7 @@ bool
|
|||
ErrorOrWarnIfAnyObjectHasUnsupportedDependency(List *objectAddresses)
|
||||
{
|
||||
ObjectAddress *objectAddress = NULL;
|
||||
foreach_ptr(objectAddress, objectAddresses)
|
||||
foreach_declared_ptr(objectAddress, objectAddresses)
|
||||
{
|
||||
if (ErrorOrWarnIfObjectHasUnsupportedDependency(objectAddress))
|
||||
{
|
||||
|
@ -963,7 +963,7 @@ DeferErrorIfAnyObjectHasUnsupportedDependency(const List *objectAddresses)
|
|||
{
|
||||
DeferredErrorMessage *deferredErrorMessage = NULL;
|
||||
ObjectAddress *objectAddress = NULL;
|
||||
foreach_ptr(objectAddress, objectAddresses)
|
||||
foreach_declared_ptr(objectAddress, objectAddresses)
|
||||
{
|
||||
deferredErrorMessage = DeferErrorIfHasUnsupportedDependency(objectAddress);
|
||||
if (deferredErrorMessage)
|
||||
|
@ -996,7 +996,7 @@ GetUndistributableDependency(const ObjectAddress *objectAddress)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
foreach_ptr(dependency, dependencies)
|
||||
foreach_declared_ptr(dependency, dependencies)
|
||||
{
|
||||
/*
|
||||
* Objects with the id smaller than FirstNormalObjectId should be created within
|
||||
|
@ -1173,7 +1173,7 @@ IsAnyObjectAddressOwnedByExtension(const List *targets,
|
|||
ObjectAddress *extensionAddress)
|
||||
{
|
||||
ObjectAddress *target = NULL;
|
||||
foreach_ptr(target, targets)
|
||||
foreach_declared_ptr(target, targets)
|
||||
{
|
||||
if (IsObjectAddressOwnedByExtension(target, extensionAddress))
|
||||
{
|
||||
|
@ -1564,7 +1564,7 @@ ExpandCitusSupportedTypes(ObjectAddressCollector *collector, ObjectAddress targe
|
|||
List *FDWOids = GetDependentFDWsToExtension(extensionId);
|
||||
|
||||
Oid FDWOid = InvalidOid;
|
||||
foreach_oid(FDWOid, FDWOids)
|
||||
foreach_declared_oid(FDWOid, FDWOids)
|
||||
{
|
||||
List *dependentRoleIds = GetDependentRoleIdsFDW(FDWOid);
|
||||
List *dependencies =
|
||||
|
@ -1850,7 +1850,7 @@ GetViewRuleReferenceDependencyList(Oid viewId)
|
|||
List *nonInternalDependenciesOfDependingRules = NIL;
|
||||
|
||||
HeapTuple depTup = NULL;
|
||||
foreach_ptr(depTup, dependencyTupleList)
|
||||
foreach_declared_ptr(depTup, dependencyTupleList)
|
||||
{
|
||||
Form_pg_depend pg_depend = (Form_pg_depend) GETSTRUCT(depTup);
|
||||
|
||||
|
@ -1873,7 +1873,7 @@ GetViewRuleReferenceDependencyList(Oid viewId)
|
|||
List *ruleDependencies = DependencyDefinitionFromPgDepend(ruleAddress);
|
||||
|
||||
DependencyDefinition *dependencyDef = NULL;
|
||||
foreach_ptr(dependencyDef, ruleDependencies)
|
||||
foreach_declared_ptr(dependencyDef, ruleDependencies)
|
||||
{
|
||||
/*
|
||||
* Follow all dependencies of the internally dependent rule dependencies
|
||||
|
@ -1908,7 +1908,7 @@ GetRelationSequenceDependencyList(Oid relationId)
|
|||
|
||||
List *seqIdList = NIL;
|
||||
SequenceInfo *seqInfo = NULL;
|
||||
foreach_ptr(seqInfo, seqInfoList)
|
||||
foreach_declared_ptr(seqInfo, seqInfoList)
|
||||
{
|
||||
seqIdList = lappend_oid(seqIdList, seqInfo->sequenceOid);
|
||||
}
|
||||
|
@ -1981,7 +1981,7 @@ GetRelationTriggerFunctionDependencyList(Oid relationId)
|
|||
|
||||
List *triggerIdList = GetExplicitTriggerIdList(relationId);
|
||||
Oid triggerId = InvalidOid;
|
||||
foreach_oid(triggerId, triggerIdList)
|
||||
foreach_declared_oid(triggerId, triggerIdList)
|
||||
{
|
||||
Oid functionId = GetTriggerFunctionId(triggerId);
|
||||
DependencyDefinition *dependency =
|
||||
|
@ -2006,7 +2006,7 @@ GetPublicationRelationsDependencyList(Oid publicationId)
|
|||
|
||||
Oid relationId = InvalidOid;
|
||||
|
||||
foreach_oid(relationId, allRelationIds)
|
||||
foreach_declared_oid(relationId, allRelationIds)
|
||||
{
|
||||
if (!IsCitusTable(relationId))
|
||||
{
|
||||
|
@ -2088,7 +2088,7 @@ CreateObjectAddressDependencyDefList(Oid classId, List *objectIdList)
|
|||
{
|
||||
List *dependencyList = NIL;
|
||||
Oid objectId = InvalidOid;
|
||||
foreach_oid(objectId, objectIdList)
|
||||
foreach_declared_oid(objectId, objectIdList)
|
||||
{
|
||||
DependencyDefinition *dependency =
|
||||
CreateObjectAddressDependencyDef(classId, objectId);
|
||||
|
@ -2162,7 +2162,7 @@ BuildViewDependencyGraph(Oid relationId, HTAB *nodeMap)
|
|||
targetObjectId);
|
||||
|
||||
HeapTuple depTup = NULL;
|
||||
foreach_ptr(depTup, dependencyTupleList)
|
||||
foreach_declared_ptr(depTup, dependencyTupleList)
|
||||
{
|
||||
Form_pg_depend pg_depend = (Form_pg_depend) GETSTRUCT(depTup);
|
||||
|
||||
|
@ -2241,7 +2241,7 @@ GetDependingViews(Oid relationId)
|
|||
foreach_ptr_append(node, nodeQueue)
|
||||
{
|
||||
ViewDependencyNode *dependingNode = NULL;
|
||||
foreach_ptr(dependingNode, node->dependingNodes)
|
||||
foreach_declared_ptr(dependingNode, node->dependingNodes)
|
||||
{
|
||||
ObjectAddress relationAddress = { 0 };
|
||||
ObjectAddressSet(relationAddress, RelationRelationId, dependingNode->id);
|
||||
|
|
|
@ -433,7 +433,7 @@ bool
|
|||
IsAnyObjectDistributed(const List *addresses)
|
||||
{
|
||||
ObjectAddress *address = NULL;
|
||||
foreach_ptr(address, addresses)
|
||||
foreach_declared_ptr(address, addresses)
|
||||
{
|
||||
if (IsObjectDistributed(address))
|
||||
{
|
||||
|
|
|
@ -919,7 +919,7 @@ CitusTableList(void)
|
|||
List *citusTableIdList = CitusTableTypeIdList(ANY_CITUS_TABLE_TYPE);
|
||||
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, citusTableIdList)
|
||||
foreach_declared_oid(relationId, citusTableIdList)
|
||||
{
|
||||
CitusTableCacheEntry *cacheEntry = GetCitusTableCacheEntry(relationId);
|
||||
|
||||
|
@ -1890,7 +1890,7 @@ BuildCachedShardList(CitusTableCacheEntry *cacheEntry)
|
|||
sizeof(int));
|
||||
|
||||
HeapTuple shardTuple = NULL;
|
||||
foreach_ptr(shardTuple, distShardTupleList)
|
||||
foreach_declared_ptr(shardTuple, distShardTupleList)
|
||||
{
|
||||
ShardInterval *shardInterval = TupleToShardInterval(shardTuple,
|
||||
distShardTupleDesc,
|
||||
|
@ -2028,7 +2028,7 @@ BuildCachedShardList(CitusTableCacheEntry *cacheEntry)
|
|||
GroupShardPlacement *placementArray = palloc0(numberOfPlacements *
|
||||
sizeof(GroupShardPlacement));
|
||||
GroupShardPlacement *srcPlacement = NULL;
|
||||
foreach_ptr(srcPlacement, placementList)
|
||||
foreach_declared_ptr(srcPlacement, placementList)
|
||||
{
|
||||
placementArray[placementOffset] = *srcPlacement;
|
||||
placementOffset++;
|
||||
|
@ -4332,7 +4332,7 @@ InitializeWorkerNodeCache(void)
|
|||
|
||||
/* iterate over the worker node list */
|
||||
WorkerNode *currentNode = NULL;
|
||||
foreach_ptr(currentNode, workerNodeList)
|
||||
foreach_declared_ptr(currentNode, workerNodeList)
|
||||
{
|
||||
bool handleFound = false;
|
||||
|
||||
|
@ -4509,7 +4509,7 @@ GetLocalNodeId(void)
|
|||
List *workerNodeList = ReadDistNode(includeNodesFromOtherClusters);
|
||||
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
if (workerNode->groupId == localGroupId &&
|
||||
workerNode->isActive)
|
||||
|
@ -5097,7 +5097,7 @@ CitusTableCacheFlushInvalidatedEntries()
|
|||
if (DistTableCacheHash != NULL && DistTableCacheExpired != NIL)
|
||||
{
|
||||
CitusTableCacheEntry *cacheEntry = NULL;
|
||||
foreach_ptr(cacheEntry, DistTableCacheExpired)
|
||||
foreach_declared_ptr(cacheEntry, DistTableCacheExpired)
|
||||
{
|
||||
ResetCitusTableCacheEntry(cacheEntry);
|
||||
}
|
||||
|
|
|
@ -301,7 +301,7 @@ CreateDependingViewsOnWorkers(Oid relationId)
|
|||
SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION);
|
||||
|
||||
Oid viewOid = InvalidOid;
|
||||
foreach_oid(viewOid, views)
|
||||
foreach_declared_oid(viewOid, views)
|
||||
{
|
||||
if (!ShouldMarkRelationDistributed(viewOid))
|
||||
{
|
||||
|
@ -341,7 +341,7 @@ AddTableToPublications(Oid relationId)
|
|||
|
||||
SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION);
|
||||
|
||||
foreach_oid(publicationId, publicationIds)
|
||||
foreach_declared_oid(publicationId, publicationIds)
|
||||
{
|
||||
ObjectAddress *publicationAddress = palloc0(sizeof(ObjectAddress));
|
||||
ObjectAddressSet(*publicationAddress, PublicationRelationId, publicationId);
|
||||
|
@ -824,7 +824,7 @@ NodeListInsertCommand(List *workerNodeList)
|
|||
|
||||
/* iterate over the worker nodes, add the values */
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
char *hasMetadataString = workerNode->hasMetadata ? "TRUE" : "FALSE";
|
||||
char *metadataSyncedString = workerNode->metadataSynced ? "TRUE" : "FALSE";
|
||||
|
@ -935,7 +935,7 @@ MarkObjectsDistributedCreateCommand(List *addresses,
|
|||
|
||||
char *name = NULL;
|
||||
bool firstInNameLoop = true;
|
||||
foreach_ptr(name, names)
|
||||
foreach_declared_ptr(name, names)
|
||||
{
|
||||
if (!firstInNameLoop)
|
||||
{
|
||||
|
@ -950,7 +950,7 @@ MarkObjectsDistributedCreateCommand(List *addresses,
|
|||
|
||||
char *arg;
|
||||
bool firstInArgLoop = true;
|
||||
foreach_ptr(arg, args)
|
||||
foreach_declared_ptr(arg, args)
|
||||
{
|
||||
if (!firstInArgLoop)
|
||||
{
|
||||
|
@ -1206,13 +1206,13 @@ ShardListInsertCommand(List *shardIntervalList)
|
|||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
bool firstPlacementProcessed = false;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
List *shardPlacementList = ActiveShardPlacementList(shardId);
|
||||
|
||||
ShardPlacement *placement = NULL;
|
||||
foreach_ptr(placement, shardPlacementList)
|
||||
foreach_declared_ptr(placement, shardPlacementList)
|
||||
{
|
||||
if (firstPlacementProcessed)
|
||||
{
|
||||
|
@ -1246,7 +1246,7 @@ ShardListInsertCommand(List *shardIntervalList)
|
|||
"WITH shard_data(relationname, shardid, storagetype, "
|
||||
"shardminvalue, shardmaxvalue) AS (VALUES ");
|
||||
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
Oid distributedRelationId = shardInterval->relationId;
|
||||
|
@ -1683,7 +1683,7 @@ GetDependentRelationsWithSequence(Oid sequenceOid, char depType)
|
|||
Oid attrDefOid;
|
||||
List *attrDefOids = GetAttrDefsFromSequence(sequenceOid);
|
||||
|
||||
foreach_oid(attrDefOid, attrDefOids)
|
||||
foreach_declared_oid(attrDefOid, attrDefOids)
|
||||
{
|
||||
ObjectAddress columnAddress = GetAttrDefaultColumnAddress(attrDefOid);
|
||||
relations = lappend_oid(relations, columnAddress.objectId);
|
||||
|
@ -1879,7 +1879,7 @@ GetDependentFunctionsWithRelation(Oid relationId)
|
|||
table_close(depRel, AccessShareLock);
|
||||
|
||||
ObjectAddress *referencingObject = NULL;
|
||||
foreach_ptr(referencingObject, referencingObjects)
|
||||
foreach_declared_ptr(referencingObject, referencingObjects)
|
||||
{
|
||||
functionOids = list_concat(functionOids,
|
||||
GetFunctionDependenciesForObjects(referencingObject));
|
||||
|
@ -2669,7 +2669,7 @@ HasMetadataWorkers(void)
|
|||
List *workerNodeList = ActiveReadableNonCoordinatorNodeList();
|
||||
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
if (workerNode->hasMetadata)
|
||||
{
|
||||
|
@ -2702,7 +2702,7 @@ CreateInterTableRelationshipOfRelationOnWorkers(Oid relationId)
|
|||
SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION);
|
||||
|
||||
const char *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
SendCommandToWorkersWithMetadata(command);
|
||||
}
|
||||
|
@ -2755,14 +2755,14 @@ CreateShellTableOnWorkers(Oid relationId)
|
|||
creatingShellTableOnRemoteNode);
|
||||
|
||||
TableDDLCommand *tableDDLCommand = NULL;
|
||||
foreach_ptr(tableDDLCommand, tableDDLCommands)
|
||||
foreach_declared_ptr(tableDDLCommand, tableDDLCommands)
|
||||
{
|
||||
Assert(CitusIsA(tableDDLCommand, TableDDLCommand));
|
||||
commandList = lappend(commandList, GetTableDDLCommand(tableDDLCommand));
|
||||
}
|
||||
|
||||
const char *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
SendCommandToWorkersWithMetadata(command);
|
||||
}
|
||||
|
@ -2786,7 +2786,7 @@ CreateTableMetadataOnWorkers(Oid relationId)
|
|||
|
||||
/* send the commands one by one */
|
||||
const char *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
SendCommandToWorkersWithMetadata(command);
|
||||
}
|
||||
|
@ -2810,7 +2810,7 @@ DetachPartitionCommandList(void)
|
|||
|
||||
/* we iterate over all distributed partitioned tables and DETACH their partitions */
|
||||
CitusTableCacheEntry *cacheEntry = NULL;
|
||||
foreach_ptr(cacheEntry, distributedTableList)
|
||||
foreach_declared_ptr(cacheEntry, distributedTableList)
|
||||
{
|
||||
if (!PartitionedTable(cacheEntry->relationId))
|
||||
{
|
||||
|
@ -2874,7 +2874,7 @@ SyncNodeMetadataToNodesOptional(void)
|
|||
List *syncedWorkerList = NIL;
|
||||
List *workerList = ActivePrimaryNonCoordinatorNodeList(NoLock);
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerList)
|
||||
foreach_declared_ptr(workerNode, workerList)
|
||||
{
|
||||
if (workerNode->hasMetadata && !workerNode->metadataSynced)
|
||||
{
|
||||
|
@ -2894,7 +2894,7 @@ SyncNodeMetadataToNodesOptional(void)
|
|||
}
|
||||
}
|
||||
|
||||
foreach_ptr(workerNode, syncedWorkerList)
|
||||
foreach_declared_ptr(workerNode, syncedWorkerList)
|
||||
{
|
||||
SetWorkerColumnOptional(workerNode, Anum_pg_dist_node_metadatasynced,
|
||||
BoolGetDatum(true));
|
||||
|
@ -2939,7 +2939,7 @@ SyncNodeMetadataToNodes(void)
|
|||
|
||||
List *workerList = ActivePrimaryNonCoordinatorNodeList(NoLock);
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerList)
|
||||
foreach_declared_ptr(workerNode, workerList)
|
||||
{
|
||||
if (workerNode->hasMetadata)
|
||||
{
|
||||
|
@ -3178,7 +3178,7 @@ ShouldInitiateMetadataSync(bool *lockFailure)
|
|||
|
||||
List *workerList = ActivePrimaryNonCoordinatorNodeList(NoLock);
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerList)
|
||||
foreach_declared_ptr(workerNode, workerList)
|
||||
{
|
||||
if (workerNode->hasMetadata && !workerNode->metadataSynced)
|
||||
{
|
||||
|
@ -3542,7 +3542,7 @@ EnsureShardMetadataIsSane(Oid relationId, int64 shardId, char storageType,
|
|||
GetFunctionInfo(intervalTypeId, BTREE_AM_OID, BTORDER_PROC);
|
||||
|
||||
HeapTuple shardTuple = NULL;
|
||||
foreach_ptr(shardTuple, distShardTupleList)
|
||||
foreach_declared_ptr(shardTuple, distShardTupleList)
|
||||
{
|
||||
ShardInterval *shardInterval =
|
||||
TupleToShardInterval(shardTuple, distShardTupleDesc,
|
||||
|
@ -3838,7 +3838,7 @@ citus_internal_delete_shard_metadata(PG_FUNCTION_ARGS)
|
|||
|
||||
List *shardPlacementList = ShardPlacementList(shardId);
|
||||
ShardPlacement *shardPlacement = NULL;
|
||||
foreach_ptr(shardPlacement, shardPlacementList)
|
||||
foreach_declared_ptr(shardPlacement, shardPlacementList)
|
||||
{
|
||||
DeleteShardPlacementRow(shardPlacement->placementId);
|
||||
}
|
||||
|
@ -4343,7 +4343,7 @@ SetMetadataSyncNodesFromNodeList(MetadataSyncContext *context, List *nodeList)
|
|||
List *activatedWorkerNodeList = NIL;
|
||||
|
||||
WorkerNode *node = NULL;
|
||||
foreach_ptr(node, nodeList)
|
||||
foreach_declared_ptr(node, nodeList)
|
||||
{
|
||||
if (NodeIsPrimary(node))
|
||||
{
|
||||
|
@ -4378,7 +4378,7 @@ EstablishAndSetMetadataSyncBareConnections(MetadataSyncContext *context)
|
|||
/* establish bare connections to activated worker nodes */
|
||||
List *bareConnectionList = NIL;
|
||||
WorkerNode *node = NULL;
|
||||
foreach_ptr(node, context->activatedWorkerNodeList)
|
||||
foreach_declared_ptr(node, context->activatedWorkerNodeList)
|
||||
{
|
||||
MultiConnection *connection = GetNodeUserDatabaseConnection(connectionFlags,
|
||||
node->workerName,
|
||||
|
@ -4987,7 +4987,7 @@ SendDependencyCreationCommands(MetadataSyncContext *context)
|
|||
ALLOCSET_DEFAULT_SIZES);
|
||||
MemoryContextSwitchTo(commandsContext);
|
||||
ObjectAddress *dependency = NULL;
|
||||
foreach_ptr(dependency, dependencies)
|
||||
foreach_declared_ptr(dependency, dependencies)
|
||||
{
|
||||
if (!MetadataSyncCollectsCommands(context))
|
||||
{
|
||||
|
|
|
@ -415,7 +415,7 @@ OpenConnectionToNodes(List *workerNodeList)
|
|||
{
|
||||
List *connectionList = NIL;
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
const char *nodeName = workerNode->workerName;
|
||||
int nodePort = workerNode->workerPort;
|
||||
|
@ -439,7 +439,7 @@ GenerateShardStatisticsQueryList(List *workerNodeList, List *citusTableIds)
|
|||
{
|
||||
List *shardStatisticsQueryList = NIL;
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
char *shardStatisticsQuery =
|
||||
GenerateAllShardStatisticsQueryForNode(workerNode, citusTableIds);
|
||||
|
@ -460,7 +460,7 @@ ReceiveShardIdAndSizeResults(List *connectionList, Tuplestorestate *tupleStore,
|
|||
TupleDesc tupleDescriptor)
|
||||
{
|
||||
MultiConnection *connection = NULL;
|
||||
foreach_ptr(connection, connectionList)
|
||||
foreach_declared_ptr(connection, connectionList)
|
||||
{
|
||||
bool raiseInterrupts = true;
|
||||
Datum values[SHARD_SIZES_COLUMN_COUNT];
|
||||
|
@ -551,7 +551,7 @@ DistributedTableSize(Oid relationId, SizeQueryType sizeQueryType, bool failOnErr
|
|||
|
||||
List *workerNodeList = ActiveReadableNodeList();
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
uint64 relationSizeOnNode = 0;
|
||||
|
||||
|
@ -754,7 +754,7 @@ GenerateSizeQueryOnMultiplePlacements(List *shardIntervalList,
|
|||
List *nonPartitionedShardNames = NIL;
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
if (optimizePartitionCalculations && PartitionTable(shardInterval->relationId))
|
||||
{
|
||||
|
@ -829,7 +829,7 @@ GenerateSizeQueryForRelationNameList(List *quotedShardNames, char *sizeFunction)
|
|||
|
||||
bool addComma = false;
|
||||
char *quotedShardName = NULL;
|
||||
foreach_ptr(quotedShardName, quotedShardNames)
|
||||
foreach_declared_ptr(quotedShardName, quotedShardNames)
|
||||
{
|
||||
if (addComma)
|
||||
{
|
||||
|
@ -930,7 +930,7 @@ GenerateAllShardStatisticsQueryForNode(WorkerNode *workerNode, List *citusTableI
|
|||
appendStringInfoString(allShardStatisticsQuery, " FROM (VALUES ");
|
||||
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, citusTableIds)
|
||||
foreach_declared_oid(relationId, citusTableIds)
|
||||
{
|
||||
/*
|
||||
* Ensure the table still exists by trying to acquire a lock on it
|
||||
|
@ -977,7 +977,7 @@ GenerateShardIdNameValuesForShardList(List *shardIntervalList, bool firstValue)
|
|||
StringInfo selectQuery = makeStringInfo();
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
if (!firstValue)
|
||||
{
|
||||
|
@ -1096,7 +1096,7 @@ TableShardReplicationFactor(Oid relationId)
|
|||
|
||||
List *shardIntervalList = LoadShardIntervalList(relationId);
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
|
||||
|
@ -1187,7 +1187,7 @@ LoadUnsortedShardIntervalListViaCatalog(Oid relationId)
|
|||
&intervalTypeMod);
|
||||
|
||||
HeapTuple distShardTuple = NULL;
|
||||
foreach_ptr(distShardTuple, distShardTuples)
|
||||
foreach_declared_ptr(distShardTuple, distShardTuples)
|
||||
{
|
||||
ShardInterval *interval = TupleToShardInterval(distShardTuple,
|
||||
distShardTupleDesc,
|
||||
|
@ -1436,7 +1436,7 @@ FilterShardPlacementList(List *shardPlacementList, bool (*filter)(ShardPlacement
|
|||
List *filteredShardPlacementList = NIL;
|
||||
ShardPlacement *shardPlacement = NULL;
|
||||
|
||||
foreach_ptr(shardPlacement, shardPlacementList)
|
||||
foreach_declared_ptr(shardPlacement, shardPlacementList)
|
||||
{
|
||||
if (filter(shardPlacement))
|
||||
{
|
||||
|
@ -1460,7 +1460,7 @@ FilterActiveShardPlacementListByNode(List *shardPlacementList, WorkerNode *worke
|
|||
List *filteredShardPlacementList = NIL;
|
||||
ShardPlacement *shardPlacement = NULL;
|
||||
|
||||
foreach_ptr(shardPlacement, activeShardPlacementList)
|
||||
foreach_declared_ptr(shardPlacement, activeShardPlacementList)
|
||||
{
|
||||
if (IsPlacementOnWorkerNode(shardPlacement, workerNode))
|
||||
{
|
||||
|
@ -1484,7 +1484,7 @@ ActiveShardPlacementListOnGroup(uint64 shardId, int32 groupId)
|
|||
|
||||
List *activePlacementList = ActiveShardPlacementList(shardId);
|
||||
ShardPlacement *shardPlacement = NULL;
|
||||
foreach_ptr(shardPlacement, activePlacementList)
|
||||
foreach_declared_ptr(shardPlacement, activePlacementList)
|
||||
{
|
||||
if (shardPlacement->groupId == groupId)
|
||||
{
|
||||
|
@ -3280,7 +3280,7 @@ ResetRunningBackgroundTasks(void)
|
|||
|
||||
/* there are tasks that need to release their lock before we can continue */
|
||||
int64 *taskId = NULL;
|
||||
foreach_ptr(taskId, taskIdsToWait)
|
||||
foreach_declared_ptr(taskId, taskIdsToWait)
|
||||
{
|
||||
LOCKTAG locktag = { 0 };
|
||||
SET_LOCKTAG_BACKGROUND_TASK(locktag, *taskId);
|
||||
|
|
|
@ -987,7 +987,7 @@ MarkNodesNotSyncedInLoopBackConnection(MetadataSyncContext *context,
|
|||
|
||||
List *commandList = NIL;
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, context->activatedWorkerNodeList)
|
||||
foreach_declared_ptr(workerNode, context->activatedWorkerNodeList)
|
||||
{
|
||||
/*
|
||||
* We need to prevent self deadlock when we access pg_dist_node using separate
|
||||
|
@ -1020,7 +1020,7 @@ SetNodeMetadata(MetadataSyncContext *context, bool localOnly)
|
|||
List *updatedActivatedNodeList = NIL;
|
||||
|
||||
WorkerNode *node = NULL;
|
||||
foreach_ptr(node, context->activatedWorkerNodeList)
|
||||
foreach_declared_ptr(node, context->activatedWorkerNodeList)
|
||||
{
|
||||
node = SetWorkerColumnLocalOnly(node, Anum_pg_dist_node_isactive,
|
||||
BoolGetDatum(true));
|
||||
|
@ -1039,7 +1039,7 @@ SetNodeMetadata(MetadataSyncContext *context, bool localOnly)
|
|||
if (!localOnly && EnableMetadataSync)
|
||||
{
|
||||
WorkerNode *node = NULL;
|
||||
foreach_ptr(node, context->activatedWorkerNodeList)
|
||||
foreach_declared_ptr(node, context->activatedWorkerNodeList)
|
||||
{
|
||||
SetNodeStateViaMetadataContext(context, node, BoolGetDatum(true));
|
||||
}
|
||||
|
@ -1835,7 +1835,7 @@ FindNodeAnyClusterByNodeId(uint32 nodeId)
|
|||
List *nodeList = ReadDistNode(includeNodesFromOtherClusters);
|
||||
WorkerNode *node = NULL;
|
||||
|
||||
foreach_ptr(node, nodeList)
|
||||
foreach_declared_ptr(node, nodeList)
|
||||
{
|
||||
if (node->nodeId == nodeId)
|
||||
{
|
||||
|
@ -1857,7 +1857,7 @@ FindNodeWithNodeId(int nodeId, bool missingOk)
|
|||
List *nodeList = ActiveReadableNodeList();
|
||||
WorkerNode *node = NULL;
|
||||
|
||||
foreach_ptr(node, nodeList)
|
||||
foreach_declared_ptr(node, nodeList)
|
||||
{
|
||||
if (node->nodeId == nodeId)
|
||||
{
|
||||
|
@ -1885,7 +1885,7 @@ FindCoordinatorNodeId()
|
|||
List *nodeList = ReadDistNode(includeNodesFromOtherClusters);
|
||||
WorkerNode *node = NULL;
|
||||
|
||||
foreach_ptr(node, nodeList)
|
||||
foreach_declared_ptr(node, nodeList)
|
||||
{
|
||||
if (NodeIsCoordinator(node))
|
||||
{
|
||||
|
@ -2015,7 +2015,7 @@ ErrorIfNodeContainsNonRemovablePlacements(WorkerNode *workerNode)
|
|||
shardPlacements = SortList(shardPlacements, CompareGroupShardPlacements);
|
||||
|
||||
GroupShardPlacement *placement = NULL;
|
||||
foreach_ptr(placement, shardPlacements)
|
||||
foreach_declared_ptr(placement, shardPlacements)
|
||||
{
|
||||
if (!PlacementHasActivePlacementOnAnotherGroup(placement))
|
||||
{
|
||||
|
@ -2051,7 +2051,7 @@ PlacementHasActivePlacementOnAnotherGroup(GroupShardPlacement *sourcePlacement)
|
|||
|
||||
bool foundActivePlacementOnAnotherGroup = false;
|
||||
ShardPlacement *activePlacement = NULL;
|
||||
foreach_ptr(activePlacement, activePlacementList)
|
||||
foreach_declared_ptr(activePlacement, activePlacementList)
|
||||
{
|
||||
if (activePlacement->groupId != sourcePlacement->groupId)
|
||||
{
|
||||
|
@ -2402,7 +2402,7 @@ SetWorkerColumnOptional(WorkerNode *workerNode, int columnIndex, Datum value)
|
|||
|
||||
/* open connections in parallel */
|
||||
WorkerNode *worker = NULL;
|
||||
foreach_ptr(worker, workerNodeList)
|
||||
foreach_declared_ptr(worker, workerNodeList)
|
||||
{
|
||||
bool success = SendOptionalMetadataCommandListToWorkerInCoordinatedTransaction(
|
||||
worker->workerName, worker->workerPort,
|
||||
|
@ -3104,7 +3104,7 @@ static void
|
|||
ErrorIfAnyNodeNotExist(List *nodeList)
|
||||
{
|
||||
WorkerNode *node = NULL;
|
||||
foreach_ptr(node, nodeList)
|
||||
foreach_declared_ptr(node, nodeList)
|
||||
{
|
||||
/*
|
||||
* First, locally mark the node is active, if everything goes well,
|
||||
|
@ -3153,7 +3153,7 @@ static void
|
|||
SendDeletionCommandsForReplicatedTablePlacements(MetadataSyncContext *context)
|
||||
{
|
||||
WorkerNode *node = NULL;
|
||||
foreach_ptr(node, context->activatedWorkerNodeList)
|
||||
foreach_declared_ptr(node, context->activatedWorkerNodeList)
|
||||
{
|
||||
if (!node->isActive)
|
||||
{
|
||||
|
|
|
@ -122,7 +122,7 @@ OpenConnectionsToAllWorkerNodes(LOCKMODE lockMode)
|
|||
List *workerNodeList = ActivePrimaryNonCoordinatorNodeList(lockMode);
|
||||
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
MultiConnection *connection = StartNodeConnection(connectionFlags,
|
||||
workerNode->workerName,
|
||||
|
@ -164,7 +164,7 @@ CreateRemoteRestorePoints(char *restoreName, List *connectionList)
|
|||
const char *parameterValues[1] = { restoreName };
|
||||
|
||||
MultiConnection *connection = NULL;
|
||||
foreach_ptr(connection, connectionList)
|
||||
foreach_declared_ptr(connection, connectionList)
|
||||
{
|
||||
int querySent = SendRemoteCommandParams(connection, CREATE_RESTORE_POINT_COMMAND,
|
||||
parameterCount, parameterTypes,
|
||||
|
@ -175,7 +175,7 @@ CreateRemoteRestorePoints(char *restoreName, List *connectionList)
|
|||
}
|
||||
}
|
||||
|
||||
foreach_ptr(connection, connectionList)
|
||||
foreach_declared_ptr(connection, connectionList)
|
||||
{
|
||||
PGresult *result = GetRemoteCommandResult(connection, true);
|
||||
if (!IsResponseOK(result))
|
||||
|
|
|
@ -207,7 +207,7 @@ CreateShardsWithRoundRobinPolicy(Oid distributedTableId, int32 shardCount,
|
|||
* each placement insertion.
|
||||
*/
|
||||
uint64 *shardIdPtr;
|
||||
foreach_ptr(shardIdPtr, insertedShardIds)
|
||||
foreach_declared_ptr(shardIdPtr, insertedShardIds)
|
||||
{
|
||||
List *placementsForShard = ShardPlacementList(*shardIdPtr);
|
||||
insertedShardPlacements = list_concat(insertedShardPlacements,
|
||||
|
@ -265,7 +265,7 @@ CreateColocatedShards(Oid targetRelationId, Oid sourceRelationId, bool
|
|||
char targetShardStorageType = ShardStorageType(targetRelationId);
|
||||
|
||||
ShardInterval *sourceShardInterval = NULL;
|
||||
foreach_ptr(sourceShardInterval, sourceShardIntervalList)
|
||||
foreach_declared_ptr(sourceShardInterval, sourceShardIntervalList)
|
||||
{
|
||||
uint64 sourceShardId = sourceShardInterval->shardId;
|
||||
uint64 *newShardIdPtr = (uint64 *) palloc0(sizeof(uint64));
|
||||
|
@ -293,7 +293,7 @@ CreateColocatedShards(Oid targetRelationId, Oid sourceRelationId, bool
|
|||
shardMinValueText, shardMaxValueText);
|
||||
|
||||
ShardPlacement *sourcePlacement = NULL;
|
||||
foreach_ptr(sourcePlacement, sourceShardPlacementList)
|
||||
foreach_declared_ptr(sourcePlacement, sourceShardPlacementList)
|
||||
{
|
||||
int32 groupId = sourcePlacement->groupId;
|
||||
const uint64 shardSize = 0;
|
||||
|
@ -311,7 +311,7 @@ CreateColocatedShards(Oid targetRelationId, Oid sourceRelationId, bool
|
|||
* each placement insertion.
|
||||
*/
|
||||
uint64 *shardIdPtr;
|
||||
foreach_ptr(shardIdPtr, insertedShardIds)
|
||||
foreach_declared_ptr(shardIdPtr, insertedShardIds)
|
||||
{
|
||||
List *placementsForShard = ShardPlacementList(*shardIdPtr);
|
||||
insertedShardPlacements = list_concat(insertedShardPlacements,
|
||||
|
|
|
@ -250,12 +250,12 @@ DropShards(Oid relationId, char *schemaName, char *relationName,
|
|||
bool shouldExecuteTasksLocally = ShouldExecuteTasksLocally(dropTaskList);
|
||||
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, dropTaskList)
|
||||
foreach_declared_ptr(task, dropTaskList)
|
||||
{
|
||||
uint64 shardId = task->anchorShardId;
|
||||
|
||||
ShardPlacement *shardPlacement = NULL;
|
||||
foreach_ptr(shardPlacement, task->taskPlacementList)
|
||||
foreach_declared_ptr(shardPlacement, task->taskPlacementList)
|
||||
{
|
||||
uint64 shardPlacementId = shardPlacement->placementId;
|
||||
int32 shardPlacementGroupId = shardPlacement->groupId;
|
||||
|
@ -350,7 +350,7 @@ DropTaskList(Oid relationId, char *schemaName, char *relationName,
|
|||
int taskId = 1;
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, deletableShardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, deletableShardIntervalList)
|
||||
{
|
||||
Assert(shardInterval->relationId == relationId);
|
||||
|
||||
|
|
|
@ -119,11 +119,11 @@ StoreAllConnectivityChecks(Tuplestorestate *tupleStore, TupleDesc tupleDescripto
|
|||
|
||||
/*
|
||||
* We iterate over the workerNodeList twice, for source and target worker nodes. This
|
||||
* operation is safe for foreach_ptr macro, as long as we use different variables for
|
||||
* operation is safe for foreach_declared_ptr macro, as long as we use different variables for
|
||||
* each iteration.
|
||||
*/
|
||||
WorkerNode *sourceWorkerNode = NULL;
|
||||
foreach_ptr(sourceWorkerNode, workerNodeList)
|
||||
foreach_declared_ptr(sourceWorkerNode, workerNodeList)
|
||||
{
|
||||
const char *sourceNodeName = sourceWorkerNode->workerName;
|
||||
const int sourceNodePort = sourceWorkerNode->workerPort;
|
||||
|
@ -135,7 +135,7 @@ StoreAllConnectivityChecks(Tuplestorestate *tupleStore, TupleDesc tupleDescripto
|
|||
|
||||
/* the second iteration over workerNodeList for the target worker nodes. */
|
||||
WorkerNode *targetWorkerNode = NULL;
|
||||
foreach_ptr(targetWorkerNode, workerNodeList)
|
||||
foreach_declared_ptr(targetWorkerNode, workerNodeList)
|
||||
{
|
||||
const char *targetNodeName = targetWorkerNode->workerName;
|
||||
const int targetNodePort = targetWorkerNode->workerPort;
|
||||
|
|
|
@ -645,7 +645,7 @@ GetPreLoadTableCreationCommands(Oid relationId,
|
|||
if (tableACLList != NIL)
|
||||
{
|
||||
char *tableACLCommand = NULL;
|
||||
foreach_ptr(tableACLCommand, tableACLList)
|
||||
foreach_declared_ptr(tableACLCommand, tableACLList)
|
||||
{
|
||||
tableDDLEventList = lappend(tableDDLEventList,
|
||||
makeTableDDLCommandString(tableACLCommand));
|
||||
|
@ -822,7 +822,7 @@ GetTableRowLevelSecurityCommands(Oid relationId)
|
|||
List *rowLevelSecurityEnableCommands = pg_get_row_level_security_commands(relationId);
|
||||
|
||||
char *rowLevelSecurityCommand = NULL;
|
||||
foreach_ptr(rowLevelSecurityCommand, rowLevelSecurityEnableCommands)
|
||||
foreach_declared_ptr(rowLevelSecurityCommand, rowLevelSecurityEnableCommands)
|
||||
{
|
||||
rowLevelSecurityCommandList = lappend(
|
||||
rowLevelSecurityCommandList,
|
||||
|
|
|
@ -63,7 +63,7 @@ NoneDistTableReplicateCoordinatorPlacement(Oid noneDistTableId,
|
|||
/* insert new placements to pg_dist_placement */
|
||||
List *insertedPlacementList = NIL;
|
||||
WorkerNode *targetNode = NULL;
|
||||
foreach_ptr(targetNode, targetNodeList)
|
||||
foreach_declared_ptr(targetNode, targetNodeList)
|
||||
{
|
||||
ShardPlacement *shardPlacement =
|
||||
InsertShardPlacementRowGlobally(shardId, GetNextPlacementId(),
|
||||
|
@ -215,7 +215,7 @@ CreateForeignKeysFromReferenceTablesOnShards(Oid noneDistTableId)
|
|||
List *taskList = NIL;
|
||||
|
||||
char *command = NULL;
|
||||
foreach_ptr(command, ddlCommandList)
|
||||
foreach_declared_ptr(command, ddlCommandList)
|
||||
{
|
||||
List *commandTaskList = InterShardDDLTaskList(
|
||||
ForeignConstraintGetReferencingTableId(command),
|
||||
|
|
|
@ -264,7 +264,7 @@ DropOrphanedResourcesForCleanup()
|
|||
int failedResourceCountForCleanup = 0;
|
||||
CleanupRecord *record = NULL;
|
||||
|
||||
foreach_ptr(record, cleanupRecordList)
|
||||
foreach_declared_ptr(record, cleanupRecordList)
|
||||
{
|
||||
if (!PrimaryNodeForGroup(record->nodeGroupId, NULL))
|
||||
{
|
||||
|
@ -374,7 +374,7 @@ FinalizeOperationNeedingCleanupOnSuccess(const char *operationName)
|
|||
int failedShardCountOnComplete = 0;
|
||||
|
||||
CleanupRecord *record = NULL;
|
||||
foreach_ptr(record, currentOperationRecordList)
|
||||
foreach_declared_ptr(record, currentOperationRecordList)
|
||||
{
|
||||
if (record->policy == CLEANUP_ALWAYS)
|
||||
{
|
||||
|
|
|
@ -357,7 +357,7 @@ CheckRebalanceStateInvariants(const RebalanceState *state)
|
|||
|
||||
Assert(state != NULL);
|
||||
Assert(list_length(state->fillStateListAsc) == list_length(state->fillStateListDesc));
|
||||
foreach_ptr(fillState, state->fillStateListAsc)
|
||||
foreach_declared_ptr(fillState, state->fillStateListAsc)
|
||||
{
|
||||
float4 totalCost = 0;
|
||||
ShardCost *shardCost = NULL;
|
||||
|
@ -376,7 +376,7 @@ CheckRebalanceStateInvariants(const RebalanceState *state)
|
|||
fillState);
|
||||
|
||||
|
||||
foreach_ptr(shardCost, fillState->shardCostListDesc)
|
||||
foreach_declared_ptr(shardCost, fillState->shardCostListDesc)
|
||||
{
|
||||
if (prevShardCost != NULL)
|
||||
{
|
||||
|
@ -520,7 +520,7 @@ GetRebalanceSteps(RebalanceOptions *options)
|
|||
List *activeWorkerList = SortedActiveWorkers();
|
||||
int shardAllowedNodeCount = 0;
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, activeWorkerList)
|
||||
foreach_declared_ptr(workerNode, activeWorkerList)
|
||||
{
|
||||
if (workerNode->shouldHaveShards)
|
||||
{
|
||||
|
@ -539,7 +539,7 @@ GetRebalanceSteps(RebalanceOptions *options)
|
|||
List *unbalancedShards = NIL;
|
||||
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, options->relationIdList)
|
||||
foreach_declared_oid(relationId, options->relationIdList)
|
||||
{
|
||||
List *shardPlacementList = FullShardPlacementList(relationId,
|
||||
options->excludedShardArray);
|
||||
|
@ -1335,7 +1335,7 @@ get_rebalance_progress(PG_FUNCTION_ARGS)
|
|||
&segmentList);
|
||||
|
||||
ProgressMonitorData *monitor = NULL;
|
||||
foreach_ptr(monitor, rebalanceMonitorList)
|
||||
foreach_declared_ptr(monitor, rebalanceMonitorList)
|
||||
{
|
||||
PlacementUpdateEventProgress *placementUpdateEvents = ProgressMonitorSteps(
|
||||
monitor);
|
||||
|
@ -1846,7 +1846,7 @@ NonColocatedDistRelationIdList(void)
|
|||
|
||||
HTAB *alreadySelectedColocationIds = hash_create("RebalanceColocationIdSet",
|
||||
capacity, &info, flags);
|
||||
foreach_oid(tableId, allCitusTablesList)
|
||||
foreach_declared_oid(tableId, allCitusTablesList)
|
||||
{
|
||||
bool foundInSet = false;
|
||||
CitusTableCacheEntry *citusTableCacheEntry = GetCitusTableCacheEntry(
|
||||
|
@ -1912,7 +1912,7 @@ RebalanceTableShards(RebalanceOptions *options, Oid shardReplicationModeOid)
|
|||
* is required for logical replication to replicate UPDATE and DELETE commands.
|
||||
*/
|
||||
PlacementUpdateEvent *placementUpdate = NULL;
|
||||
foreach_ptr(placementUpdate, placementUpdateList)
|
||||
foreach_declared_ptr(placementUpdate, placementUpdateList)
|
||||
{
|
||||
Oid relationId = RelationIdForShard(placementUpdate->shardId);
|
||||
List *colocatedTableList = ColocatedTableList(relationId);
|
||||
|
@ -1947,7 +1947,7 @@ static void
|
|||
ErrorOnConcurrentRebalance(RebalanceOptions *options)
|
||||
{
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, options->relationIdList)
|
||||
foreach_declared_oid(relationId, options->relationIdList)
|
||||
{
|
||||
/* this provides the legacy error when the lock can't be acquired */
|
||||
AcquireRebalanceColocationLock(relationId, options->operationName);
|
||||
|
@ -2038,7 +2038,7 @@ GenerateTaskMoveDependencyList(PlacementUpdateEvent *move, int64 colocationId,
|
|||
if (found)
|
||||
{
|
||||
int64 *taskId = NULL;
|
||||
foreach_ptr(taskId, shardMoveSourceNodeHashEntry->taskIds)
|
||||
foreach_declared_ptr(taskId, shardMoveSourceNodeHashEntry->taskIds)
|
||||
{
|
||||
hash_search(dependsList, taskId, HASH_ENTER, NULL);
|
||||
}
|
||||
|
@ -2122,13 +2122,13 @@ RebalanceTableShardsBackground(RebalanceOptions *options, Oid shardReplicationMo
|
|||
const char shardTransferMode = LookupShardTransferMode(shardReplicationModeOid);
|
||||
List *colocatedTableList = NIL;
|
||||
Oid relationId = InvalidOid;
|
||||
foreach_oid(relationId, options->relationIdList)
|
||||
foreach_declared_oid(relationId, options->relationIdList)
|
||||
{
|
||||
colocatedTableList = list_concat(colocatedTableList,
|
||||
ColocatedTableList(relationId));
|
||||
}
|
||||
Oid colocatedTableId = InvalidOid;
|
||||
foreach_oid(colocatedTableId, colocatedTableList)
|
||||
foreach_declared_oid(colocatedTableId, colocatedTableList)
|
||||
{
|
||||
EnsureTableOwner(colocatedTableId);
|
||||
}
|
||||
|
@ -2150,7 +2150,7 @@ RebalanceTableShardsBackground(RebalanceOptions *options, Oid shardReplicationMo
|
|||
* is required for logical replication to replicate UPDATE and DELETE commands.
|
||||
*/
|
||||
PlacementUpdateEvent *placementUpdate = NULL;
|
||||
foreach_ptr(placementUpdate, placementUpdateList)
|
||||
foreach_declared_ptr(placementUpdate, placementUpdateList)
|
||||
{
|
||||
relationId = RelationIdForShard(placementUpdate->shardId);
|
||||
List *colocatedTables = ColocatedTableList(relationId);
|
||||
|
@ -2203,7 +2203,7 @@ RebalanceTableShardsBackground(RebalanceOptions *options, Oid shardReplicationMo
|
|||
|
||||
ShardMoveDependencies shardMoveDependencies = InitializeShardMoveDependencies();
|
||||
|
||||
foreach_ptr(move, placementUpdateList)
|
||||
foreach_declared_ptr(move, placementUpdateList)
|
||||
{
|
||||
resetStringInfo(&buf);
|
||||
|
||||
|
@ -2360,7 +2360,7 @@ ExecuteRebalancerCommandInSeparateTransaction(char *command)
|
|||
List *setCommands = GetSetCommandListForNewConnections();
|
||||
char *setCommand = NULL;
|
||||
|
||||
foreach_ptr(setCommand, setCommands)
|
||||
foreach_declared_ptr(setCommand, setCommands)
|
||||
{
|
||||
commandList = lappend(commandList, setCommand);
|
||||
}
|
||||
|
@ -2428,14 +2428,14 @@ RebalancePlacementUpdates(List *workerNodeList, List *activeShardPlacementListLi
|
|||
List *shardPlacementList = NIL;
|
||||
List *placementUpdateList = NIL;
|
||||
|
||||
foreach_ptr(shardPlacementList, activeShardPlacementListList)
|
||||
foreach_declared_ptr(shardPlacementList, activeShardPlacementListList)
|
||||
{
|
||||
state = InitRebalanceState(workerNodeList, shardPlacementList,
|
||||
functions);
|
||||
rebalanceStates = lappend(rebalanceStates, state);
|
||||
}
|
||||
|
||||
foreach_ptr(state, rebalanceStates)
|
||||
foreach_declared_ptr(state, rebalanceStates)
|
||||
{
|
||||
state->placementUpdateList = placementUpdateList;
|
||||
MoveShardsAwayFromDisallowedNodes(state);
|
||||
|
@ -2444,7 +2444,7 @@ RebalancePlacementUpdates(List *workerNodeList, List *activeShardPlacementListLi
|
|||
|
||||
if (!drainOnly)
|
||||
{
|
||||
foreach_ptr(state, rebalanceStates)
|
||||
foreach_declared_ptr(state, rebalanceStates)
|
||||
{
|
||||
state->placementUpdateList = placementUpdateList;
|
||||
|
||||
|
@ -2476,13 +2476,13 @@ RebalancePlacementUpdates(List *workerNodeList, List *activeShardPlacementListLi
|
|||
}
|
||||
}
|
||||
|
||||
foreach_ptr(state, rebalanceStates)
|
||||
foreach_declared_ptr(state, rebalanceStates)
|
||||
{
|
||||
hash_destroy(state->placementsHash);
|
||||
}
|
||||
|
||||
int64 ignoredMoves = 0;
|
||||
foreach_ptr(state, rebalanceStates)
|
||||
foreach_declared_ptr(state, rebalanceStates)
|
||||
{
|
||||
ignoredMoves += state->ignoredMoves;
|
||||
}
|
||||
|
@ -2537,7 +2537,7 @@ InitRebalanceState(List *workerNodeList, List *shardPlacementList,
|
|||
state->placementsHash = ShardPlacementsListToHash(shardPlacementList);
|
||||
|
||||
/* create empty fill state for all of the worker nodes */
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
NodeFillState *fillState = palloc0(sizeof(NodeFillState));
|
||||
fillState->node = workerNode;
|
||||
|
@ -2620,7 +2620,7 @@ FindFillStateForPlacement(RebalanceState *state, ShardPlacement *placement)
|
|||
NodeFillState *fillState = NULL;
|
||||
|
||||
/* Find the correct fill state to add the placement to and do that */
|
||||
foreach_ptr(fillState, state->fillStateListAsc)
|
||||
foreach_declared_ptr(fillState, state->fillStateListAsc)
|
||||
{
|
||||
if (IsPlacementOnWorkerNode(placement, fillState->node))
|
||||
{
|
||||
|
@ -2732,7 +2732,7 @@ MoveShardsAwayFromDisallowedNodes(RebalanceState *state)
|
|||
CompareDisallowedPlacementDesc);
|
||||
|
||||
/* Move shards off of nodes they are not allowed on */
|
||||
foreach_ptr(disallowedPlacement, state->disallowedPlacementList)
|
||||
foreach_declared_ptr(disallowedPlacement, state->disallowedPlacementList)
|
||||
{
|
||||
NodeFillState *targetFillState = FindAllowedTargetFillState(
|
||||
state, disallowedPlacement->shardCost->shardId);
|
||||
|
@ -2787,7 +2787,7 @@ static NodeFillState *
|
|||
FindAllowedTargetFillState(RebalanceState *state, uint64 shardId)
|
||||
{
|
||||
NodeFillState *targetFillState = NULL;
|
||||
foreach_ptr(targetFillState, state->fillStateListAsc)
|
||||
foreach_declared_ptr(targetFillState, state->fillStateListAsc)
|
||||
{
|
||||
bool hasShard = PlacementsHashFind(
|
||||
state->placementsHash,
|
||||
|
@ -2913,7 +2913,7 @@ FindAndMoveShardCost(float4 utilizationLowerBound,
|
|||
* find a source node for the move, starting at the node with the highest
|
||||
* utilization
|
||||
*/
|
||||
foreach_ptr(sourceFillState, state->fillStateListDesc)
|
||||
foreach_declared_ptr(sourceFillState, state->fillStateListDesc)
|
||||
{
|
||||
/* Don't move shards away from nodes that are already too empty, we're
|
||||
* done searching */
|
||||
|
@ -2924,7 +2924,7 @@ FindAndMoveShardCost(float4 utilizationLowerBound,
|
|||
|
||||
/* find a target node for the move, starting at the node with the
|
||||
* lowest utilization */
|
||||
foreach_ptr(targetFillState, state->fillStateListAsc)
|
||||
foreach_declared_ptr(targetFillState, state->fillStateListAsc)
|
||||
{
|
||||
ShardCost *shardCost = NULL;
|
||||
|
||||
|
@ -2947,7 +2947,7 @@ FindAndMoveShardCost(float4 utilizationLowerBound,
|
|||
|
||||
/* find a shardcost that can be moved between between nodes that
|
||||
* makes the cost distribution more equal */
|
||||
foreach_ptr(shardCost, sourceFillState->shardCostListDesc)
|
||||
foreach_declared_ptr(shardCost, sourceFillState->shardCostListDesc)
|
||||
{
|
||||
bool targetHasShard = PlacementsHashFind(state->placementsHash,
|
||||
shardCost->shardId,
|
||||
|
|
|
@ -302,7 +302,7 @@ ErrorIfCannotSplitShardExtended(SplitOperation splitOperation,
|
|||
|
||||
NullableDatum lastShardSplitPoint = { 0, true /*isnull*/ };
|
||||
Datum shardSplitPoint;
|
||||
foreach_int(shardSplitPoint, shardSplitPointsList)
|
||||
foreach_declared_int(shardSplitPoint, shardSplitPointsList)
|
||||
{
|
||||
int32 shardSplitPointValue = DatumGetInt32(shardSplitPoint);
|
||||
|
||||
|
@ -399,7 +399,7 @@ GetWorkerNodesFromWorkerIds(List *nodeIdsForPlacementList)
|
|||
{
|
||||
List *workersForPlacementList = NIL;
|
||||
int32 nodeId;
|
||||
foreach_int(nodeId, nodeIdsForPlacementList)
|
||||
foreach_declared_int(nodeId, nodeIdsForPlacementList)
|
||||
{
|
||||
uint32 nodeIdValue = (uint32) nodeId;
|
||||
WorkerNode *workerNode = LookupNodeByNodeId(nodeIdValue);
|
||||
|
@ -464,7 +464,7 @@ SplitShard(SplitMode splitMode,
|
|||
/* sort the tables to avoid deadlocks */
|
||||
colocatedTableList = SortList(colocatedTableList, CompareOids);
|
||||
Oid colocatedTableId = InvalidOid;
|
||||
foreach_oid(colocatedTableId, colocatedTableList)
|
||||
foreach_declared_oid(colocatedTableId, colocatedTableList)
|
||||
{
|
||||
/*
|
||||
* Block concurrent DDL / TRUNCATE commands on the relation. Similarly,
|
||||
|
@ -694,7 +694,7 @@ CreateSplitShardsForShardGroup(List *shardGroupSplitIntervalListList,
|
|||
* Iterate over all the shards in the shard group.
|
||||
*/
|
||||
List *shardIntervalList = NIL;
|
||||
foreach_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
foreach_declared_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
{
|
||||
ShardInterval *shardInterval = NULL;
|
||||
WorkerNode *workerPlacementNode = NULL;
|
||||
|
@ -778,7 +778,7 @@ CreateAuxiliaryStructuresForShardGroup(List *shardGroupSplitIntervalListList,
|
|||
/*
|
||||
* Iterate over all the shards in the shard group.
|
||||
*/
|
||||
foreach_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
foreach_declared_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
{
|
||||
ShardInterval *shardInterval = NULL;
|
||||
WorkerNode *workerPlacementNode = NULL;
|
||||
|
@ -1029,7 +1029,7 @@ CreateSplitIntervalsForShardGroup(List *sourceColocatedShardIntervalList,
|
|||
List *shardGroupSplitIntervalListList = NIL;
|
||||
|
||||
ShardInterval *shardToSplitInterval = NULL;
|
||||
foreach_ptr(shardToSplitInterval, sourceColocatedShardIntervalList)
|
||||
foreach_declared_ptr(shardToSplitInterval, sourceColocatedShardIntervalList)
|
||||
{
|
||||
List *shardSplitIntervalList = NIL;
|
||||
CreateSplitIntervalsForShard(shardToSplitInterval, splitPointsForShard,
|
||||
|
@ -1121,7 +1121,7 @@ UpdateDistributionColumnsForShardGroup(List *colocatedShardList,
|
|||
uint32 colocationId)
|
||||
{
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, colocatedShardList)
|
||||
foreach_declared_ptr(shardInterval, colocatedShardList)
|
||||
{
|
||||
Oid relationId = shardInterval->relationId;
|
||||
Var *distributionColumn = GetDistributionColumnFromMap(distributionColumnMap,
|
||||
|
@ -1162,7 +1162,7 @@ InsertSplitChildrenShardMetadata(List *shardGroupSplitIntervalListList,
|
|||
/*
|
||||
* Iterate over all the shards in the shard group.
|
||||
*/
|
||||
foreach_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
foreach_declared_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
{
|
||||
/*
|
||||
* Iterate on split shards list for a given shard and insert metadata.
|
||||
|
@ -1195,7 +1195,7 @@ InsertSplitChildrenShardMetadata(List *shardGroupSplitIntervalListList,
|
|||
/* send commands to synced nodes one by one */
|
||||
List *splitOffShardMetadataCommandList = ShardListInsertCommand(syncedShardList);
|
||||
char *command = NULL;
|
||||
foreach_ptr(command, splitOffShardMetadataCommandList)
|
||||
foreach_declared_ptr(command, splitOffShardMetadataCommandList)
|
||||
{
|
||||
SendCommandToWorkersWithMetadata(command);
|
||||
}
|
||||
|
@ -1216,7 +1216,7 @@ CreatePartitioningHierarchyForBlockingSplit(List *shardGroupSplitIntervalListLis
|
|||
/*
|
||||
* Iterate over all the shards in the shard group.
|
||||
*/
|
||||
foreach_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
foreach_declared_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
{
|
||||
ShardInterval *shardInterval = NULL;
|
||||
WorkerNode *workerPlacementNode = NULL;
|
||||
|
@ -1255,7 +1255,7 @@ CreateForeignKeyConstraints(List *shardGroupSplitIntervalListList,
|
|||
/*
|
||||
* Iterate over all the shards in the shard group.
|
||||
*/
|
||||
foreach_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
foreach_declared_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
{
|
||||
ShardInterval *shardInterval = NULL;
|
||||
WorkerNode *workerPlacementNode = NULL;
|
||||
|
@ -1281,7 +1281,7 @@ CreateForeignKeyConstraints(List *shardGroupSplitIntervalListList,
|
|||
referenceTableForeignConstraintList);
|
||||
|
||||
char *constraintCommand = NULL;
|
||||
foreach_ptr(constraintCommand, constraintCommandList)
|
||||
foreach_declared_ptr(constraintCommand, constraintCommandList)
|
||||
{
|
||||
SendCommandToWorker(
|
||||
workerPlacementNode->workerName,
|
||||
|
@ -1685,7 +1685,7 @@ CreateDummyShardsForShardGroup(HTAB *mapOfPlacementToDummyShardList,
|
|||
}
|
||||
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, sourceColocatedShardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, sourceColocatedShardIntervalList)
|
||||
{
|
||||
/* Populate list of commands necessary to create shard interval on destination */
|
||||
List *splitShardCreationCommandList = GetPreLoadTableCreationCommands(
|
||||
|
@ -1739,7 +1739,7 @@ CreateDummyShardsForShardGroup(HTAB *mapOfPlacementToDummyShardList,
|
|||
* If the target shard was created on source node as placement, skip it (See Note 2 from function description).
|
||||
*/
|
||||
List *shardIntervalList = NULL;
|
||||
foreach_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
foreach_declared_ptr(shardIntervalList, shardGroupSplitIntervalListList)
|
||||
{
|
||||
ShardInterval *shardInterval = NULL;
|
||||
workerPlacementNode = NULL;
|
||||
|
@ -1818,7 +1818,7 @@ CreateWorkerForPlacementSet(List *workersForPlacementList)
|
|||
hashFlags);
|
||||
|
||||
WorkerNode *workerForPlacement = NULL;
|
||||
foreach_ptr(workerForPlacement, workersForPlacementList)
|
||||
foreach_declared_ptr(workerForPlacement, workersForPlacementList)
|
||||
{
|
||||
void *hashKey = (void *) workerForPlacement;
|
||||
hash_search(workerForPlacementSet, hashKey, HASH_ENTER, NULL);
|
||||
|
|
|
@ -492,7 +492,7 @@ TransferShards(int64 shardId, char *sourceNodeName,
|
|||
DropOrphanedResourcesInSeparateTransaction();
|
||||
|
||||
ShardInterval *colocatedShard = NULL;
|
||||
foreach_ptr(colocatedShard, colocatedShardList)
|
||||
foreach_declared_ptr(colocatedShard, colocatedShardList)
|
||||
{
|
||||
/*
|
||||
* This is to prevent any race condition possibility among the shard moves.
|
||||
|
@ -519,7 +519,7 @@ TransferShards(int64 shardId, char *sourceNodeName,
|
|||
* metadata workers.
|
||||
*/
|
||||
colocatedShard = NULL;
|
||||
foreach_ptr(colocatedShard, colocatedShardList)
|
||||
foreach_declared_ptr(colocatedShard, colocatedShardList)
|
||||
{
|
||||
uint64 colocatedShardId = colocatedShard->shardId;
|
||||
uint32 groupId = GroupForNode(targetNodeName, targetNodePort);
|
||||
|
@ -612,7 +612,7 @@ InsertCleanupRecordsForShardPlacementsOnNode(List *shardIntervalList,
|
|||
int32 groupId)
|
||||
{
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
/* get shard name */
|
||||
char *qualifiedShardName = ConstructQualifiedShardName(shardInterval);
|
||||
|
@ -649,7 +649,7 @@ IsShardListOnNode(List *colocatedShardList, char *targetNodeName, uint32 targetN
|
|||
* We exhaustively search all co-located shards
|
||||
*/
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, colocatedShardList)
|
||||
foreach_declared_ptr(shardInterval, colocatedShardList)
|
||||
{
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
List *placementList = ActiveShardPlacementListOnGroup(shardId,
|
||||
|
@ -672,7 +672,7 @@ static void
|
|||
LockColocatedRelationsForMove(List *colocatedTableList)
|
||||
{
|
||||
Oid colocatedTableId = InvalidOid;
|
||||
foreach_oid(colocatedTableId, colocatedTableList)
|
||||
foreach_declared_oid(colocatedTableId, colocatedTableList)
|
||||
{
|
||||
LockRelationOid(colocatedTableId, ShareUpdateExclusiveLock);
|
||||
}
|
||||
|
@ -688,7 +688,7 @@ ErrorIfForeignTableForShardTransfer(List *colocatedTableList,
|
|||
ShardTransferType transferType)
|
||||
{
|
||||
Oid colocatedTableId = InvalidOid;
|
||||
foreach_oid(colocatedTableId, colocatedTableList)
|
||||
foreach_declared_oid(colocatedTableId, colocatedTableList)
|
||||
{
|
||||
if (IsForeignTable(colocatedTableId))
|
||||
{
|
||||
|
@ -714,7 +714,7 @@ EnsureAllShardsCanBeCopied(List *colocatedShardList,
|
|||
char *targetNodeName, uint32 targetNodePort)
|
||||
{
|
||||
ShardInterval *colocatedShard = NULL;
|
||||
foreach_ptr(colocatedShard, colocatedShardList)
|
||||
foreach_declared_ptr(colocatedShard, colocatedShardList)
|
||||
{
|
||||
uint64 colocatedShardId = colocatedShard->shardId;
|
||||
|
||||
|
@ -1109,7 +1109,7 @@ void
|
|||
BlockWritesToShardList(List *shardList)
|
||||
{
|
||||
ShardInterval *shard = NULL;
|
||||
foreach_ptr(shard, shardList)
|
||||
foreach_declared_ptr(shard, shardList)
|
||||
{
|
||||
/*
|
||||
* We need to lock the referenced reference table metadata to avoid
|
||||
|
@ -1280,7 +1280,7 @@ static void
|
|||
EnsureTableListOwner(List *tableIdList)
|
||||
{
|
||||
Oid tableId = InvalidOid;
|
||||
foreach_oid(tableId, tableIdList)
|
||||
foreach_declared_oid(tableId, tableIdList)
|
||||
{
|
||||
EnsureTableOwner(tableId);
|
||||
}
|
||||
|
@ -1295,7 +1295,7 @@ static void
|
|||
ErrorIfReplicatingDistributedTableWithFKeys(List *tableIdList)
|
||||
{
|
||||
Oid tableId = InvalidOid;
|
||||
foreach_oid(tableId, tableIdList)
|
||||
foreach_declared_oid(tableId, tableIdList)
|
||||
{
|
||||
List *foreignConstraintCommandList =
|
||||
GetReferencingForeignConstaintCommands(tableId);
|
||||
|
@ -1366,7 +1366,7 @@ CopyShardTablesViaLogicalReplication(List *shardIntervalList, char *sourceNodeNa
|
|||
* target node. We do not create the indexes yet.
|
||||
*/
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
Oid relationId = shardInterval->relationId;
|
||||
uint64 shardId = shardInterval->shardId;
|
||||
|
@ -1433,7 +1433,7 @@ CopyShardTablesViaBlockWrites(List *shardIntervalList, char *sourceNodeName,
|
|||
|
||||
/* iterate through the colocated shards and copy each */
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
/*
|
||||
* For each shard we first create the shard table in a separate
|
||||
|
@ -1475,7 +1475,7 @@ CopyShardTablesViaBlockWrites(List *shardIntervalList, char *sourceNodeName,
|
|||
sourceNodePort,
|
||||
PLACEMENT_UPDATE_STATUS_CREATING_CONSTRAINTS);
|
||||
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
List *ddlCommandList =
|
||||
PostLoadShardCreationCommandList(shardInterval, sourceNodeName,
|
||||
|
@ -1492,7 +1492,7 @@ CopyShardTablesViaBlockWrites(List *shardIntervalList, char *sourceNodeName,
|
|||
* Create DDL commands to Attach child tables to their parents in a partitioning hierarchy.
|
||||
*/
|
||||
List *shardIntervalWithDDCommandsList = NIL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
if (PartitionTable(shardInterval->relationId))
|
||||
{
|
||||
|
@ -1517,7 +1517,7 @@ CopyShardTablesViaBlockWrites(List *shardIntervalList, char *sourceNodeName,
|
|||
* Iterate through the colocated shards and create DDL commamnds
|
||||
* to create the foreign constraints.
|
||||
*/
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
List *shardForeignConstraintCommandList = NIL;
|
||||
List *referenceTableForeignConstraintList = NIL;
|
||||
|
@ -1536,7 +1536,7 @@ CopyShardTablesViaBlockWrites(List *shardIntervalList, char *sourceNodeName,
|
|||
|
||||
/* Now execute the Partitioning & Foreign constraints creation commads. */
|
||||
ShardCommandList *shardCommandList = NULL;
|
||||
foreach_ptr(shardCommandList, shardIntervalWithDDCommandsList)
|
||||
foreach_declared_ptr(shardCommandList, shardIntervalWithDDCommandsList)
|
||||
{
|
||||
char *tableOwner = TableOwner(shardCommandList->shardInterval->relationId);
|
||||
SendCommandListToWorkerOutsideTransaction(targetNodeName, targetNodePort,
|
||||
|
@ -1566,7 +1566,7 @@ CopyShardsToNode(WorkerNode *sourceNode, WorkerNode *targetNode, List *shardInte
|
|||
int taskId = 0;
|
||||
List *copyTaskList = NIL;
|
||||
ShardInterval *shardInterval = NULL;
|
||||
foreach_ptr(shardInterval, shardIntervalList)
|
||||
foreach_declared_ptr(shardInterval, shardIntervalList)
|
||||
{
|
||||
/*
|
||||
* Skip copying data for partitioned tables, because they contain no
|
||||
|
@ -1699,7 +1699,7 @@ SearchShardPlacementInList(List *shardPlacementList, const char *nodeName,
|
|||
uint32 nodePort)
|
||||
{
|
||||
ShardPlacement *shardPlacement = NULL;
|
||||
foreach_ptr(shardPlacement, shardPlacementList)
|
||||
foreach_declared_ptr(shardPlacement, shardPlacementList)
|
||||
{
|
||||
if (strncmp(nodeName, shardPlacement->nodeName, MAX_NODE_LENGTH) == 0 &&
|
||||
nodePort == shardPlacement->nodePort)
|
||||
|
@ -1820,7 +1820,7 @@ CopyShardForeignConstraintCommandListGrouped(ShardInterval *shardInterval,
|
|||
*referenceTableForeignConstraintList = NIL;
|
||||
|
||||
const char *command = NULL;
|
||||
foreach_ptr(command, commandList)
|
||||
foreach_declared_ptr(command, commandList)
|
||||
{
|
||||
char *escapedCommand = quote_literal_cstr(command);
|
||||
|
||||
|
@ -1989,7 +1989,7 @@ DropShardPlacementsFromMetadata(List *shardList,
|
|||
char *nodeName, int32 nodePort)
|
||||
{
|
||||
ShardInterval *shardInverval = NULL;
|
||||
foreach_ptr(shardInverval, shardList)
|
||||
foreach_declared_ptr(shardInverval, shardList)
|
||||
{
|
||||
uint64 shardId = shardInverval->shardId;
|
||||
List *shardPlacementList = ShardPlacementList(shardId);
|
||||
|
@ -2053,7 +2053,7 @@ WorkerApplyShardDDLCommandList(List *ddlCommandList, int64 shardId)
|
|||
List *applyDDLCommandList = NIL;
|
||||
|
||||
TableDDLCommand *ddlCommand = NULL;
|
||||
foreach_ptr(ddlCommand, ddlCommandList)
|
||||
foreach_declared_ptr(ddlCommand, ddlCommandList)
|
||||
{
|
||||
Assert(CitusIsA(ddlCommand, TableDDLCommand));
|
||||
char *applyDDLCommand = GetShardedTableDDLCommand(ddlCommand, shardId, NULL);
|
||||
|
@ -2087,7 +2087,7 @@ UpdatePlacementUpdateStatusForShardIntervalList(List *shardIntervalList,
|
|||
}
|
||||
|
||||
ProgressMonitorData *monitor = NULL;
|
||||
foreach_ptr(monitor, rebalanceMonitorList)
|
||||
foreach_declared_ptr(monitor, rebalanceMonitorList)
|
||||
{
|
||||
PlacementUpdateEventProgress *steps = ProgressMonitorSteps(monitor);
|
||||
|
||||
|
@ -2098,7 +2098,7 @@ UpdatePlacementUpdateStatusForShardIntervalList(List *shardIntervalList,
|
|||
bool foundInList = false;
|
||||
|
||||
ShardInterval *candidateShard = NULL;
|
||||
foreach_ptr(candidateShard, shardIntervalList)
|
||||
foreach_declared_ptr(candidateShard, shardIntervalList)
|
||||
{
|
||||
if (candidateShard->shardId == currentShardId)
|
||||
{
|
||||
|
|
|
@ -431,7 +431,7 @@ CreateShardsOnWorkers(Oid distributedRelationId, List *shardPlacements,
|
|||
int poolSize = 1;
|
||||
|
||||
ShardPlacement *shardPlacement = NULL;
|
||||
foreach_ptr(shardPlacement, shardPlacements)
|
||||
foreach_declared_ptr(shardPlacement, shardPlacements)
|
||||
{
|
||||
uint64 shardId = shardPlacement->shardId;
|
||||
ShardInterval *shardInterval = LoadShardInterval(shardId);
|
||||
|
@ -516,7 +516,7 @@ RelationShardListForShardCreate(ShardInterval *shardInterval)
|
|||
|
||||
/* all foregin key constraint relations */
|
||||
Oid fkeyRelationid = InvalidOid;
|
||||
foreach_oid(fkeyRelationid, allForeignKeyRelations)
|
||||
foreach_declared_oid(fkeyRelationid, allForeignKeyRelations)
|
||||
{
|
||||
uint64 fkeyShardId = INVALID_SHARD_ID;
|
||||
|
||||
|
@ -590,7 +590,7 @@ WorkerCreateShardCommandList(Oid relationId, uint64 shardId,
|
|||
char *schemaName = get_namespace_name(schemaId);
|
||||
|
||||
TableDDLCommand *ddlCommand = NULL;
|
||||
foreach_ptr(ddlCommand, ddlCommandList)
|
||||
foreach_declared_ptr(ddlCommand, ddlCommandList)
|
||||
{
|
||||
Assert(CitusIsA(ddlCommand, TableDDLCommand));
|
||||
char *applyDDLCommand = GetShardedTableDDLCommand(ddlCommand, shardId,
|
||||
|
@ -645,7 +645,7 @@ UpdateShardStatistics(int64 shardId)
|
|||
|
||||
/* get shard's statistics from a shard placement */
|
||||
ShardPlacement *placement = NULL;
|
||||
foreach_ptr(placement, shardPlacementList)
|
||||
foreach_declared_ptr(placement, shardPlacementList)
|
||||
{
|
||||
statsOK = WorkerShardStats(placement, relationId, shardQualifiedName,
|
||||
&shardSize);
|
||||
|
@ -713,7 +713,7 @@ ReceiveAndUpdateShardsSizes(List *connectionList)
|
|||
"oid visited hash set");
|
||||
|
||||
MultiConnection *connection = NULL;
|
||||
foreach_ptr(connection, connectionList)
|
||||
foreach_declared_ptr(connection, connectionList)
|
||||
{
|
||||
if (PQstatus(connection->pgConn) != CONNECTION_OK)
|
||||
{
|
||||
|
@ -809,7 +809,7 @@ UpdateShardSize(uint64 shardId, ShardInterval *shardInterval, Oid relationId,
|
|||
ShardPlacement *placement = NULL;
|
||||
|
||||
/* update metadata for each shard placement */
|
||||
foreach_ptr(placement, shardPlacementList)
|
||||
foreach_declared_ptr(placement, shardPlacementList)
|
||||
{
|
||||
uint64 placementId = placement->placementId;
|
||||
int32 groupId = placement->groupId;
|
||||
|
|
|
@ -421,7 +421,7 @@ GetFirstPrimaryWorkerNode(void)
|
|||
List *workerNodeList = ActivePrimaryNonCoordinatorNodeList(RowShareLock);
|
||||
WorkerNode *firstWorkerNode = NULL;
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
if (firstWorkerNode == NULL ||
|
||||
CompareWorkerNodes(&workerNode, &firstWorkerNode) < 0)
|
||||
|
|
|
@ -146,7 +146,7 @@ TraceWorkerSplitCopyUdf(char *sourceShardToCopySchemaName,
|
|||
int index = 1;
|
||||
int splitWayCount = list_length(splitCopyInfoList);
|
||||
SplitCopyInfo *splitCopyInfo = NULL;
|
||||
foreach_ptr(splitCopyInfo, splitCopyInfoList)
|
||||
foreach_declared_ptr(splitCopyInfo, splitCopyInfoList)
|
||||
{
|
||||
char *shardNameCopy = pstrdup(sourceShardToCopyPrefix);
|
||||
AppendShardIdToName(&shardNameCopy, splitCopyInfo->destinationShardId);
|
||||
|
@ -236,7 +236,7 @@ BuildMinMaxRangeArrays(List *splitCopyInfoList, ArrayType **minValueArray,
|
|||
|
||||
SplitCopyInfo *splitCopyInfo = NULL;
|
||||
int index = 0;
|
||||
foreach_ptr(splitCopyInfo, splitCopyInfoList)
|
||||
foreach_declared_ptr(splitCopyInfo, splitCopyInfoList)
|
||||
{
|
||||
minValues[index] = splitCopyInfo->destinationShardMinHashValue;
|
||||
maxValues[index] = splitCopyInfo->destinationShardMaxHashValue;
|
||||
|
@ -269,7 +269,7 @@ CreateShardCopyDestReceivers(EState *estate, ShardInterval *shardIntervalToSplit
|
|||
SplitCopyInfo *splitCopyInfo = NULL;
|
||||
int index = 0;
|
||||
char *sourceShardNamePrefix = get_rel_name(shardIntervalToSplitCopy->relationId);
|
||||
foreach_ptr(splitCopyInfo, splitCopyInfoList)
|
||||
foreach_declared_ptr(splitCopyInfo, splitCopyInfoList)
|
||||
{
|
||||
Oid destinationShardSchemaOid = get_rel_namespace(
|
||||
shardIntervalToSplitCopy->relationId);
|
||||
|
|
|
@ -298,7 +298,7 @@ PopulateShardSplitInfoInSM(ShardSplitInfoSMHeader *shardSplitInfoSMHeader,
|
|||
|
||||
List *shardSplitInfoList = entry->shardSplitInfoList;
|
||||
ShardSplitInfo *splitShardInfo = NULL;
|
||||
foreach_ptr(splitShardInfo, shardSplitInfoList)
|
||||
foreach_declared_ptr(splitShardInfo, shardSplitInfoList)
|
||||
{
|
||||
shardSplitInfoSMHeader->splitInfoArray[splitInfoIndex] = *splitShardInfo;
|
||||
strcpy_s(shardSplitInfoSMHeader->splitInfoArray[splitInfoIndex].slotName,
|
||||
|
|
|
@ -217,7 +217,7 @@ CitusCustomScanPathPlan(PlannerInfo *root,
|
|||
{
|
||||
TargetEntry *targetEntry = NULL;
|
||||
|
||||
foreach_ptr(targetEntry, citusPath->remoteScan->custom_scan_tlist)
|
||||
foreach_declared_ptr(targetEntry, citusPath->remoteScan->custom_scan_tlist)
|
||||
{
|
||||
/* we created this list, so we know it only contains Var */
|
||||
Assert(IsA(targetEntry->expr, Var));
|
||||
|
@ -231,7 +231,7 @@ CitusCustomScanPathPlan(PlannerInfo *root,
|
|||
/* clauses might have been added by the planner, need to add them to our scan */
|
||||
RestrictInfo *restrictInfo = NULL;
|
||||
List **quals = &citusPath->remoteScan->scan.plan.qual;
|
||||
foreach_ptr(restrictInfo, clauses)
|
||||
foreach_declared_ptr(restrictInfo, clauses)
|
||||
{
|
||||
*quals = lappend(*quals, restrictInfo->clause);
|
||||
}
|
||||
|
@ -273,7 +273,7 @@ BuildSelectStatementViaStdPlanner(Query *combineQuery, List *remoteScanTargetLis
|
|||
/* extract column names from the remoteScanTargetList */
|
||||
List *columnNameList = NIL;
|
||||
TargetEntry *targetEntry = NULL;
|
||||
foreach_ptr(targetEntry, remoteScanTargetList)
|
||||
foreach_declared_ptr(targetEntry, remoteScanTargetList)
|
||||
{
|
||||
columnNameList = lappend(columnNameList, makeString(targetEntry->resname));
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ RebuildQueryStrings(Job *workerJob)
|
|||
AddInsertAliasIfNeeded(originalQuery);
|
||||
}
|
||||
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
Query *query = originalQuery;
|
||||
|
||||
|
@ -298,7 +298,7 @@ FindRelationShard(Oid inputRelationId, List *relationShardList)
|
|||
* some, otherwise this query wouldn't be eligible as a router query.
|
||||
* FIXME: We should probably use a hashtable here, to do efficient lookup.
|
||||
*/
|
||||
foreach_ptr(relationShard, relationShardList)
|
||||
foreach_declared_ptr(relationShard, relationShardList)
|
||||
{
|
||||
if (inputRelationId == relationShard->relationId)
|
||||
{
|
||||
|
|
|
@ -1545,7 +1545,7 @@ FinalizeRouterPlan(PlannedStmt *localPlan, CustomScan *customScan)
|
|||
|
||||
/* extract the column names from the final targetlist*/
|
||||
TargetEntry *targetEntry = NULL;
|
||||
foreach_ptr(targetEntry, customScan->scan.plan.targetlist)
|
||||
foreach_declared_ptr(targetEntry, customScan->scan.plan.targetlist)
|
||||
{
|
||||
String *columnName = makeString(targetEntry->resname);
|
||||
columnNameList = lappend(columnNameList, columnName);
|
||||
|
@ -1586,7 +1586,7 @@ makeCustomScanTargetlistFromExistingTargetList(List *existingTargetlist)
|
|||
|
||||
/* build a targetlist to read from the custom scan output */
|
||||
TargetEntry *targetEntry = NULL;
|
||||
foreach_ptr(targetEntry, existingTargetlist)
|
||||
foreach_declared_ptr(targetEntry, existingTargetlist)
|
||||
{
|
||||
Assert(IsA(targetEntry, TargetEntry));
|
||||
|
||||
|
@ -1636,7 +1636,7 @@ makeTargetListFromCustomScanList(List *custom_scan_tlist)
|
|||
List *targetList = NIL;
|
||||
TargetEntry *targetEntry = NULL;
|
||||
int resno = 1;
|
||||
foreach_ptr(targetEntry, custom_scan_tlist)
|
||||
foreach_declared_ptr(targetEntry, custom_scan_tlist)
|
||||
{
|
||||
/*
|
||||
* INDEX_VAR is used to reference back to the TargetEntry in custom_scan_tlist by
|
||||
|
@ -2105,7 +2105,7 @@ TranslatedVars(PlannerInfo *root, int relationIndex)
|
|||
{
|
||||
/* postgres deletes translated_vars, hence we deep copy them here */
|
||||
Node *targetNode = NULL;
|
||||
foreach_ptr(targetNode, targetAppendRelInfo->translated_vars)
|
||||
foreach_declared_ptr(targetNode, targetAppendRelInfo->translated_vars)
|
||||
{
|
||||
translatedVars =
|
||||
lappend(translatedVars, copyObject(targetNode));
|
||||
|
@ -2126,7 +2126,7 @@ FindTargetAppendRelInfo(PlannerInfo *root, int relationRteIndex)
|
|||
AppendRelInfo *appendRelInfo = NULL;
|
||||
|
||||
/* iterate on the queries that are part of UNION ALL subselects */
|
||||
foreach_ptr(appendRelInfo, root->append_rel_list)
|
||||
foreach_declared_ptr(appendRelInfo, root->append_rel_list)
|
||||
{
|
||||
/*
|
||||
* We're only interested in the child rel that is equal to the
|
||||
|
@ -2449,7 +2449,7 @@ TranslatedVarsForRteIdentity(int rteIdentity)
|
|||
currentPlannerRestrictionContext->relationRestrictionContext->
|
||||
relationRestrictionList;
|
||||
RelationRestriction *relationRestriction = NULL;
|
||||
foreach_ptr(relationRestriction, relationRestrictionList)
|
||||
foreach_declared_ptr(relationRestriction, relationRestrictionList)
|
||||
{
|
||||
if (GetRTEIdentity(relationRestriction->rte) == rteIdentity)
|
||||
{
|
||||
|
@ -2619,7 +2619,7 @@ GetRTEListProperties(List *rangeTableList)
|
|||
RTEListProperties *rteListProperties = palloc0(sizeof(RTEListProperties));
|
||||
|
||||
RangeTblEntry *rangeTableEntry = NULL;
|
||||
foreach_ptr(rangeTableEntry, rangeTableList)
|
||||
foreach_declared_ptr(rangeTableEntry, rangeTableList)
|
||||
{
|
||||
if (rangeTableEntry->rtekind != RTE_RELATION)
|
||||
{
|
||||
|
@ -2712,7 +2712,7 @@ WarnIfListHasForeignDistributedTable(List *rangeTableList)
|
|||
static bool DistributedForeignTableWarningPrompted = false;
|
||||
|
||||
RangeTblEntry *rangeTableEntry = NULL;
|
||||
foreach_ptr(rangeTableEntry, rangeTableList)
|
||||
foreach_declared_ptr(rangeTableEntry, rangeTableList)
|
||||
{
|
||||
if (DistributedForeignTableWarningPrompted)
|
||||
{
|
||||
|
|
|
@ -566,7 +566,7 @@ CreateCombineQueryForRouterPlan(DistributedPlan *distPlan)
|
|||
List *funcCollations = NIL;
|
||||
|
||||
TargetEntry *targetEntry = NULL;
|
||||
foreach_ptr(targetEntry, dependentTargetList)
|
||||
foreach_declared_ptr(targetEntry, dependentTargetList)
|
||||
{
|
||||
Node *expr = (Node *) targetEntry->expr;
|
||||
|
||||
|
@ -640,7 +640,7 @@ CreateTargetListForCombineQuery(List *targetList)
|
|||
|
||||
/* iterate over original target entries */
|
||||
TargetEntry *originalTargetEntry = NULL;
|
||||
foreach_ptr(originalTargetEntry, targetList)
|
||||
foreach_declared_ptr(originalTargetEntry, targetList)
|
||||
{
|
||||
TargetEntry *newTargetEntry = flatCopyTargetEntry(originalTargetEntry);
|
||||
|
||||
|
@ -1571,7 +1571,7 @@ WrapSubquery(Query *subquery)
|
|||
|
||||
/* create a target list that matches the SELECT */
|
||||
TargetEntry *selectTargetEntry = NULL;
|
||||
foreach_ptr(selectTargetEntry, subquery->targetList)
|
||||
foreach_declared_ptr(selectTargetEntry, subquery->targetList)
|
||||
{
|
||||
/* exactly 1 entry in FROM */
|
||||
int indexInRangeTable = 1;
|
||||
|
@ -1723,7 +1723,7 @@ AddInsertSelectCasts(List *insertTargetList, List *selectTargetList,
|
|||
selectTargetList = list_concat(projectedEntries, nonProjectedEntries);
|
||||
int entryResNo = 1;
|
||||
TargetEntry *selectTargetEntry = NULL;
|
||||
foreach_ptr(selectTargetEntry, selectTargetList)
|
||||
foreach_declared_ptr(selectTargetEntry, selectTargetList)
|
||||
{
|
||||
selectTargetEntry->resno = entryResNo++;
|
||||
}
|
||||
|
|
|
@ -277,7 +277,7 @@ AppendAllWorkerNodes(IntermediateResultsHashEntry *entry)
|
|||
List *workerNodeList = ActiveReadableNodeList();
|
||||
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
entry->nodeIdList =
|
||||
list_append_unique_int(entry->nodeIdList, workerNode->nodeId);
|
||||
|
@ -421,7 +421,7 @@ LogIntermediateResultMulticastSummary(IntermediateResultsHashEntry *entry,
|
|||
}
|
||||
|
||||
WorkerNode *workerNode = NULL;
|
||||
foreach_ptr(workerNode, workerNodeList)
|
||||
foreach_declared_ptr(workerNode, workerNodeList)
|
||||
{
|
||||
elog(logLevel, "Subplan %s will be sent to %s:%d", resultId,
|
||||
workerNode->workerName, workerNode->workerPort);
|
||||
|
|
|
@ -328,7 +328,7 @@ static void
|
|||
ConvertRTEsToSubquery(List *rangeTableEntryDetailsList, RecursivePlanningContext *context)
|
||||
{
|
||||
RangeTableEntryDetails *rangeTableEntryDetails = NULL;
|
||||
foreach_ptr(rangeTableEntryDetails, rangeTableEntryDetailsList)
|
||||
foreach_declared_ptr(rangeTableEntryDetails, rangeTableEntryDetailsList)
|
||||
{
|
||||
RangeTblEntry *rangeTableEntry = rangeTableEntryDetails->rangeTableEntry;
|
||||
List *requiredAttributeNumbers = rangeTableEntryDetails->requiredAttributeNumbers;
|
||||
|
@ -351,7 +351,7 @@ static bool
|
|||
AllRangeTableEntriesHaveUniqueIndex(List *rangeTableEntryDetailsList)
|
||||
{
|
||||
RangeTableEntryDetails *rangeTableEntryDetails = NULL;
|
||||
foreach_ptr(rangeTableEntryDetails, rangeTableEntryDetailsList)
|
||||
foreach_declared_ptr(rangeTableEntryDetails, rangeTableEntryDetailsList)
|
||||
{
|
||||
if (!rangeTableEntryDetails->hasConstantFilterOnUniqueColumn)
|
||||
{
|
||||
|
@ -420,7 +420,7 @@ HasConstantFilterOnUniqueColumn(RangeTblEntry *rangeTableEntry,
|
|||
AppendUniqueIndexColumnsToList,
|
||||
INCLUDE_INDEX_ALL_STATEMENTS);
|
||||
IndexColumns *indexColumns = NULL;
|
||||
foreach_ptr(indexColumns, uniqueIndexColumnsList)
|
||||
foreach_declared_ptr(indexColumns, uniqueIndexColumnsList)
|
||||
{
|
||||
List *uniqueIndexColumnNos = indexColumns->indexColumnNos;
|
||||
if (FirstIsSuperSetOfSecond(rteEqualityColumnsNos,
|
||||
|
@ -441,7 +441,7 @@ static bool
|
|||
FirstIsSuperSetOfSecond(List *firstIntList, List *secondIntList)
|
||||
{
|
||||
int curInt = 0;
|
||||
foreach_int(curInt, secondIntList)
|
||||
foreach_declared_int(curInt, secondIntList)
|
||||
{
|
||||
if (!list_member_int(firstIntList, curInt))
|
||||
{
|
||||
|
@ -526,7 +526,7 @@ RequiredAttrNumbersForRelationInternal(Query *queryToProcess, int rteIndex)
|
|||
List *requiredAttrNumbers = NIL;
|
||||
|
||||
Var *var = NULL;
|
||||
foreach_ptr(var, allVarsInQuery)
|
||||
foreach_declared_ptr(var, allVarsInQuery)
|
||||
{
|
||||
if (var->varno == rteIndex)
|
||||
{
|
||||
|
@ -554,7 +554,7 @@ CreateConversionCandidates(PlannerRestrictionContext *plannerRestrictionContext,
|
|||
|
||||
|
||||
RangeTblEntry *rangeTableEntry = NULL;
|
||||
foreach_ptr(rangeTableEntry, rangeTableList)
|
||||
foreach_declared_ptr(rangeTableEntry, rangeTableList)
|
||||
{
|
||||
/* we're only interested in tables */
|
||||
if (!IsRecursivelyPlannableRelation(rangeTableEntry))
|
||||
|
|
|
@ -244,7 +244,7 @@ GetCachedLocalPlan(Task *task, DistributedPlan *distributedPlan)
|
|||
|
||||
int32 localGroupId = GetLocalGroupId();
|
||||
|
||||
foreach_ptr(localPlannedStatement, cachedPlanList)
|
||||
foreach_declared_ptr(localPlannedStatement, cachedPlanList)
|
||||
{
|
||||
if (localPlannedStatement->shardId == task->anchorShardId &&
|
||||
localPlannedStatement->localGroupId == localGroupId)
|
||||
|
|
|
@ -375,7 +375,7 @@ static void
|
|||
ErrorIfMergeHasUnsupportedTables(Oid targetRelationId, List *rangeTableList)
|
||||
{
|
||||
RangeTblEntry *rangeTableEntry = NULL;
|
||||
foreach_ptr(rangeTableEntry, rangeTableList)
|
||||
foreach_declared_ptr(rangeTableEntry, rangeTableList)
|
||||
{
|
||||
Oid relationId = rangeTableEntry->relid;
|
||||
|
||||
|
@ -734,7 +734,7 @@ ErrorIfRepartitionMergeNotSupported(Oid targetRelationId, Query *mergeQuery,
|
|||
}
|
||||
|
||||
MergeAction *action = NULL;
|
||||
foreach_ptr(action, mergeQuery->mergeActionList)
|
||||
foreach_declared_ptr(action, mergeQuery->mergeActionList)
|
||||
{
|
||||
if (FindNodeMatchingCheckFunction((Node *) action, IsNodeSubquery))
|
||||
{
|
||||
|
@ -763,7 +763,7 @@ ConvertCteRTEIntoSubquery(Query *mergeQuery, RangeTblEntry *sourceRte)
|
|||
* Presently, CTEs are only permitted within the USING clause, and thus,
|
||||
* we search for the corresponding one
|
||||
*/
|
||||
foreach_ptr(candidateCte, mergeQuery->cteList)
|
||||
foreach_declared_ptr(candidateCte, mergeQuery->cteList)
|
||||
{
|
||||
if (strcmp(candidateCte->ctename, sourceRte->ctename) == 0)
|
||||
{
|
||||
|
@ -1018,7 +1018,7 @@ DeferErrorIfRoutableMergeNotSupported(Query *query, List *rangeTableList,
|
|||
List *localTablesList = NIL;
|
||||
RangeTblEntry *rangeTableEntry = NULL;
|
||||
|
||||
foreach_ptr(rangeTableEntry, rangeTableList)
|
||||
foreach_declared_ptr(rangeTableEntry, rangeTableList)
|
||||
{
|
||||
Oid relationId = rangeTableEntry->relid;
|
||||
|
||||
|
@ -1224,7 +1224,7 @@ ErrorIfMergeQueryQualAndTargetListNotSupported(Oid targetRelationId, Query *orig
|
|||
* within itself. Check each INSERT/UPDATE/DELETE individually.
|
||||
*/
|
||||
MergeAction *action = NULL;
|
||||
foreach_ptr(action, originalQuery->mergeActionList)
|
||||
foreach_declared_ptr(action, originalQuery->mergeActionList)
|
||||
{
|
||||
Assert(originalQuery->returningList == NULL);
|
||||
deferredError = MergeQualAndTargetListFunctionsSupported(targetRelationId,
|
||||
|
@ -1472,7 +1472,7 @@ FetchAndValidateInsertVarIfExists(Oid targetRelationId, Query *query)
|
|||
bool foundDistributionColumn = false;
|
||||
MergeAction *action = NULL;
|
||||
uint32 targetRangeTableIndex = query->resultRelation;
|
||||
foreach_ptr(action, query->mergeActionList)
|
||||
foreach_declared_ptr(action, query->mergeActionList)
|
||||
{
|
||||
/* Skip MATCHED clause as INSERTS are not allowed in it */
|
||||
if (action->matched)
|
||||
|
@ -1502,7 +1502,7 @@ FetchAndValidateInsertVarIfExists(Oid targetRelationId, Query *query)
|
|||
PartitionColumn(targetRelationId, targetRangeTableIndex);
|
||||
|
||||
TargetEntry *targetEntry = NULL;
|
||||
foreach_ptr(targetEntry, action->targetList)
|
||||
foreach_declared_ptr(targetEntry, action->targetList)
|
||||
{
|
||||
AttrNumber originalAttrNo = targetEntry->resno;
|
||||
|
||||
|
|
|
@ -495,7 +495,7 @@ ExplainJob(CitusScanState *scanState, Job *job, ExplainState *es,
|
|||
{
|
||||
Task *task = NULL;
|
||||
uint64 totalReceivedTupleDataForAllTasks = 0;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
totalReceivedTupleDataForAllTasks += TaskReceivedTupleData(task);
|
||||
}
|
||||
|
@ -673,7 +673,7 @@ ExplainTaskList(CitusScanState *scanState, List *taskList, ExplainState *es,
|
|||
}
|
||||
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
RemoteExplainPlan *remoteExplain = RemoteExplain(task, es, params);
|
||||
remoteExplainList = lappend(remoteExplainList, remoteExplain);
|
||||
|
@ -1400,7 +1400,7 @@ void
|
|||
ResetExplainAnalyzeData(List *taskList)
|
||||
{
|
||||
Task *task = NULL;
|
||||
foreach_ptr(task, taskList)
|
||||
foreach_declared_ptr(task, taskList)
|
||||
{
|
||||
if (task->fetchedExplainAnalyzePlan != NULL)
|
||||
{
|
||||
|
@ -1463,7 +1463,7 @@ ExplainAnalyzeTaskList(List *originalTaskList,
|
|||
List *explainAnalyzeTaskList = NIL;
|
||||
Task *originalTask = NULL;
|
||||
|
||||
foreach_ptr(originalTask, originalTaskList)
|
||||
foreach_declared_ptr(originalTask, originalTaskList)
|
||||
{
|
||||
if (originalTask->queryCount != 1)
|
||||
{
|
||||
|
|
|
@ -224,10 +224,10 @@ JoinOnColumns(List *currentPartitionColumnList, Var *candidateColumn,
|
|||
}
|
||||
|
||||
Var *currentColumn = NULL;
|
||||
foreach_ptr(currentColumn, currentPartitionColumnList)
|
||||
foreach_declared_ptr(currentColumn, currentPartitionColumnList)
|
||||
{
|
||||
Node *joinClause = NULL;
|
||||
foreach_ptr(joinClause, joinClauseList)
|
||||
foreach_declared_ptr(joinClause, joinClauseList)
|
||||
{
|
||||
if (!NodeIsEqualsOpExpr(joinClause))
|
||||
{
|
||||
|
@ -1094,10 +1094,10 @@ SinglePartitionJoinClause(List *partitionColumnList, List *applicableJoinClauses
|
|||
}
|
||||
|
||||
Var *partitionColumn = NULL;
|
||||
foreach_ptr(partitionColumn, partitionColumnList)
|
||||
foreach_declared_ptr(partitionColumn, partitionColumnList)
|
||||
{
|
||||
Node *applicableJoinClause = NULL;
|
||||
foreach_ptr(applicableJoinClause, applicableJoinClauses)
|
||||
foreach_declared_ptr(applicableJoinClause, applicableJoinClauses)
|
||||
{
|
||||
if (!NodeIsEqualsOpExpr(applicableJoinClause))
|
||||
{
|
||||
|
@ -1177,7 +1177,7 @@ OpExpr *
|
|||
DualPartitionJoinClause(List *applicableJoinClauses)
|
||||
{
|
||||
Node *applicableJoinClause = NULL;
|
||||
foreach_ptr(applicableJoinClause, applicableJoinClauses)
|
||||
foreach_declared_ptr(applicableJoinClause, applicableJoinClauses)
|
||||
{
|
||||
if (!NodeIsEqualsOpExpr(applicableJoinClause))
|
||||
{
|
||||
|
@ -1262,7 +1262,7 @@ IsApplicableJoinClause(List *leftTableIdList, uint32 rightTableId, Node *joinCla
|
|||
List *varList = pull_var_clause_default(joinClause);
|
||||
Var *var = NULL;
|
||||
bool joinContainsRightTable = false;
|
||||
foreach_ptr(var, varList)
|
||||
foreach_declared_ptr(var, varList)
|
||||
{
|
||||
uint32 columnTableId = var->varno;
|
||||
if (rightTableId == columnTableId)
|
||||
|
@ -1301,7 +1301,7 @@ ApplicableJoinClauses(List *leftTableIdList, uint32 rightTableId, List *joinClau
|
|||
joinClauseList = JoinClauseList(joinClauseList);
|
||||
|
||||
Node *joinClause = NULL;
|
||||
foreach_ptr(joinClause, joinClauseList)
|
||||
foreach_declared_ptr(joinClause, joinClauseList)
|
||||
{
|
||||
if (IsApplicableJoinClause(leftTableIdList, rightTableId, joinClause))
|
||||
{
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue