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/7922/head
Naisila Puka 2024-10-16 17:01:39 +03:00 committed by naisila
parent d885e1a016
commit 6bd3474804
151 changed files with 800 additions and 799 deletions

View File

@ -363,7 +363,7 @@ ColumnarGetRelationInfoHook(PlannerInfo *root, Oid relationObjectId,
/* disable index-only scan */ /* disable index-only scan */
IndexOptInfo *indexOptInfo = NULL; IndexOptInfo *indexOptInfo = NULL;
foreach_ptr(indexOptInfo, rel->indexlist) foreach_declared_ptr(indexOptInfo, rel->indexlist)
{ {
memset(indexOptInfo->canreturn, false, indexOptInfo->ncolumns * sizeof(bool)); memset(indexOptInfo->canreturn, false, indexOptInfo->ncolumns * sizeof(bool));
} }
@ -381,7 +381,7 @@ RemovePathsByPredicate(RelOptInfo *rel, PathPredicate removePathPredicate)
List *filteredPathList = NIL; List *filteredPathList = NIL;
Path *path = NULL; Path *path = NULL;
foreach_ptr(path, rel->pathlist) foreach_declared_ptr(path, rel->pathlist)
{ {
if (!removePathPredicate(path)) if (!removePathPredicate(path))
{ {
@ -428,7 +428,7 @@ static void
CostColumnarPaths(PlannerInfo *root, RelOptInfo *rel, Oid relationId) CostColumnarPaths(PlannerInfo *root, RelOptInfo *rel, Oid relationId)
{ {
Path *path = NULL; Path *path = NULL;
foreach_ptr(path, rel->pathlist) foreach_declared_ptr(path, rel->pathlist)
{ {
if (IsA(path, IndexPath)) if (IsA(path, IndexPath))
{ {
@ -783,7 +783,7 @@ ExtractPushdownClause(PlannerInfo *root, RelOptInfo *rel, Node *node)
List *pushdownableArgs = NIL; List *pushdownableArgs = NIL;
Node *boolExprArg = NULL; Node *boolExprArg = NULL;
foreach_ptr(boolExprArg, boolExpr->args) foreach_declared_ptr(boolExprArg, boolExpr->args)
{ {
Expr *pushdownableArg = ExtractPushdownClause(root, rel, Expr *pushdownableArg = ExtractPushdownClause(root, rel,
(Node *) boolExprArg); (Node *) boolExprArg);
@ -1550,7 +1550,7 @@ ColumnarPerStripeScanCost(RelOptInfo *rel, Oid relationId, int numberOfColumnsRe
uint32 maxColumnCount = 0; uint32 maxColumnCount = 0;
uint64 totalStripeSize = 0; uint64 totalStripeSize = 0;
StripeMetadata *stripeMetadata = NULL; StripeMetadata *stripeMetadata = NULL;
foreach_ptr(stripeMetadata, stripeList) foreach_declared_ptr(stripeMetadata, stripeList)
{ {
totalStripeSize += stripeMetadata->dataLength; totalStripeSize += stripeMetadata->dataLength;
maxColumnCount = Max(maxColumnCount, stripeMetadata->columnCount); maxColumnCount = Max(maxColumnCount, stripeMetadata->columnCount);

View File

@ -2041,7 +2041,7 @@ GetHighestUsedRowNumber(uint64 storageId)
List *stripeMetadataList = ReadDataFileStripeList(storageId, List *stripeMetadataList = ReadDataFileStripeList(storageId,
GetTransactionSnapshot()); GetTransactionSnapshot());
StripeMetadata *stripeMetadata = NULL; StripeMetadata *stripeMetadata = NULL;
foreach_ptr(stripeMetadata, stripeMetadataList) foreach_declared_ptr(stripeMetadata, stripeMetadataList)
{ {
highestRowNumber = Max(highestRowNumber, highestRowNumber = Max(highestRowNumber,
StripeGetHighestRowNumber(stripeMetadata)); StripeGetHighestRowNumber(stripeMetadata));

View File

@ -880,7 +880,7 @@ ReadChunkGroupNextRow(ChunkGroupReadState *chunkGroupReadState, Datum *columnVal
memset(columnNulls, true, sizeof(bool) * chunkGroupReadState->columnCount); memset(columnNulls, true, sizeof(bool) * chunkGroupReadState->columnCount);
int attno; int attno;
foreach_int(attno, chunkGroupReadState->projectedColumnList) foreach_declared_int(attno, chunkGroupReadState->projectedColumnList)
{ {
const ChunkData *chunkGroupData = chunkGroupReadState->chunkGroupData; const ChunkData *chunkGroupData = chunkGroupReadState->chunkGroupData;
const int rowIndex = chunkGroupReadState->currentRow; const int rowIndex = chunkGroupReadState->currentRow;
@ -1489,7 +1489,7 @@ ProjectedColumnMask(uint32 columnCount, List *projectedColumnList)
bool *projectedColumnMask = palloc0(columnCount * sizeof(bool)); bool *projectedColumnMask = palloc0(columnCount * sizeof(bool));
int attno; int attno;
foreach_int(attno, projectedColumnList) foreach_declared_int(attno, projectedColumnList)
{ {
/* attno is 1-indexed; projectedColumnMask is 0-indexed */ /* attno is 1-indexed; projectedColumnMask is 0-indexed */
int columnIndex = attno - 1; int columnIndex = attno - 1;

View File

@ -3085,7 +3085,7 @@ DefElem *
GetExtensionOption(List *extensionOptions, const char *defname) GetExtensionOption(List *extensionOptions, const char *defname)
{ {
DefElem *defElement = NULL; DefElem *defElement = NULL;
foreach_ptr(defElement, extensionOptions) foreach_declared_ptr(defElement, extensionOptions)
{ {
if (IsA(defElement, DefElem) && if (IsA(defElement, DefElem) &&
strncmp(defElement->defname, defname, NAMEDATALEN) == 0) strncmp(defElement->defname, defname, NAMEDATALEN) == 0)

View File

@ -328,7 +328,7 @@ GetHighestClockInTransaction(List *nodeConnectionList)
{ {
MultiConnection *connection = NULL; MultiConnection *connection = NULL;
foreach_ptr(connection, nodeConnectionList) foreach_declared_ptr(connection, nodeConnectionList)
{ {
int querySent = int querySent =
SendRemoteCommand(connection, "SELECT citus_get_node_clock();"); SendRemoteCommand(connection, "SELECT citus_get_node_clock();");
@ -349,7 +349,7 @@ GetHighestClockInTransaction(List *nodeConnectionList)
globalClockValue->counter))); globalClockValue->counter)));
/* fetch the results and pick the highest clock value of all the nodes */ /* 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; bool raiseInterrupts = true;

View File

@ -414,7 +414,7 @@ UndistributeTables(List *relationIdList)
*/ */
List *originalForeignKeyRecreationCommands = NIL; List *originalForeignKeyRecreationCommands = NIL;
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
List *fkeyCommandsForRelation = List *fkeyCommandsForRelation =
GetFKeyCreationCommandsRelationInvolvedWithTableType(relationId, GetFKeyCreationCommandsRelationInvolvedWithTableType(relationId,
@ -802,7 +802,7 @@ ConvertTableInternal(TableConversionState *con)
List *partitionList = PartitionList(con->relationId); List *partitionList = PartitionList(con->relationId);
Oid partitionRelationId = InvalidOid; Oid partitionRelationId = InvalidOid;
foreach_oid(partitionRelationId, partitionList) foreach_declared_oid(partitionRelationId, partitionList)
{ {
char *tableQualifiedName = generate_qualified_relation_name( char *tableQualifiedName = generate_qualified_relation_name(
partitionRelationId); partitionRelationId);
@ -873,7 +873,7 @@ ConvertTableInternal(TableConversionState *con)
} }
TableDDLCommand *tableCreationCommand = NULL; TableDDLCommand *tableCreationCommand = NULL;
foreach_ptr(tableCreationCommand, preLoadCommands) foreach_declared_ptr(tableCreationCommand, preLoadCommands)
{ {
Assert(CitusIsA(tableCreationCommand, TableDDLCommand)); Assert(CitusIsA(tableCreationCommand, TableDDLCommand));
@ -947,7 +947,7 @@ ConvertTableInternal(TableConversionState *con)
con->suppressNoticeMessages); con->suppressNoticeMessages);
TableDDLCommand *tableConstructionCommand = NULL; TableDDLCommand *tableConstructionCommand = NULL;
foreach_ptr(tableConstructionCommand, postLoadCommands) foreach_declared_ptr(tableConstructionCommand, postLoadCommands)
{ {
Assert(CitusIsA(tableConstructionCommand, TableDDLCommand)); Assert(CitusIsA(tableConstructionCommand, TableDDLCommand));
char *tableConstructionSQL = GetTableDDLCommand(tableConstructionCommand); char *tableConstructionSQL = GetTableDDLCommand(tableConstructionCommand);
@ -965,7 +965,7 @@ ConvertTableInternal(TableConversionState *con)
MemoryContext oldContext = MemoryContextSwitchTo(citusPerPartitionContext); MemoryContext oldContext = MemoryContextSwitchTo(citusPerPartitionContext);
char *attachPartitionCommand = NULL; char *attachPartitionCommand = NULL;
foreach_ptr(attachPartitionCommand, attachPartitionCommands) foreach_declared_ptr(attachPartitionCommand, attachPartitionCommands)
{ {
MemoryContextReset(citusPerPartitionContext); MemoryContextReset(citusPerPartitionContext);
@ -990,7 +990,7 @@ ConvertTableInternal(TableConversionState *con)
/* For now we only support cascade to colocation for alter_distributed_table UDF */ /* For now we only support cascade to colocation for alter_distributed_table UDF */
Assert(con->conversionType == ALTER_DISTRIBUTED_TABLE); Assert(con->conversionType == ALTER_DISTRIBUTED_TABLE);
foreach_oid(colocatedTableId, con->colocatedTableList) foreach_declared_oid(colocatedTableId, con->colocatedTableList)
{ {
if (colocatedTableId == con->relationId) if (colocatedTableId == con->relationId)
{ {
@ -1018,7 +1018,7 @@ ConvertTableInternal(TableConversionState *con)
if (con->cascadeToColocated != CASCADE_TO_COLOCATED_NO_ALREADY_CASCADED) if (con->cascadeToColocated != CASCADE_TO_COLOCATED_NO_ALREADY_CASCADED)
{ {
char *foreignKeyCommand = NULL; char *foreignKeyCommand = NULL;
foreach_ptr(foreignKeyCommand, foreignKeyCommands) foreach_declared_ptr(foreignKeyCommand, foreignKeyCommands)
{ {
ExecuteQueryViaSPI(foreignKeyCommand, SPI_OK_UTILITY); ExecuteQueryViaSPI(foreignKeyCommand, SPI_OK_UTILITY);
} }
@ -1054,7 +1054,7 @@ CopyTableConversionReturnIntoCurrentContext(TableConversionReturn *tableConversi
tableConversionReturnCopy = palloc0(sizeof(TableConversionReturn)); tableConversionReturnCopy = palloc0(sizeof(TableConversionReturn));
List *copyForeignKeyCommands = NIL; List *copyForeignKeyCommands = NIL;
char *foreignKeyCommand = NULL; char *foreignKeyCommand = NULL;
foreach_ptr(foreignKeyCommand, tableConversionReturn->foreignKeyCommands) foreach_declared_ptr(foreignKeyCommand, tableConversionReturn->foreignKeyCommands)
{ {
char *copyForeignKeyCommand = MemoryContextStrdup(CurrentMemoryContext, char *copyForeignKeyCommand = MemoryContextStrdup(CurrentMemoryContext,
foreignKeyCommand); foreignKeyCommand);
@ -1129,7 +1129,7 @@ DropIndexesNotSupportedByColumnar(Oid relationId, bool suppressNoticeMessages)
RelationClose(columnarRelation); RelationClose(columnarRelation);
Oid indexId = InvalidOid; Oid indexId = InvalidOid;
foreach_oid(indexId, indexIdList) foreach_declared_oid(indexId, indexIdList)
{ {
char *indexAmName = GetIndexAccessMethodName(indexId); char *indexAmName = GetIndexAccessMethodName(indexId);
if (extern_ColumnarSupportsIndexAM(indexAmName)) if (extern_ColumnarSupportsIndexAM(indexAmName))
@ -1389,7 +1389,7 @@ CreateTableConversion(TableConversionParameters *params)
* since they will be handled separately. * since they will be handled separately.
*/ */
Oid colocatedTableId = InvalidOid; Oid colocatedTableId = InvalidOid;
foreach_oid(colocatedTableId, colocatedTableList) foreach_declared_oid(colocatedTableId, colocatedTableList)
{ {
if (PartitionTable(colocatedTableId)) if (PartitionTable(colocatedTableId))
{ {
@ -1605,7 +1605,7 @@ DoesCascadeDropUnsupportedObject(Oid classId, Oid objectId, HTAB *nodeMap)
targetObjectId); targetObjectId);
HeapTuple depTup = NULL; HeapTuple depTup = NULL;
foreach_ptr(depTup, dependencyTupleList) foreach_declared_ptr(depTup, dependencyTupleList)
{ {
Form_pg_depend pg_depend = (Form_pg_depend) GETSTRUCT(depTup); Form_pg_depend pg_depend = (Form_pg_depend) GETSTRUCT(depTup);
@ -1645,7 +1645,7 @@ GetViewCreationCommandsOfTable(Oid relationId)
List *commands = NIL; List *commands = NIL;
Oid viewOid = InvalidOid; Oid viewOid = InvalidOid;
foreach_oid(viewOid, views) foreach_declared_oid(viewOid, views)
{ {
StringInfo query = makeStringInfo(); StringInfo query = makeStringInfo();
@ -1683,7 +1683,7 @@ WrapTableDDLCommands(List *commandStrings)
List *tableDDLCommands = NIL; List *tableDDLCommands = NIL;
char *command = NULL; char *command = NULL;
foreach_ptr(command, commandStrings) foreach_declared_ptr(command, commandStrings)
{ {
tableDDLCommands = lappend(tableDDLCommands, makeTableDDLCommandString(command)); tableDDLCommands = lappend(tableDDLCommands, makeTableDDLCommandString(command));
} }
@ -1840,7 +1840,7 @@ ReplaceTable(Oid sourceId, Oid targetId, List *justBeforeDropCommands,
*/ */
List *ownedSequences = getOwnedSequences_internal(sourceId, 0, DEPENDENCY_AUTO); List *ownedSequences = getOwnedSequences_internal(sourceId, 0, DEPENDENCY_AUTO);
Oid sequenceOid = InvalidOid; Oid sequenceOid = InvalidOid;
foreach_oid(sequenceOid, ownedSequences) foreach_declared_oid(sequenceOid, ownedSequences)
{ {
changeDependencyFor(RelationRelationId, sequenceOid, changeDependencyFor(RelationRelationId, sequenceOid,
RelationRelationId, sourceId, targetId); RelationRelationId, sourceId, targetId);
@ -1873,7 +1873,7 @@ ReplaceTable(Oid sourceId, Oid targetId, List *justBeforeDropCommands,
} }
char *justBeforeDropCommand = NULL; char *justBeforeDropCommand = NULL;
foreach_ptr(justBeforeDropCommand, justBeforeDropCommands) foreach_declared_ptr(justBeforeDropCommand, justBeforeDropCommands)
{ {
ExecuteQueryViaSPI(justBeforeDropCommand, SPI_OK_UTILITY); ExecuteQueryViaSPI(justBeforeDropCommand, SPI_OK_UTILITY);
} }
@ -1987,7 +1987,7 @@ CheckAlterDistributedTableConversionParameters(TableConversionState *con)
Oid colocatedTableOid = InvalidOid; Oid colocatedTableOid = InvalidOid;
text *colocateWithText = cstring_to_text(con->colocateWith); text *colocateWithText = cstring_to_text(con->colocateWith);
Oid colocateWithTableOid = ResolveRelationId(colocateWithText, false); Oid colocateWithTableOid = ResolveRelationId(colocateWithText, false);
foreach_oid(colocatedTableOid, con->colocatedTableList) foreach_declared_oid(colocatedTableOid, con->colocatedTableList)
{ {
if (colocateWithTableOid == colocatedTableOid) if (colocateWithTableOid == colocatedTableOid)
{ {
@ -2214,7 +2214,7 @@ WillRecreateForeignKeyToReferenceTable(Oid relationId,
{ {
List *colocatedTableList = ColocatedTableList(relationId); List *colocatedTableList = ColocatedTableList(relationId);
Oid colocatedTableOid = InvalidOid; Oid colocatedTableOid = InvalidOid;
foreach_oid(colocatedTableOid, colocatedTableList) foreach_declared_oid(colocatedTableOid, colocatedTableList)
{ {
if (HasForeignKeyToReferenceTable(colocatedTableOid)) if (HasForeignKeyToReferenceTable(colocatedTableOid))
{ {
@ -2242,7 +2242,7 @@ WarningsForDroppingForeignKeysWithDistributedTables(Oid relationId)
List *foreignKeys = list_concat(referencingForeingKeys, referencedForeignKeys); List *foreignKeys = list_concat(referencingForeingKeys, referencedForeignKeys);
Oid foreignKeyOid = InvalidOid; Oid foreignKeyOid = InvalidOid;
foreach_oid(foreignKeyOid, foreignKeys) foreach_declared_oid(foreignKeyOid, foreignKeys)
{ {
ereport(WARNING, (errmsg("foreign key %s will be dropped", ereport(WARNING, (errmsg("foreign key %s will be dropped",
get_constraint_name(foreignKeyOid)))); get_constraint_name(foreignKeyOid))));

View File

@ -33,7 +33,7 @@ SaveBeginCommandProperties(TransactionStmt *transactionStmt)
* *
* While BEGIN can be quite frequent it will rarely have options set. * 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; A_Const *constant = (A_Const *) item->arg;

View File

@ -168,7 +168,7 @@ GetPartitionRelationIds(List *relationIdList)
List *partitionRelationIdList = NIL; List *partitionRelationIdList = NIL;
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
if (PartitionTable(relationId)) if (PartitionTable(relationId))
{ {
@ -189,7 +189,7 @@ LockRelationsWithLockMode(List *relationIdList, LOCKMODE lockMode)
{ {
Oid relationId; Oid relationId;
relationIdList = SortList(relationIdList, CompareOids); relationIdList = SortList(relationIdList, CompareOids);
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
LockRelationOid(relationId, lockMode); LockRelationOid(relationId, lockMode);
} }
@ -207,7 +207,7 @@ static void
ErrorIfConvertingMultiLevelPartitionedTable(List *relationIdList) ErrorIfConvertingMultiLevelPartitionedTable(List *relationIdList)
{ {
Oid relationId; Oid relationId;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
if (PartitionedTable(relationId) && PartitionTable(relationId)) if (PartitionedTable(relationId) && PartitionTable(relationId))
{ {
@ -236,7 +236,7 @@ void
ErrorIfAnyPartitionRelationInvolvedInNonInheritedFKey(List *relationIdList) ErrorIfAnyPartitionRelationInvolvedInNonInheritedFKey(List *relationIdList)
{ {
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
if (!PartitionTable(relationId)) if (!PartitionTable(relationId))
{ {
@ -300,7 +300,7 @@ bool
RelationIdListHasReferenceTable(List *relationIdList) RelationIdListHasReferenceTable(List *relationIdList)
{ {
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
if (IsCitusTableType(relationId, REFERENCE_TABLE)) if (IsCitusTableType(relationId, REFERENCE_TABLE))
{ {
@ -322,7 +322,7 @@ GetFKeyCreationCommandsForRelationIdList(List *relationIdList)
List *fKeyCreationCommands = NIL; List *fKeyCreationCommands = NIL;
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
List *relationFKeyCreationCommands = List *relationFKeyCreationCommands =
GetReferencingForeignConstaintCommands(relationId); GetReferencingForeignConstaintCommands(relationId);
@ -342,7 +342,7 @@ static void
DropRelationIdListForeignKeys(List *relationIdList, int fKeyFlags) DropRelationIdListForeignKeys(List *relationIdList, int fKeyFlags)
{ {
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
DropRelationForeignKeys(relationId, fKeyFlags); DropRelationForeignKeys(relationId, fKeyFlags);
} }
@ -399,7 +399,7 @@ GetRelationDropFkeyCommands(Oid relationId, int fKeyFlags)
List *relationFKeyIdList = GetForeignKeyOids(relationId, fKeyFlags); List *relationFKeyIdList = GetForeignKeyOids(relationId, fKeyFlags);
Oid foreignKeyId; Oid foreignKeyId;
foreach_oid(foreignKeyId, relationFKeyIdList) foreach_declared_oid(foreignKeyId, relationFKeyIdList)
{ {
char *dropFkeyCascadeCommand = GetDropFkeyCascadeCommand(foreignKeyId); char *dropFkeyCascadeCommand = GetDropFkeyCascadeCommand(foreignKeyId);
dropFkeyCascadeCommandList = lappend(dropFkeyCascadeCommandList, dropFkeyCascadeCommandList = lappend(dropFkeyCascadeCommandList,
@ -450,7 +450,7 @@ ExecuteCascadeOperationForRelationIdList(List *relationIdList,
cascadeOperationType) cascadeOperationType)
{ {
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
/* /*
* The reason behind skipping certain table types in below loop is * The reason behind skipping certain table types in below loop is
@ -531,7 +531,7 @@ ExecuteAndLogUtilityCommandListInTableTypeConversionViaSPI(List *utilityCommandL
PG_TRY(); PG_TRY();
{ {
char *utilityCommand = NULL; char *utilityCommand = NULL;
foreach_ptr(utilityCommand, utilityCommandList) foreach_declared_ptr(utilityCommand, utilityCommandList)
{ {
/* /*
* CREATE MATERIALIZED VIEW commands need to be parsed/transformed, * CREATE MATERIALIZED VIEW commands need to be parsed/transformed,
@ -569,7 +569,7 @@ void
ExecuteAndLogUtilityCommandList(List *utilityCommandList) ExecuteAndLogUtilityCommandList(List *utilityCommandList)
{ {
char *utilityCommand = NULL; char *utilityCommand = NULL;
foreach_ptr(utilityCommand, utilityCommandList) foreach_declared_ptr(utilityCommand, utilityCommandList)
{ {
ExecuteAndLogUtilityCommand(utilityCommand); ExecuteAndLogUtilityCommand(utilityCommand);
} }
@ -597,7 +597,7 @@ void
ExecuteForeignKeyCreateCommandList(List *ddlCommandList, bool skip_validation) ExecuteForeignKeyCreateCommandList(List *ddlCommandList, bool skip_validation)
{ {
char *ddlCommand = NULL; char *ddlCommand = NULL;
foreach_ptr(ddlCommand, ddlCommandList) foreach_declared_ptr(ddlCommand, ddlCommandList)
{ {
ExecuteForeignKeyCreateCommand(ddlCommand, skip_validation); ExecuteForeignKeyCreateCommand(ddlCommand, skip_validation);
} }

View File

@ -588,7 +588,7 @@ ErrorIfOptionListHasNoTableName(List *optionList)
{ {
char *table_nameString = "table_name"; char *table_nameString = "table_name";
DefElem *option = NULL; DefElem *option = NULL;
foreach_ptr(option, optionList) foreach_declared_ptr(option, optionList)
{ {
char *optionName = option->defname; char *optionName = option->defname;
if (strcmp(optionName, table_nameString) == 0) if (strcmp(optionName, table_nameString) == 0)
@ -613,7 +613,7 @@ ForeignTableDropsTableNameOption(List *optionList)
{ {
char *table_nameString = "table_name"; char *table_nameString = "table_name";
DefElem *option = NULL; DefElem *option = NULL;
foreach_ptr(option, optionList) foreach_declared_ptr(option, optionList)
{ {
char *optionName = option->defname; char *optionName = option->defname;
DefElemAction optionAction = option->defaction; DefElemAction optionAction = option->defaction;
@ -732,7 +732,7 @@ UpdateAutoConvertedForConnectedRelations(List *relationIds, bool autoConverted)
List *relationIdList = NIL; List *relationIdList = NIL;
Oid relid = InvalidOid; Oid relid = InvalidOid;
foreach_oid(relid, relationIds) foreach_declared_oid(relid, relationIds)
{ {
List *connectedRelations = GetForeignKeyConnectedRelationIdList(relid); List *connectedRelations = GetForeignKeyConnectedRelationIdList(relid);
relationIdList = list_concat_unique_oid(relationIdList, connectedRelations); relationIdList = list_concat_unique_oid(relationIdList, connectedRelations);
@ -740,7 +740,7 @@ UpdateAutoConvertedForConnectedRelations(List *relationIds, bool autoConverted)
relationIdList = SortList(relationIdList, CompareOids); relationIdList = SortList(relationIdList, CompareOids);
foreach_oid(relid, relationIdList) foreach_declared_oid(relid, relationIdList)
{ {
UpdatePgDistPartitionAutoConverted(relid, autoConverted); UpdatePgDistPartitionAutoConverted(relid, autoConverted);
} }
@ -776,7 +776,7 @@ GetShellTableDDLEventsForCitusLocalTable(Oid relationId)
List *shellTableDDLEvents = NIL; List *shellTableDDLEvents = NIL;
TableDDLCommand *tableDDLCommand = NULL; TableDDLCommand *tableDDLCommand = NULL;
foreach_ptr(tableDDLCommand, tableDDLCommands) foreach_declared_ptr(tableDDLCommand, tableDDLCommands)
{ {
Assert(CitusIsA(tableDDLCommand, TableDDLCommand)); Assert(CitusIsA(tableDDLCommand, TableDDLCommand));
shellTableDDLEvents = lappend(shellTableDDLEvents, shellTableDDLEvents = lappend(shellTableDDLEvents,
@ -863,7 +863,7 @@ RenameShardRelationConstraints(Oid shardRelationId, uint64 shardId)
List *constraintNameList = GetConstraintNameList(shardRelationId); List *constraintNameList = GetConstraintNameList(shardRelationId);
char *constraintName = NULL; char *constraintName = NULL;
foreach_ptr(constraintName, constraintNameList) foreach_declared_ptr(constraintName, constraintNameList)
{ {
const char *commandString = const char *commandString =
GetRenameShardConstraintCommand(shardRelationId, constraintName, shardId); GetRenameShardConstraintCommand(shardRelationId, constraintName, shardId);
@ -958,7 +958,7 @@ RenameShardRelationIndexes(Oid shardRelationId, uint64 shardId)
List *indexOidList = GetExplicitIndexOidList(shardRelationId); List *indexOidList = GetExplicitIndexOidList(shardRelationId);
Oid indexOid = InvalidOid; Oid indexOid = InvalidOid;
foreach_oid(indexOid, indexOidList) foreach_declared_oid(indexOid, indexOidList)
{ {
const char *commandString = GetRenameShardIndexCommand(indexOid, shardId); const char *commandString = GetRenameShardIndexCommand(indexOid, shardId);
ExecuteAndLogUtilityCommand(commandString); ExecuteAndLogUtilityCommand(commandString);
@ -1008,7 +1008,7 @@ RenameShardRelationStatistics(Oid shardRelationId, uint64 shardId)
List *statsCommandList = GetRenameStatsCommandList(statsOidList, shardId); List *statsCommandList = GetRenameStatsCommandList(statsOidList, shardId);
char *command = NULL; char *command = NULL;
foreach_ptr(command, statsCommandList) foreach_declared_ptr(command, statsCommandList)
{ {
ExecuteAndLogUtilityCommand(command); ExecuteAndLogUtilityCommand(command);
} }
@ -1044,7 +1044,7 @@ RenameShardRelationNonTruncateTriggers(Oid shardRelationId, uint64 shardId)
List *triggerIdList = GetExplicitTriggerIdList(shardRelationId); List *triggerIdList = GetExplicitTriggerIdList(shardRelationId);
Oid triggerId = InvalidOid; Oid triggerId = InvalidOid;
foreach_oid(triggerId, triggerIdList) foreach_declared_oid(triggerId, triggerIdList)
{ {
bool missingOk = false; bool missingOk = false;
HeapTuple triggerTuple = GetTriggerTupleById(triggerId, missingOk); HeapTuple triggerTuple = GetTriggerTupleById(triggerId, missingOk);
@ -1097,7 +1097,7 @@ DropRelationTruncateTriggers(Oid relationId)
List *triggerIdList = GetExplicitTriggerIdList(relationId); List *triggerIdList = GetExplicitTriggerIdList(relationId);
Oid triggerId = InvalidOid; Oid triggerId = InvalidOid;
foreach_oid(triggerId, triggerIdList) foreach_declared_oid(triggerId, triggerIdList)
{ {
bool missingOk = false; bool missingOk = false;
HeapTuple triggerTuple = GetTriggerTupleById(triggerId, missingOk); HeapTuple triggerTuple = GetTriggerTupleById(triggerId, missingOk);
@ -1175,7 +1175,7 @@ DropIdentitiesOnTable(Oid relationId)
relation_close(relation, NoLock); relation_close(relation, NoLock);
char *dropCommand = NULL; char *dropCommand = NULL;
foreach_ptr(dropCommand, dropCommandList) foreach_declared_ptr(dropCommand, dropCommandList)
{ {
/* /*
* We need to disable/enable ddl propagation for this command, to prevent * We need to disable/enable ddl propagation for this command, to prevent
@ -1218,7 +1218,7 @@ DropViewsOnTable(Oid relationId)
List *reverseOrderedViews = ReversedOidList(views); List *reverseOrderedViews = ReversedOidList(views);
Oid viewId = InvalidOid; Oid viewId = InvalidOid;
foreach_oid(viewId, reverseOrderedViews) foreach_declared_oid(viewId, reverseOrderedViews)
{ {
char *qualifiedViewName = generate_qualified_relation_name(viewId); char *qualifiedViewName = generate_qualified_relation_name(viewId);
@ -1241,7 +1241,7 @@ ReversedOidList(List *oidList)
{ {
List *reversed = NIL; List *reversed = NIL;
Oid oid = InvalidOid; Oid oid = InvalidOid;
foreach_oid(oid, oidList) foreach_declared_oid(oid, oidList)
{ {
reversed = lcons_oid(oid, reversed); reversed = lcons_oid(oid, reversed);
} }
@ -1293,7 +1293,7 @@ GetRenameStatsCommandList(List *statsOidList, uint64 shardId)
{ {
List *statsCommandList = NIL; List *statsCommandList = NIL;
Oid statsOid; Oid statsOid;
foreach_oid(statsOid, statsOidList) foreach_declared_oid(statsOid, statsOidList)
{ {
HeapTuple tup = SearchSysCache1(STATEXTOID, ObjectIdGetDatum(statsOid)); HeapTuple tup = SearchSysCache1(STATEXTOID, ObjectIdGetDatum(statsOid));

View File

@ -115,7 +115,7 @@ static bool
IsClusterStmtVerbose_compat(ClusterStmt *clusterStmt) IsClusterStmtVerbose_compat(ClusterStmt *clusterStmt)
{ {
DefElem *opt = NULL; DefElem *opt = NULL;
foreach_ptr(opt, clusterStmt->params) foreach_declared_ptr(opt, clusterStmt->params)
{ {
if (strcmp(opt->defname, "verbose") == 0) if (strcmp(opt->defname, "verbose") == 0)
{ {

View File

@ -235,7 +235,7 @@ PreprocessDropDistributedObjectStmt(Node *node, const char *queryString,
List *distributedObjects = NIL; List *distributedObjects = NIL;
List *distributedObjectAddresses = NIL; List *distributedObjectAddresses = NIL;
Node *object = NULL; Node *object = NULL;
foreach_ptr(object, stmt->objects) foreach_declared_ptr(object, stmt->objects)
{ {
/* TODO understand if the lock should be sth else */ /* TODO understand if the lock should be sth else */
Relation rel = NULL; /* not used, but required to pass to get_object_address */ 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 * remove the entries for the distributed objects on dropping
*/ */
ObjectAddress *address = NULL; ObjectAddress *address = NULL;
foreach_ptr(address, distributedObjectAddresses) foreach_declared_ptr(address, distributedObjectAddresses)
{ {
UnmarkObjectDistributed(address); UnmarkObjectDistributed(address);
} }
@ -303,7 +303,7 @@ DropTextSearchDictObjectAddress(Node *node, bool missing_ok, bool isPostprocess)
List *objectAddresses = NIL; List *objectAddresses = NIL;
List *objNameList = NIL; List *objNameList = NIL;
foreach_ptr(objNameList, stmt->objects) foreach_declared_ptr(objNameList, stmt->objects)
{ {
Oid tsdictOid = get_ts_dict_oid(objNameList, missing_ok); 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 *objectAddresses = NIL;
List *objNameList = NIL; List *objNameList = NIL;
foreach_ptr(objNameList, stmt->objects) foreach_declared_ptr(objNameList, stmt->objects)
{ {
Oid tsconfigOid = get_ts_config_oid(objNameList, missing_ok); Oid tsconfigOid = get_ts_config_oid(objNameList, missing_ok);

View File

@ -834,7 +834,7 @@ HashSplitPointsForShardList(List *shardList)
List *splitPointList = NIL; List *splitPointList = NIL;
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardList) foreach_declared_ptr(shardInterval, shardList)
{ {
int32 shardMaxValue = DatumGetInt32(shardInterval->maxValue); int32 shardMaxValue = DatumGetInt32(shardInterval->maxValue);
@ -890,7 +890,7 @@ WorkerNodesForShardList(List *shardList)
List *nodeIdList = NIL; List *nodeIdList = NIL;
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardList) foreach_declared_ptr(shardInterval, shardList)
{ {
WorkerNode *workerNode = ActiveShardPlacementWorkerNode(shardInterval->shardId); WorkerNode *workerNode = ActiveShardPlacementWorkerNode(shardInterval->shardId);
nodeIdList = lappend_int(nodeIdList, workerNode->nodeId); nodeIdList = lappend_int(nodeIdList, workerNode->nodeId);
@ -1337,7 +1337,7 @@ CreateCitusTable(Oid relationId, CitusTableType tableType,
ALLOCSET_DEFAULT_SIZES); ALLOCSET_DEFAULT_SIZES);
MemoryContext oldContext = MemoryContextSwitchTo(citusPartitionContext); MemoryContext oldContext = MemoryContextSwitchTo(citusPartitionContext);
foreach_oid(partitionRelationId, partitionList) foreach_declared_oid(partitionRelationId, partitionList)
{ {
MemoryContextReset(citusPartitionContext); MemoryContextReset(citusPartitionContext);
@ -1551,7 +1551,7 @@ ConvertCitusLocalTableToTableType(Oid relationId, CitusTableType tableType,
MemoryContext oldContext = MemoryContextSwitchTo(citusPartitionContext); MemoryContext oldContext = MemoryContextSwitchTo(citusPartitionContext);
Oid partitionRelationId = InvalidOid; Oid partitionRelationId = InvalidOid;
foreach_oid(partitionRelationId, partitionList) foreach_declared_oid(partitionRelationId, partitionList)
{ {
MemoryContextReset(citusPartitionContext); MemoryContextReset(citusPartitionContext);
@ -1701,7 +1701,7 @@ EnsureSequenceTypeSupported(Oid seqOid, Oid attributeTypeId, Oid ownerRelationId
Oid attrDefOid; Oid attrDefOid;
List *attrDefOids = GetAttrDefsFromSequence(seqOid); List *attrDefOids = GetAttrDefsFromSequence(seqOid);
foreach_oid(attrDefOid, attrDefOids) foreach_declared_oid(attrDefOid, attrDefOids)
{ {
ObjectAddress columnAddress = GetAttrDefaultColumnAddress(attrDefOid); ObjectAddress columnAddress = GetAttrDefaultColumnAddress(attrDefOid);
@ -1783,7 +1783,7 @@ static void
EnsureDistributedSequencesHaveOneType(Oid relationId, List *seqInfoList) EnsureDistributedSequencesHaveOneType(Oid relationId, List *seqInfoList)
{ {
SequenceInfo *seqInfo = NULL; SequenceInfo *seqInfo = NULL;
foreach_ptr(seqInfo, seqInfoList) foreach_declared_ptr(seqInfo, seqInfoList)
{ {
if (!seqInfo->isNextValDefault) if (!seqInfo->isNextValDefault)
{ {

View File

@ -201,7 +201,7 @@ EnsureRequiredObjectSetExistOnAllNodes(const ObjectAddress *target,
*/ */
List *addressSortedDependencies = SortList(objectsWithCommands, List *addressSortedDependencies = SortList(objectsWithCommands,
ObjectAddressComparator); ObjectAddressComparator);
foreach_ptr(object, addressSortedDependencies) foreach_declared_ptr(object, addressSortedDependencies)
{ {
LockDatabaseObject(object->classId, object->objectId, LockDatabaseObject(object->classId, object->objectId,
object->objectSubId, ExclusiveLock); object->objectSubId, ExclusiveLock);
@ -240,7 +240,7 @@ EnsureRequiredObjectSetExistOnAllNodes(const ObjectAddress *target,
else else
{ {
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, remoteNodeList) foreach_declared_ptr(workerNode, remoteNodeList)
{ {
const char *nodeName = workerNode->workerName; const char *nodeName = workerNode->workerName;
uint32 nodePort = workerNode->workerPort; uint32 nodePort = workerNode->workerPort;
@ -256,7 +256,7 @@ EnsureRequiredObjectSetExistOnAllNodes(const ObjectAddress *target,
* that objects have been created on remote nodes before marking them * that objects have been created on remote nodes before marking them
* distributed, so MarkObjectDistributed wouldn't fail. * distributed, so MarkObjectDistributed wouldn't fail.
*/ */
foreach_ptr(object, objectsWithCommands) foreach_declared_ptr(object, objectsWithCommands)
{ {
/* /*
* pg_dist_object entries must be propagated with the super user, since * pg_dist_object entries must be propagated with the super user, since
@ -279,7 +279,7 @@ void
EnsureAllObjectDependenciesExistOnAllNodes(const List *targets) EnsureAllObjectDependenciesExistOnAllNodes(const List *targets)
{ {
ObjectAddress *target = NULL; ObjectAddress *target = NULL;
foreach_ptr(target, targets) foreach_declared_ptr(target, targets)
{ {
EnsureDependenciesExistOnAllNodes(target); EnsureDependenciesExistOnAllNodes(target);
} }
@ -336,7 +336,7 @@ DeferErrorIfCircularDependencyExists(const ObjectAddress *objectAddress)
List *dependencies = GetAllDependenciesForObject(objectAddress); List *dependencies = GetAllDependenciesForObject(objectAddress);
ObjectAddress *dependency = NULL; ObjectAddress *dependency = NULL;
foreach_ptr(dependency, dependencies) foreach_declared_ptr(dependency, dependencies)
{ {
if (dependency->classId == objectAddress->classId && if (dependency->classId == objectAddress->classId &&
dependency->objectId == objectAddress->objectId && dependency->objectId == objectAddress->objectId &&
@ -424,7 +424,7 @@ GetDistributableDependenciesForObject(const ObjectAddress *target)
/* filter the ones that can be distributed */ /* filter the ones that can be distributed */
ObjectAddress *dependency = NULL; 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 * TODO: maybe we can optimize the logic applied in below line. Actually we
@ -508,7 +508,7 @@ GetDependencyCreateDDLCommands(const ObjectAddress *dependency)
INCLUDE_IDENTITY, INCLUDE_IDENTITY,
creatingShellTableOnRemoteNode); creatingShellTableOnRemoteNode);
TableDDLCommand *tableDDLCommand = NULL; TableDDLCommand *tableDDLCommand = NULL;
foreach_ptr(tableDDLCommand, tableDDLCommands) foreach_declared_ptr(tableDDLCommand, tableDDLCommands)
{ {
Assert(CitusIsA(tableDDLCommand, TableDDLCommand)); Assert(CitusIsA(tableDDLCommand, TableDDLCommand));
commandList = lappend(commandList, GetTableDDLCommand( commandList = lappend(commandList, GetTableDDLCommand(
@ -683,7 +683,7 @@ GetAllDependencyCreateDDLCommands(const List *dependencies)
List *commands = NIL; List *commands = NIL;
ObjectAddress *dependency = NULL; ObjectAddress *dependency = NULL;
foreach_ptr(dependency, dependencies) foreach_declared_ptr(dependency, dependencies)
{ {
commands = list_concat(commands, GetDependencyCreateDDLCommands(dependency)); commands = list_concat(commands, GetDependencyCreateDDLCommands(dependency));
} }
@ -831,7 +831,7 @@ bool
ShouldPropagateAnyObject(List *addresses) ShouldPropagateAnyObject(List *addresses)
{ {
ObjectAddress *address = NULL; ObjectAddress *address = NULL;
foreach_ptr(address, addresses) foreach_declared_ptr(address, addresses)
{ {
if (ShouldPropagateObject(address)) if (ShouldPropagateObject(address))
{ {
@ -853,7 +853,7 @@ FilterObjectAddressListByPredicate(List *objectAddressList, AddressPredicate pre
List *result = NIL; List *result = NIL;
ObjectAddress *address = NULL; ObjectAddress *address = NULL;
foreach_ptr(address, objectAddressList) foreach_declared_ptr(address, objectAddressList)
{ {
if (predicate(address)) if (predicate(address))
{ {

View File

@ -210,7 +210,7 @@ MakeCollateClauseFromOid(Oid collationOid)
getObjectIdentityParts(&collateAddress, &objName, &objArgs, false); getObjectIdentityParts(&collateAddress, &objName, &objArgs, false);
char *name = NULL; char *name = NULL;
foreach_ptr(name, objName) foreach_declared_ptr(name, objName)
{ {
collateClause->collname = lappend(collateClause->collname, makeString(name)); collateClause->collname = lappend(collateClause->collname, makeString(name));
} }

View File

@ -274,7 +274,7 @@ PreprocessDropExtensionStmt(Node *node, const char *queryString,
/* unmark each distributed extension */ /* unmark each distributed extension */
ObjectAddress *address = NULL; ObjectAddress *address = NULL;
foreach_ptr(address, distributedExtensionAddresses) foreach_declared_ptr(address, distributedExtensionAddresses)
{ {
UnmarkObjectDistributed(address); UnmarkObjectDistributed(address);
} }
@ -313,7 +313,7 @@ FilterDistributedExtensions(List *extensionObjectList)
List *extensionNameList = NIL; List *extensionNameList = NIL;
String *objectName = NULL; String *objectName = NULL;
foreach_ptr(objectName, extensionObjectList) foreach_declared_ptr(objectName, extensionObjectList)
{ {
const char *extensionName = strVal(objectName); const char *extensionName = strVal(objectName);
const bool missingOk = true; const bool missingOk = true;
@ -351,7 +351,7 @@ ExtensionNameListToObjectAddressList(List *extensionObjectList)
List *extensionObjectAddressList = NIL; List *extensionObjectAddressList = NIL;
String *objectName; String *objectName;
foreach_ptr(objectName, extensionObjectList) foreach_declared_ptr(objectName, extensionObjectList)
{ {
/* /*
* We set missingOk to false as we assume all the objects in * We set missingOk to false as we assume all the objects in
@ -527,7 +527,7 @@ MarkExistingObjectDependenciesDistributedIfSupported()
List *citusTableIdList = CitusTableTypeIdList(ANY_CITUS_TABLE_TYPE); List *citusTableIdList = CitusTableTypeIdList(ANY_CITUS_TABLE_TYPE);
Oid citusTableId = InvalidOid; Oid citusTableId = InvalidOid;
foreach_oid(citusTableId, citusTableIdList) foreach_declared_oid(citusTableId, citusTableIdList)
{ {
if (!ShouldMarkRelationDistributed(citusTableId)) if (!ShouldMarkRelationDistributed(citusTableId))
{ {
@ -571,7 +571,7 @@ MarkExistingObjectDependenciesDistributedIfSupported()
*/ */
List *viewList = GetAllViews(); List *viewList = GetAllViews();
Oid viewOid = InvalidOid; Oid viewOid = InvalidOid;
foreach_oid(viewOid, viewList) foreach_declared_oid(viewOid, viewList)
{ {
if (!ShouldMarkRelationDistributed(viewOid)) if (!ShouldMarkRelationDistributed(viewOid))
{ {
@ -605,7 +605,7 @@ MarkExistingObjectDependenciesDistributedIfSupported()
List *distributedObjectAddressList = GetDistributedObjectAddressList(); List *distributedObjectAddressList = GetDistributedObjectAddressList();
ObjectAddress *distributedObjectAddress = NULL; ObjectAddress *distributedObjectAddress = NULL;
foreach_ptr(distributedObjectAddress, distributedObjectAddressList) foreach_declared_ptr(distributedObjectAddress, distributedObjectAddressList)
{ {
List *distributableDependencyObjectAddresses = List *distributableDependencyObjectAddresses =
GetDistributableDependenciesForObject(distributedObjectAddress); GetDistributableDependenciesForObject(distributedObjectAddress);
@ -627,7 +627,7 @@ MarkExistingObjectDependenciesDistributedIfSupported()
SetLocalEnableMetadataSync(false); SetLocalEnableMetadataSync(false);
ObjectAddress *objectAddress = NULL; ObjectAddress *objectAddress = NULL;
foreach_ptr(objectAddress, uniqueObjectAddresses) foreach_declared_ptr(objectAddress, uniqueObjectAddresses)
{ {
MarkObjectDistributed(objectAddress); 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 */ /* now that we have a DropStmt, check if citus extension is among the objects to dropped */
String *objectName; String *objectName;
foreach_ptr(objectName, dropStmt->objects) foreach_declared_ptr(objectName, dropStmt->objects)
{ {
const char *extensionName = strVal(objectName); const char *extensionName = strVal(objectName);
@ -1061,7 +1061,7 @@ GenerateGrantCommandsOnExtensionDependentFDWs(Oid extensionId)
List *FDWOids = GetDependentFDWsToExtension(extensionId); List *FDWOids = GetDependentFDWsToExtension(extensionId);
Oid FDWOid = InvalidOid; Oid FDWOid = InvalidOid;
foreach_oid(FDWOid, FDWOids) foreach_declared_oid(FDWOid, FDWOids)
{ {
Acl *aclEntry = GetPrivilegesForFDW(FDWOid); Acl *aclEntry = GetPrivilegesForFDW(FDWOid);

View File

@ -202,7 +202,7 @@ ErrorIfUnsupportedForeignConstraintExists(Relation relation, char referencingDis
List *foreignKeyOids = GetForeignKeyOids(referencingTableId, flags); List *foreignKeyOids = GetForeignKeyOids(referencingTableId, flags);
Oid foreignKeyOid = InvalidOid; Oid foreignKeyOid = InvalidOid;
foreach_oid(foreignKeyOid, foreignKeyOids) foreach_declared_oid(foreignKeyOid, foreignKeyOids)
{ {
HeapTuple heapTuple = SearchSysCache1(CONSTROID, ObjectIdGetDatum(foreignKeyOid)); HeapTuple heapTuple = SearchSysCache1(CONSTROID, ObjectIdGetDatum(foreignKeyOid));
@ -414,7 +414,7 @@ ForeignKeySetsNextValColumnToDefault(HeapTuple pgConstraintTuple)
List *setDefaultAttrs = ForeignKeyGetDefaultingAttrs(pgConstraintTuple); List *setDefaultAttrs = ForeignKeyGetDefaultingAttrs(pgConstraintTuple);
AttrNumber setDefaultAttr = InvalidAttrNumber; AttrNumber setDefaultAttr = InvalidAttrNumber;
foreach_int(setDefaultAttr, setDefaultAttrs) foreach_declared_int(setDefaultAttr, setDefaultAttrs)
{ {
if (ColumnDefaultsToNextVal(pgConstraintForm->conrelid, setDefaultAttr)) if (ColumnDefaultsToNextVal(pgConstraintForm->conrelid, setDefaultAttr))
{ {
@ -727,7 +727,7 @@ ColumnAppearsInForeignKeyToReferenceTable(char *columnName, Oid relationId)
GetForeignKeyIdsForColumn(columnName, relationId, searchForeignKeyColumnFlags); GetForeignKeyIdsForColumn(columnName, relationId, searchForeignKeyColumnFlags);
Oid foreignKeyId = InvalidOid; Oid foreignKeyId = InvalidOid;
foreach_oid(foreignKeyId, foreignKeyIdsColumnAppeared) foreach_declared_oid(foreignKeyId, foreignKeyIdsColumnAppeared)
{ {
Oid referencedTableId = GetReferencedTableId(foreignKeyId); Oid referencedTableId = GetReferencedTableId(foreignKeyId);
if (IsCitusTableType(referencedTableId, REFERENCE_TABLE)) if (IsCitusTableType(referencedTableId, REFERENCE_TABLE))
@ -901,7 +901,7 @@ GetForeignConstraintCommandsInternal(Oid relationId, int flags)
int saveNestLevel = PushEmptySearchPath(); int saveNestLevel = PushEmptySearchPath();
Oid foreignKeyOid = InvalidOid; Oid foreignKeyOid = InvalidOid;
foreach_oid(foreignKeyOid, foreignKeyOids) foreach_declared_oid(foreignKeyOid, foreignKeyOids)
{ {
char *statementDef = pg_get_constraintdef_command(foreignKeyOid); char *statementDef = pg_get_constraintdef_command(foreignKeyOid);
@ -1157,7 +1157,7 @@ static Oid
FindForeignKeyOidWithName(List *foreignKeyOids, const char *inputConstraintName) FindForeignKeyOidWithName(List *foreignKeyOids, const char *inputConstraintName)
{ {
Oid foreignKeyOid = InvalidOid; Oid foreignKeyOid = InvalidOid;
foreach_oid(foreignKeyOid, foreignKeyOids) foreach_declared_oid(foreignKeyOid, foreignKeyOids)
{ {
char *constraintName = get_constraint_name(foreignKeyOid); char *constraintName = get_constraint_name(foreignKeyOid);
@ -1472,7 +1472,7 @@ RelationInvolvedInAnyNonInheritedForeignKeys(Oid relationId)
List *foreignKeysRelationInvolved = list_concat(referencingForeignKeys, List *foreignKeysRelationInvolved = list_concat(referencingForeignKeys,
referencedForeignKeys); referencedForeignKeys);
Oid foreignKeyId = InvalidOid; Oid foreignKeyId = InvalidOid;
foreach_oid(foreignKeyId, foreignKeysRelationInvolved) foreach_declared_oid(foreignKeyId, foreignKeysRelationInvolved)
{ {
HeapTuple heapTuple = SearchSysCache1(CONSTROID, ObjectIdGetDatum(foreignKeyId)); HeapTuple heapTuple = SearchSysCache1(CONSTROID, ObjectIdGetDatum(foreignKeyId));
if (!HeapTupleIsValid(heapTuple)) if (!HeapTupleIsValid(heapTuple))

View File

@ -86,7 +86,7 @@ static bool
NameListHasFDWOwnedByDistributedExtension(List *FDWNames) NameListHasFDWOwnedByDistributedExtension(List *FDWNames)
{ {
String *FDWValue = NULL; String *FDWValue = NULL;
foreach_ptr(FDWValue, FDWNames) foreach_declared_ptr(FDWValue, FDWNames)
{ {
/* captures the extension address during lookup */ /* captures the extension address during lookup */
ObjectAddress *extensionAddress = palloc0(sizeof(ObjectAddress)); ObjectAddress *extensionAddress = palloc0(sizeof(ObjectAddress));

View File

@ -229,7 +229,7 @@ RecreateForeignServerStmt(Oid serverId)
int location = -1; int location = -1;
DefElem *option = NULL; DefElem *option = NULL;
foreach_ptr(option, server->options) foreach_declared_ptr(option, server->options)
{ {
DefElem *copyOption = makeDefElem(option->defname, option->arg, location); DefElem *copyOption = makeDefElem(option->defname, option->arg, location);
createStmt->options = lappend(createStmt->options, copyOption); createStmt->options = lappend(createStmt->options, copyOption);
@ -247,7 +247,7 @@ static bool
NameListHasDistributedServer(List *serverNames) NameListHasDistributedServer(List *serverNames)
{ {
String *serverValue = NULL; String *serverValue = NULL;
foreach_ptr(serverValue, serverNames) foreach_declared_ptr(serverValue, serverNames)
{ {
List *addresses = GetObjectAddressByServerName(strVal(serverValue), false); List *addresses = GetObjectAddressByServerName(strVal(serverValue), false);

View File

@ -256,7 +256,7 @@ create_distributed_function(PG_FUNCTION_ARGS)
createFunctionSQL, alterFunctionOwnerSQL); createFunctionSQL, alterFunctionOwnerSQL);
List *grantDDLCommands = GrantOnFunctionDDLCommands(funcOid); List *grantDDLCommands = GrantOnFunctionDDLCommands(funcOid);
char *grantOnFunctionSQL = NULL; char *grantOnFunctionSQL = NULL;
foreach_ptr(grantOnFunctionSQL, grantDDLCommands) foreach_declared_ptr(grantOnFunctionSQL, grantDDLCommands)
{ {
appendStringInfo(&ddlCommand, ";%s", grantOnFunctionSQL); appendStringInfo(&ddlCommand, ";%s", grantOnFunctionSQL);
} }
@ -370,7 +370,7 @@ ErrorIfAnyNodeDoesNotHaveMetadata(void)
ActivePrimaryNonCoordinatorNodeList(ShareLock); ActivePrimaryNonCoordinatorNodeList(ShareLock);
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
if (!workerNode->hasMetadata) if (!workerNode->hasMetadata)
{ {
@ -1476,7 +1476,7 @@ CreateFunctionStmtObjectAddress(Node *node, bool missing_ok, bool isPostprocess)
objectWithArgs->objname = stmt->funcname; objectWithArgs->objname = stmt->funcname;
FunctionParameter *funcParam = NULL; FunctionParameter *funcParam = NULL;
foreach_ptr(funcParam, stmt->parameters) foreach_declared_ptr(funcParam, stmt->parameters)
{ {
if (ShouldAddFunctionSignature(funcParam->mode)) if (ShouldAddFunctionSignature(funcParam->mode))
{ {
@ -1519,7 +1519,7 @@ DefineAggregateStmtObjectAddress(Node *node, bool missing_ok, bool isPostprocess
if (stmt->args != NIL) if (stmt->args != NIL)
{ {
FunctionParameter *funcParam = NULL; FunctionParameter *funcParam = NULL;
foreach_ptr(funcParam, linitial(stmt->args)) foreach_declared_ptr(funcParam, linitial(stmt->args))
{ {
objectWithArgs->objargs = lappend(objectWithArgs->objargs, objectWithArgs->objargs = lappend(objectWithArgs->objargs,
funcParam->argType); funcParam->argType);
@ -1528,7 +1528,7 @@ DefineAggregateStmtObjectAddress(Node *node, bool missing_ok, bool isPostprocess
else else
{ {
DefElem *defItem = NULL; 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. * If no explicit args are given, pg includes basetype in the signature.
@ -1933,7 +1933,7 @@ static void
ErrorIfUnsupportedAlterFunctionStmt(AlterFunctionStmt *stmt) ErrorIfUnsupportedAlterFunctionStmt(AlterFunctionStmt *stmt)
{ {
DefElem *action = NULL; DefElem *action = NULL;
foreach_ptr(action, stmt->actions) foreach_declared_ptr(action, stmt->actions)
{ {
if (strcmp(action->defname, "set") == 0) if (strcmp(action->defname, "set") == 0)
{ {
@ -2040,7 +2040,7 @@ PreprocessGrantOnFunctionStmt(Node *node, const char *queryString,
List *grantFunctionList = NIL; List *grantFunctionList = NIL;
ObjectAddress *functionAddress = NULL; ObjectAddress *functionAddress = NULL;
foreach_ptr(functionAddress, distributedFunctions) foreach_declared_ptr(functionAddress, distributedFunctions)
{ {
ObjectWithArgs *distFunction = ObjectWithArgsFromOid( ObjectWithArgs *distFunction = ObjectWithArgsFromOid(
functionAddress->objectId); functionAddress->objectId);
@ -2083,7 +2083,7 @@ PostprocessGrantOnFunctionStmt(Node *node, const char *queryString)
} }
ObjectAddress *functionAddress = NULL; ObjectAddress *functionAddress = NULL;
foreach_ptr(functionAddress, distributedFunctions) foreach_declared_ptr(functionAddress, distributedFunctions)
{ {
EnsureAllObjectDependenciesExistOnAllNodes(list_make1(functionAddress)); EnsureAllObjectDependenciesExistOnAllNodes(list_make1(functionAddress));
} }
@ -2120,7 +2120,7 @@ FilterDistributedFunctions(GrantStmt *grantStmt)
/* iterate over all namespace names provided to get their oid's */ /* iterate over all namespace names provided to get their oid's */
String *namespaceValue = NULL; String *namespaceValue = NULL;
foreach_ptr(namespaceValue, grantStmt->objects) foreach_declared_ptr(namespaceValue, grantStmt->objects)
{ {
char *nspname = strVal(namespaceValue); char *nspname = strVal(namespaceValue);
bool missing_ok = false; bool missing_ok = false;
@ -2132,7 +2132,7 @@ FilterDistributedFunctions(GrantStmt *grantStmt)
* iterate over all distributed functions to filter the ones * iterate over all distributed functions to filter the ones
* that belong to one of the namespaces from above * 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); Oid namespaceOid = get_func_namespace(distributedFunction->objectId);
@ -2151,7 +2151,7 @@ FilterDistributedFunctions(GrantStmt *grantStmt)
{ {
bool missingOk = false; bool missingOk = false;
ObjectWithArgs *objectWithArgs = NULL; ObjectWithArgs *objectWithArgs = NULL;
foreach_ptr(objectWithArgs, grantStmt->objects) foreach_declared_ptr(objectWithArgs, grantStmt->objects)
{ {
ObjectAddress *functionAddress = palloc0(sizeof(ObjectAddress)); ObjectAddress *functionAddress = palloc0(sizeof(ObjectAddress));
functionAddress->classId = ProcedureRelationId; functionAddress->classId = ProcedureRelationId;

View File

@ -337,7 +337,7 @@ ExecuteFunctionOnEachTableIndex(Oid relationId, PGIndexProcessor pgIndexProcesso
List *indexIdList = RelationGetIndexList(relation); List *indexIdList = RelationGetIndexList(relation);
Oid indexId = InvalidOid; Oid indexId = InvalidOid;
foreach_oid(indexId, indexIdList) foreach_declared_oid(indexId, indexIdList)
{ {
HeapTuple indexTuple = SearchSysCache1(INDEXRELID, ObjectIdGetDatum(indexId)); HeapTuple indexTuple = SearchSysCache1(INDEXRELID, ObjectIdGetDatum(indexId));
if (!HeapTupleIsValid(indexTuple)) if (!HeapTupleIsValid(indexTuple))
@ -708,7 +708,7 @@ PreprocessDropIndexStmt(Node *node, const char *dropIndexCommand,
/* check if any of the indexes being dropped belong to a distributed table */ /* check if any of the indexes being dropped belong to a distributed table */
List *objectNameList = NULL; List *objectNameList = NULL;
foreach_ptr(objectNameList, dropIndexStatement->objects) foreach_declared_ptr(objectNameList, dropIndexStatement->objects)
{ {
struct DropRelationCallbackState state; struct DropRelationCallbackState state;
uint32 rvrFlags = RVR_MISSING_OK; uint32 rvrFlags = RVR_MISSING_OK;
@ -880,7 +880,7 @@ ErrorIfUnsupportedAlterIndexStmt(AlterTableStmt *alterTableStatement)
/* error out if any of the subcommands are unsupported */ /* error out if any of the subcommands are unsupported */
List *commandList = alterTableStatement->cmds; List *commandList = alterTableStatement->cmds;
AlterTableCmd *command = NULL; AlterTableCmd *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
AlterTableType alterTableType = command->subtype; AlterTableType alterTableType = command->subtype;
@ -932,7 +932,7 @@ CreateIndexTaskList(IndexStmt *indexStmt)
LockShardListMetadata(shardIntervalList, ShareLock); LockShardListMetadata(shardIntervalList, ShareLock);
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
uint64 shardId = shardInterval->shardId; uint64 shardId = shardInterval->shardId;
@ -977,7 +977,7 @@ CreateReindexTaskList(Oid relationId, ReindexStmt *reindexStmt)
LockShardListMetadata(shardIntervalList, ShareLock); LockShardListMetadata(shardIntervalList, ShareLock);
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
uint64 shardId = shardInterval->shardId; uint64 shardId = shardInterval->shardId;
@ -1226,7 +1226,7 @@ ErrorIfUnsupportedIndexStmt(IndexStmt *createIndexStatement)
Var *partitionKey = DistPartitionKeyOrError(relationId); Var *partitionKey = DistPartitionKeyOrError(relationId);
List *indexParameterList = createIndexStatement->indexParams; List *indexParameterList = createIndexStatement->indexParams;
IndexElem *indexElement = NULL; IndexElem *indexElement = NULL;
foreach_ptr(indexElement, indexParameterList) foreach_declared_ptr(indexElement, indexParameterList)
{ {
const char *columnName = indexElement->name; const char *columnName = indexElement->name;
@ -1295,7 +1295,7 @@ DropIndexTaskList(Oid relationId, Oid indexId, DropStmt *dropStmt)
LockShardListMetadata(shardIntervalList, ShareLock); LockShardListMetadata(shardIntervalList, ShareLock);
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
uint64 shardId = shardInterval->shardId; uint64 shardId = shardInterval->shardId;
char *shardIndexName = pstrdup(indexName); char *shardIndexName = pstrdup(indexName);

View File

@ -1957,7 +1957,7 @@ ShardIntervalListHasLocalPlacements(List *shardIntervalList)
{ {
int32 localGroupId = GetLocalGroupId(); int32 localGroupId = GetLocalGroupId();
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
if (ActiveShardPlacementOnGroup(localGroupId, shardInterval->shardId) != NULL) if (ActiveShardPlacementOnGroup(localGroupId, shardInterval->shardId) != NULL)
{ {
@ -2452,7 +2452,7 @@ ProcessAppendToShardOption(Oid relationId, CopyStmt *copyStatement)
bool appendToShardSet = false; bool appendToShardSet = false;
DefElem *defel = NULL; DefElem *defel = NULL;
foreach_ptr(defel, copyStatement->options) foreach_declared_ptr(defel, copyStatement->options)
{ {
if (strncmp(defel->defname, APPEND_TO_SHARD_OPTION, NAMEDATALEN) == 0) if (strncmp(defel->defname, APPEND_TO_SHARD_OPTION, NAMEDATALEN) == 0)
{ {

View File

@ -48,7 +48,7 @@ CreatePolicyCommands(Oid relationId)
List *policyList = GetPolicyListForRelation(relationId); List *policyList = GetPolicyListForRelation(relationId);
RowSecurityPolicy *policy; RowSecurityPolicy *policy;
foreach_ptr(policy, policyList) foreach_declared_ptr(policy, policyList)
{ {
char *createPolicyCommand = CreatePolicyCommandForPolicy(relationId, policy); char *createPolicyCommand = CreatePolicyCommandForPolicy(relationId, policy);
commands = lappend(commands, makeTableDDLCommandString(createPolicyCommand)); commands = lappend(commands, makeTableDDLCommandString(createPolicyCommand));
@ -88,7 +88,7 @@ GetPolicyListForRelation(Oid relationId)
List *policyList = NIL; List *policyList = NIL;
RowSecurityPolicy *policy; RowSecurityPolicy *policy;
foreach_ptr(policy, relation->rd_rsdesc->policies) foreach_declared_ptr(policy, relation->rd_rsdesc->policies)
{ {
policyList = lappend(policyList, policy); policyList = lappend(policyList, policy);
} }
@ -310,7 +310,7 @@ GetPolicyByName(Oid relationId, const char *policyName)
List *policyList = GetPolicyListForRelation(relationId); List *policyList = GetPolicyListForRelation(relationId);
RowSecurityPolicy *policy = NULL; RowSecurityPolicy *policy = NULL;
foreach_ptr(policy, policyList) foreach_declared_ptr(policy, policyList)
{ {
if (strncmp(policy->policy_name, policyName, NAMEDATALEN) == 0) if (strncmp(policy->policy_name, policyName, NAMEDATALEN) == 0)
{ {

View File

@ -158,7 +158,7 @@ BuildCreatePublicationStmt(Oid publicationId)
List *schemaIds = GetPublicationSchemas(publicationId); List *schemaIds = GetPublicationSchemas(publicationId);
Oid schemaId = InvalidOid; Oid schemaId = InvalidOid;
foreach_oid(schemaId, schemaIds) foreach_declared_oid(schemaId, schemaIds)
{ {
char *schemaName = get_namespace_name(schemaId); char *schemaName = get_namespace_name(schemaId);
@ -181,7 +181,7 @@ BuildCreatePublicationStmt(Oid publicationId)
/* mainly for consistent ordering in test output */ /* mainly for consistent ordering in test output */
relationIds = SortList(relationIds, CompareOids); relationIds = SortList(relationIds, CompareOids);
foreach_oid(relationId, relationIds) foreach_declared_oid(relationId, relationIds)
{ {
#if (PG_VERSION_NUM >= PG_VERSION_15) #if (PG_VERSION_NUM >= PG_VERSION_15)
bool tableOnly = false; bool tableOnly = false;
@ -414,7 +414,7 @@ GetAlterPublicationDDLCommandsForTable(Oid relationId, bool isAdd)
List *publicationIds = GetRelationPublications(relationId); List *publicationIds = GetRelationPublications(relationId);
Oid publicationId = InvalidOid; Oid publicationId = InvalidOid;
foreach_oid(publicationId, publicationIds) foreach_declared_oid(publicationId, publicationIds)
{ {
char *command = GetAlterPublicationTableDDLCommand(publicationId, char *command = GetAlterPublicationTableDDLCommand(publicationId,
relationId, isAdd); relationId, isAdd);

View File

@ -163,7 +163,7 @@ PostprocessAlterRoleStmt(Node *node, const char *queryString)
AlterRoleStmt *stmt = castNode(AlterRoleStmt, node); AlterRoleStmt *stmt = castNode(AlterRoleStmt, node);
DefElem *option = NULL; DefElem *option = NULL;
foreach_ptr(option, stmt->options) foreach_declared_ptr(option, stmt->options)
{ {
if (strcasecmp(option->defname, "password") == 0) if (strcasecmp(option->defname, "password") == 0)
{ {
@ -564,7 +564,7 @@ GenerateCreateOrAlterRoleCommand(Oid roleOid)
{ {
List *grantRoleStmts = GenerateGrantRoleStmtsOfRole(roleOid); List *grantRoleStmts = GenerateGrantRoleStmtsOfRole(roleOid);
Node *stmt = NULL; Node *stmt = NULL;
foreach_ptr(stmt, grantRoleStmts) foreach_declared_ptr(stmt, grantRoleStmts)
{ {
completeRoleList = lappend(completeRoleList, DeparseTreeNode(stmt)); completeRoleList = lappend(completeRoleList, DeparseTreeNode(stmt));
} }
@ -787,7 +787,7 @@ MakeSetStatementArguments(char *configurationName, char *configurationValue)
} }
char *configuration = NULL; char *configuration = NULL;
foreach_ptr(configuration, configurationList) foreach_declared_ptr(configuration, configurationList)
{ {
Node *arg = makeStringConst(configuration, -1); Node *arg = makeStringConst(configuration, -1);
args = lappend(args, arg); args = lappend(args, arg);
@ -823,7 +823,7 @@ GenerateGrantRoleStmtsFromOptions(RoleSpec *roleSpec, List *options)
List *stmts = NIL; List *stmts = NIL;
DefElem *option = NULL; DefElem *option = NULL;
foreach_ptr(option, options) foreach_declared_ptr(option, options)
{ {
if (strcmp(option->defname, "adminmembers") != 0 && if (strcmp(option->defname, "adminmembers") != 0 &&
strcmp(option->defname, "rolemembers") != 0 && strcmp(option->defname, "rolemembers") != 0 &&
@ -1047,7 +1047,7 @@ PreprocessCreateRoleStmt(Node *node, const char *queryString,
/* deparse all grant statements and add them to the commands list */ /* deparse all grant statements and add them to the commands list */
Node *stmt = NULL; Node *stmt = NULL;
foreach_ptr(stmt, grantRoleStmts) foreach_declared_ptr(stmt, grantRoleStmts)
{ {
commands = lappend(commands, DeparseTreeNode(stmt)); commands = lappend(commands, DeparseTreeNode(stmt));
} }
@ -1174,7 +1174,7 @@ void
UnmarkRolesDistributed(List *roles) UnmarkRolesDistributed(List *roles)
{ {
Node *roleNode = NULL; Node *roleNode = NULL;
foreach_ptr(roleNode, roles) foreach_declared_ptr(roleNode, roles)
{ {
RoleSpec *role = castNode(RoleSpec, roleNode); RoleSpec *role = castNode(RoleSpec, roleNode);
ObjectAddress roleAddress = { 0 }; ObjectAddress roleAddress = { 0 };
@ -1204,7 +1204,7 @@ FilterDistributedRoles(List *roles)
{ {
List *distributedRoles = NIL; List *distributedRoles = NIL;
Node *roleNode = NULL; Node *roleNode = NULL;
foreach_ptr(roleNode, roles) foreach_declared_ptr(roleNode, roles)
{ {
RoleSpec *role = castNode(RoleSpec, roleNode); RoleSpec *role = castNode(RoleSpec, roleNode);
Oid roleOid = get_rolespec_oid(role, true); Oid roleOid = get_rolespec_oid(role, true);
@ -1282,7 +1282,7 @@ PostprocessGrantRoleStmt(Node *node, const char *queryString)
GrantRoleStmt *stmt = castNode(GrantRoleStmt, node); GrantRoleStmt *stmt = castNode(GrantRoleStmt, node);
RoleSpec *role = NULL; RoleSpec *role = NULL;
foreach_ptr(role, stmt->grantee_roles) foreach_declared_ptr(role, stmt->grantee_roles)
{ {
Oid roleOid = get_rolespec_oid(role, false); Oid roleOid = get_rolespec_oid(role, false);
ObjectAddress *roleAddress = palloc0(sizeof(ObjectAddress)); ObjectAddress *roleAddress = palloc0(sizeof(ObjectAddress));

View File

@ -162,7 +162,7 @@ PreprocessDropSchemaStmt(Node *node, const char *queryString,
EnsureSequentialMode(OBJECT_SCHEMA); EnsureSequentialMode(OBJECT_SCHEMA);
String *schemaVal = NULL; String *schemaVal = NULL;
foreach_ptr(schemaVal, distributedSchemas) foreach_declared_ptr(schemaVal, distributedSchemas)
{ {
if (SchemaHasDistributedTableWithFKey(strVal(schemaVal))) if (SchemaHasDistributedTableWithFKey(strVal(schemaVal)))
{ {
@ -322,7 +322,7 @@ FilterDistributedSchemas(List *schemas)
List *distributedSchemas = NIL; List *distributedSchemas = NIL;
String *schemaValue = NULL; String *schemaValue = NULL;
foreach_ptr(schemaValue, schemas) foreach_declared_ptr(schemaValue, schemas)
{ {
const char *schemaName = strVal(schemaValue); const char *schemaName = strVal(schemaValue);
Oid schemaOid = get_namespace_oid(schemaName, true); Oid schemaOid = get_namespace_oid(schemaName, true);
@ -443,7 +443,7 @@ GetGrantCommandsFromCreateSchemaStmt(Node *node)
CreateSchemaStmt *stmt = castNode(CreateSchemaStmt, node); CreateSchemaStmt *stmt = castNode(CreateSchemaStmt, node);
Node *element = NULL; Node *element = NULL;
foreach_ptr(element, stmt->schemaElts) foreach_declared_ptr(element, stmt->schemaElts)
{ {
if (!IsA(element, GrantStmt)) if (!IsA(element, GrantStmt))
{ {
@ -480,7 +480,7 @@ static bool
CreateSchemaStmtCreatesTable(CreateSchemaStmt *stmt) CreateSchemaStmtCreatesTable(CreateSchemaStmt *stmt)
{ {
Node *element = NULL; Node *element = NULL;
foreach_ptr(element, stmt->schemaElts) foreach_declared_ptr(element, stmt->schemaElts)
{ {
/* /*
* CREATE TABLE AS and CREATE FOREIGN TABLE commands cannot be * CREATE TABLE AS and CREATE FOREIGN TABLE commands cannot be

View File

@ -174,7 +174,7 @@ EnsureTableKindSupportedForTenantSchema(Oid relationId)
List *partitionList = PartitionList(relationId); List *partitionList = PartitionList(relationId);
Oid partitionRelationId = InvalidOid; Oid partitionRelationId = InvalidOid;
foreach_oid(partitionRelationId, partitionList) foreach_declared_oid(partitionRelationId, partitionList)
{ {
ErrorIfIllegalPartitioningInTenantSchema(relationId, partitionRelationId); ErrorIfIllegalPartitioningInTenantSchema(relationId, partitionRelationId);
} }
@ -199,7 +199,7 @@ EnsureFKeysForTenantTable(Oid relationId)
int fKeyReferencingFlags = INCLUDE_REFERENCING_CONSTRAINTS | INCLUDE_ALL_TABLE_TYPES; int fKeyReferencingFlags = INCLUDE_REFERENCING_CONSTRAINTS | INCLUDE_ALL_TABLE_TYPES;
List *referencingForeignKeys = GetForeignKeyOids(relationId, fKeyReferencingFlags); List *referencingForeignKeys = GetForeignKeyOids(relationId, fKeyReferencingFlags);
Oid foreignKeyId = InvalidOid; Oid foreignKeyId = InvalidOid;
foreach_oid(foreignKeyId, referencingForeignKeys) foreach_declared_oid(foreignKeyId, referencingForeignKeys)
{ {
Oid referencingTableId = GetReferencingTableId(foreignKeyId); Oid referencingTableId = GetReferencingTableId(foreignKeyId);
Oid referencedTableId = GetReferencedTableId(foreignKeyId); Oid referencedTableId = GetReferencedTableId(foreignKeyId);
@ -232,7 +232,7 @@ EnsureFKeysForTenantTable(Oid relationId)
int fKeyReferencedFlags = INCLUDE_REFERENCED_CONSTRAINTS | INCLUDE_ALL_TABLE_TYPES; int fKeyReferencedFlags = INCLUDE_REFERENCED_CONSTRAINTS | INCLUDE_ALL_TABLE_TYPES;
List *referencedForeignKeys = GetForeignKeyOids(relationId, fKeyReferencedFlags); List *referencedForeignKeys = GetForeignKeyOids(relationId, fKeyReferencedFlags);
foreach_oid(foreignKeyId, referencedForeignKeys) foreach_declared_oid(foreignKeyId, referencedForeignKeys)
{ {
Oid referencingTableId = GetReferencingTableId(foreignKeyId); Oid referencingTableId = GetReferencingTableId(foreignKeyId);
Oid referencedTableId = GetReferencedTableId(foreignKeyId); Oid referencedTableId = GetReferencedTableId(foreignKeyId);
@ -429,7 +429,7 @@ EnsureSchemaCanBeDistributed(Oid schemaId, List *schemaTableIdList)
} }
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, schemaTableIdList) foreach_declared_oid(relationId, schemaTableIdList)
{ {
EnsureTenantTable(relationId, "citus_schema_distribute"); EnsureTenantTable(relationId, "citus_schema_distribute");
} }
@ -637,7 +637,7 @@ citus_schema_distribute(PG_FUNCTION_ARGS)
List *tableIdListInSchema = SchemaGetNonShardTableIdList(schemaId); List *tableIdListInSchema = SchemaGetNonShardTableIdList(schemaId);
List *tableIdListToConvert = NIL; List *tableIdListToConvert = NIL;
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, tableIdListInSchema) foreach_declared_oid(relationId, tableIdListInSchema)
{ {
/* prevent concurrent drop of the relation */ /* prevent concurrent drop of the relation */
LockRelationOid(relationId, AccessShareLock); LockRelationOid(relationId, AccessShareLock);
@ -675,7 +675,7 @@ citus_schema_distribute(PG_FUNCTION_ARGS)
* tables. * tables.
*/ */
List *originalForeignKeyRecreationCommands = NIL; List *originalForeignKeyRecreationCommands = NIL;
foreach_oid(relationId, tableIdListToConvert) foreach_declared_oid(relationId, tableIdListToConvert)
{ {
List *fkeyCommandsForRelation = List *fkeyCommandsForRelation =
GetFKeyCreationCommandsRelationInvolvedWithTableType(relationId, GetFKeyCreationCommandsRelationInvolvedWithTableType(relationId,
@ -741,7 +741,7 @@ citus_schema_undistribute(PG_FUNCTION_ARGS)
List *tableIdListInSchema = SchemaGetNonShardTableIdList(schemaId); List *tableIdListInSchema = SchemaGetNonShardTableIdList(schemaId);
List *tableIdListToConvert = NIL; List *tableIdListToConvert = NIL;
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, tableIdListInSchema) foreach_declared_oid(relationId, tableIdListInSchema)
{ {
/* prevent concurrent drop of the relation */ /* prevent concurrent drop of the relation */
LockRelationOid(relationId, AccessShareLock); LockRelationOid(relationId, AccessShareLock);
@ -883,7 +883,7 @@ TenantSchemaPickAnchorShardId(Oid schemaId)
} }
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, tablesInSchema) foreach_declared_oid(relationId, tablesInSchema)
{ {
/* /*
* Make sure the relation isn't dropped for the remainder of * Make sure the relation isn't dropped for the remainder of

View File

@ -123,7 +123,7 @@ static bool
OptionsSpecifyOwnedBy(List *optionList, Oid *ownedByTableId) OptionsSpecifyOwnedBy(List *optionList, Oid *ownedByTableId)
{ {
DefElem *defElem = NULL; DefElem *defElem = NULL;
foreach_ptr(defElem, optionList) foreach_declared_ptr(defElem, optionList)
{ {
if (strcmp(defElem->defname, "owned_by") == 0) if (strcmp(defElem->defname, "owned_by") == 0)
{ {
@ -202,7 +202,7 @@ ExtractDefaultColumnsAndOwnedSequences(Oid relationId, List **columnNameList,
} }
Oid ownedSequenceId = InvalidOid; Oid ownedSequenceId = InvalidOid;
foreach_oid(ownedSequenceId, columnOwnedSequences) foreach_declared_oid(ownedSequenceId, columnOwnedSequences)
{ {
/* /*
* A column might have multiple sequences one via OWNED BY one another * 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 *deletingSequencesList = stmt->objects;
List *objectNameList = NULL; List *objectNameList = NULL;
foreach_ptr(objectNameList, deletingSequencesList) foreach_declared_ptr(objectNameList, deletingSequencesList)
{ {
RangeVar *seq = makeRangeVarFromNameList(objectNameList); RangeVar *seq = makeRangeVarFromNameList(objectNameList);
@ -322,7 +322,7 @@ PreprocessDropSequenceStmt(Node *node, const char *queryString,
/* remove the entries for the distributed objects on dropping */ /* remove the entries for the distributed objects on dropping */
ObjectAddress *address = NULL; ObjectAddress *address = NULL;
foreach_ptr(address, distributedSequenceAddresses) foreach_declared_ptr(address, distributedSequenceAddresses)
{ {
UnmarkObjectDistributed(address); UnmarkObjectDistributed(address);
} }
@ -356,7 +356,7 @@ SequenceDropStmtObjectAddress(Node *stmt, bool missing_ok, bool isPostprocess)
List *droppingSequencesList = dropSeqStmt->objects; List *droppingSequencesList = dropSeqStmt->objects;
List *objectNameList = NULL; List *objectNameList = NULL;
foreach_ptr(objectNameList, droppingSequencesList) foreach_declared_ptr(objectNameList, droppingSequencesList)
{ {
RangeVar *seq = makeRangeVarFromNameList(objectNameList); RangeVar *seq = makeRangeVarFromNameList(objectNameList);
@ -476,7 +476,7 @@ PreprocessAlterSequenceStmt(Node *node, const char *queryString,
{ {
List *options = stmt->options; List *options = stmt->options;
DefElem *defel = NULL; DefElem *defel = NULL;
foreach_ptr(defel, options) foreach_declared_ptr(defel, options)
{ {
if (strcmp(defel->defname, "as") == 0) if (strcmp(defel->defname, "as") == 0)
{ {
@ -511,7 +511,7 @@ SequenceUsedInDistributedTable(const ObjectAddress *sequenceAddress, char depTyp
Oid relationId; Oid relationId;
List *relations = GetDependentRelationsWithSequence(sequenceAddress->objectId, List *relations = GetDependentRelationsWithSequence(sequenceAddress->objectId,
depType); depType);
foreach_oid(relationId, relations) foreach_declared_oid(relationId, relations)
{ {
if (IsCitusTable(relationId)) if (IsCitusTable(relationId))
{ {
@ -930,7 +930,7 @@ PostprocessGrantOnSequenceStmt(Node *node, const char *queryString)
EnsureCoordinator(); EnsureCoordinator();
RangeVar *sequence = NULL; RangeVar *sequence = NULL;
foreach_ptr(sequence, distributedSequences) foreach_declared_ptr(sequence, distributedSequences)
{ {
ObjectAddress *sequenceAddress = palloc0(sizeof(ObjectAddress)); ObjectAddress *sequenceAddress = palloc0(sizeof(ObjectAddress));
Oid sequenceOid = RangeVarGetRelid(sequence, NoLock, false); Oid sequenceOid = RangeVarGetRelid(sequence, NoLock, false);
@ -1014,7 +1014,7 @@ FilterDistributedSequences(GrantStmt *stmt)
/* iterate over all namespace names provided to get their oid's */ /* iterate over all namespace names provided to get their oid's */
List *namespaceOidList = NIL; List *namespaceOidList = NIL;
String *namespaceValue = NULL; String *namespaceValue = NULL;
foreach_ptr(namespaceValue, stmt->objects) foreach_declared_ptr(namespaceValue, stmt->objects)
{ {
char *nspname = strVal(namespaceValue); char *nspname = strVal(namespaceValue);
bool missing_ok = false; bool missing_ok = false;
@ -1028,7 +1028,7 @@ FilterDistributedSequences(GrantStmt *stmt)
*/ */
List *distributedSequenceList = DistributedSequenceList(); List *distributedSequenceList = DistributedSequenceList();
ObjectAddress *sequenceAddress = NULL; ObjectAddress *sequenceAddress = NULL;
foreach_ptr(sequenceAddress, distributedSequenceList) foreach_declared_ptr(sequenceAddress, distributedSequenceList)
{ {
Oid namespaceOid = get_rel_namespace(sequenceAddress->objectId); Oid namespaceOid = get_rel_namespace(sequenceAddress->objectId);
@ -1052,7 +1052,7 @@ FilterDistributedSequences(GrantStmt *stmt)
{ {
bool missing_ok = false; bool missing_ok = false;
RangeVar *sequenceRangeVar = NULL; RangeVar *sequenceRangeVar = NULL;
foreach_ptr(sequenceRangeVar, stmt->objects) foreach_declared_ptr(sequenceRangeVar, stmt->objects)
{ {
Oid sequenceOid = RangeVarGetRelid(sequenceRangeVar, NoLock, missing_ok); Oid sequenceOid = RangeVarGetRelid(sequenceRangeVar, NoLock, missing_ok);
ObjectAddress *sequenceAddress = palloc0(sizeof(ObjectAddress)); ObjectAddress *sequenceAddress = palloc0(sizeof(ObjectAddress));

View File

@ -184,7 +184,7 @@ PreprocessDropStatisticsStmt(Node *node, const char *queryString,
List *ddlJobs = NIL; List *ddlJobs = NIL;
List *processedStatsOids = NIL; List *processedStatsOids = NIL;
List *objectNameList = NULL; List *objectNameList = NULL;
foreach_ptr(objectNameList, dropStatisticsStmt->objects) foreach_declared_ptr(objectNameList, dropStatisticsStmt->objects)
{ {
Oid statsOid = get_statistics_object_oid(objectNameList, Oid statsOid = get_statistics_object_oid(objectNameList,
dropStatisticsStmt->missing_ok); dropStatisticsStmt->missing_ok);
@ -234,7 +234,7 @@ DropStatisticsObjectAddress(Node *node, bool missing_ok, bool isPostprocess)
List *objectAddresses = NIL; List *objectAddresses = NIL;
List *objectNameList = NULL; List *objectNameList = NULL;
foreach_ptr(objectNameList, dropStatisticsStmt->objects) foreach_declared_ptr(objectNameList, dropStatisticsStmt->objects)
{ {
Oid statsOid = get_statistics_object_oid(objectNameList, Oid statsOid = get_statistics_object_oid(objectNameList,
dropStatisticsStmt->missing_ok); dropStatisticsStmt->missing_ok);
@ -535,7 +535,7 @@ GetExplicitStatisticsCommandList(Oid relationId)
int saveNestLevel = PushEmptySearchPath(); int saveNestLevel = PushEmptySearchPath();
Oid statisticsId = InvalidOid; Oid statisticsId = InvalidOid;
foreach_oid(statisticsId, statisticsIdList) foreach_declared_oid(statisticsId, statisticsIdList)
{ {
/* we need create commands for already created stats before distribution */ /* we need create commands for already created stats before distribution */
Datum commandText = DirectFunctionCall1(pg_get_statisticsobjdef, Datum commandText = DirectFunctionCall1(pg_get_statisticsobjdef,
@ -606,7 +606,7 @@ GetExplicitStatisticsSchemaIdList(Oid relationId)
RelationClose(relation); RelationClose(relation);
Oid statsId = InvalidOid; Oid statsId = InvalidOid;
foreach_oid(statsId, statsIdList) foreach_declared_oid(statsId, statsIdList)
{ {
HeapTuple heapTuple = SearchSysCache1(STATEXTOID, ObjectIdGetDatum(statsId)); HeapTuple heapTuple = SearchSysCache1(STATEXTOID, ObjectIdGetDatum(statsId));
if (!HeapTupleIsValid(heapTuple)) if (!HeapTupleIsValid(heapTuple))

View File

@ -154,7 +154,7 @@ PreprocessDropTableStmt(Node *node, const char *queryString,
Assert(dropTableStatement->removeType == OBJECT_TABLE); Assert(dropTableStatement->removeType == OBJECT_TABLE);
List *tableNameList = NULL; List *tableNameList = NULL;
foreach_ptr(tableNameList, dropTableStatement->objects) foreach_declared_ptr(tableNameList, dropTableStatement->objects)
{ {
RangeVar *tableRangeVar = makeRangeVarFromNameList(tableNameList); RangeVar *tableRangeVar = makeRangeVarFromNameList(tableNameList);
bool missingOK = true; bool missingOK = true;
@ -202,7 +202,7 @@ PreprocessDropTableStmt(Node *node, const char *queryString,
SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION); SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION);
Oid partitionRelationId = InvalidOid; Oid partitionRelationId = InvalidOid;
foreach_oid(partitionRelationId, partitionList) foreach_declared_oid(partitionRelationId, partitionList)
{ {
char *detachPartitionCommand = char *detachPartitionCommand =
GenerateDetachPartitionCommand(partitionRelationId); GenerateDetachPartitionCommand(partitionRelationId);
@ -263,7 +263,7 @@ PostprocessCreateTableStmt(CreateStmt *createStatement, const char *queryString)
} }
RangeVar *parentRelation = NULL; RangeVar *parentRelation = NULL;
foreach_ptr(parentRelation, createStatement->inhRelations) foreach_declared_ptr(parentRelation, createStatement->inhRelations)
{ {
Oid parentRelationId = RangeVarGetRelid(parentRelation, NoLock, Oid parentRelationId = RangeVarGetRelid(parentRelation, NoLock,
missingOk); missingOk);
@ -480,7 +480,7 @@ PreprocessAlterTableStmtAttachPartition(AlterTableStmt *alterTableStatement,
{ {
List *commandList = alterTableStatement->cmds; List *commandList = alterTableStatement->cmds;
AlterTableCmd *alterTableCommand = NULL; AlterTableCmd *alterTableCommand = NULL;
foreach_ptr(alterTableCommand, commandList) foreach_declared_ptr(alterTableCommand, commandList)
{ {
if (alterTableCommand->subtype == AT_AttachPartition) if (alterTableCommand->subtype == AT_AttachPartition)
{ {
@ -792,7 +792,7 @@ ChooseForeignKeyConstraintNameAddition(List *columnNames)
String *columnNameString = NULL; String *columnNameString = NULL;
foreach_ptr(columnNameString, columnNames) foreach_declared_ptr(columnNameString, columnNames)
{ {
const char *name = strVal(columnNameString); const char *name = strVal(columnNameString);
@ -1314,7 +1314,7 @@ PreprocessAlterTableStmt(Node *node, const char *alterTableCommand,
AlterTableCmd *newCmd = makeNode(AlterTableCmd); AlterTableCmd *newCmd = makeNode(AlterTableCmd);
AlterTableCmd *command = NULL; AlterTableCmd *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
AlterTableType alterTableType = command->subtype; AlterTableType alterTableType = command->subtype;
@ -1418,7 +1418,7 @@ PreprocessAlterTableStmt(Node *node, const char *alterTableCommand,
List *columnConstraints = columnDefinition->constraints; List *columnConstraints = columnDefinition->constraints;
Constraint *constraint = NULL; Constraint *constraint = NULL;
foreach_ptr(constraint, columnConstraints) foreach_declared_ptr(constraint, columnConstraints)
{ {
if (constraint->contype == CONSTR_FOREIGN) if (constraint->contype == CONSTR_FOREIGN)
{ {
@ -1442,7 +1442,7 @@ PreprocessAlterTableStmt(Node *node, const char *alterTableCommand,
deparseAT = true; deparseAT = true;
constraint = NULL; constraint = NULL;
foreach_ptr(constraint, columnConstraints) foreach_declared_ptr(constraint, columnConstraints)
{ {
if (ConstrTypeCitusCanDefaultName(constraint->contype)) if (ConstrTypeCitusCanDefaultName(constraint->contype))
{ {
@ -1467,7 +1467,7 @@ PreprocessAlterTableStmt(Node *node, const char *alterTableCommand,
*/ */
constraint = NULL; constraint = NULL;
int constraintIdx = 0; int constraintIdx = 0;
foreach_ptr(constraint, columnConstraints) foreach_declared_ptr(constraint, columnConstraints)
{ {
if (constraint->contype == CONSTR_DEFAULT) if (constraint->contype == CONSTR_DEFAULT)
{ {
@ -1696,7 +1696,7 @@ DeparserSupportsAlterTableAddColumn(AlterTableStmt *alterTableStatement,
{ {
ColumnDef *columnDefinition = (ColumnDef *) addColumnSubCommand->def; ColumnDef *columnDefinition = (ColumnDef *) addColumnSubCommand->def;
Constraint *constraint = NULL; Constraint *constraint = NULL;
foreach_ptr(constraint, columnDefinition->constraints) foreach_declared_ptr(constraint, columnDefinition->constraints)
{ {
if (constraint->contype == CONSTR_CHECK) if (constraint->contype == CONSTR_CHECK)
{ {
@ -1792,7 +1792,7 @@ static bool
RelationIdListContainsCitusTableType(List *relationIdList, CitusTableType citusTableType) RelationIdListContainsCitusTableType(List *relationIdList, CitusTableType citusTableType)
{ {
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
if (IsCitusTableType(relationId, citusTableType)) if (IsCitusTableType(relationId, citusTableType))
{ {
@ -1812,7 +1812,7 @@ static bool
RelationIdListContainsPostgresTable(List *relationIdList) RelationIdListContainsPostgresTable(List *relationIdList)
{ {
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
if (OidIsValid(relationId) && !IsCitusTable(relationId)) if (OidIsValid(relationId) && !IsCitusTable(relationId))
{ {
@ -1851,7 +1851,7 @@ ConvertPostgresLocalTablesToCitusLocalTables(AlterTableStmt *alterTableStatement
* change in below loop due to CreateCitusLocalTable. * change in below loop due to CreateCitusLocalTable.
*/ */
RangeVar *relationRangeVar; RangeVar *relationRangeVar;
foreach_ptr(relationRangeVar, relationRangeVarList) foreach_declared_ptr(relationRangeVar, relationRangeVarList)
{ {
List *commandList = alterTableStatement->cmds; List *commandList = alterTableStatement->cmds;
LOCKMODE lockMode = AlterTableGetLockLevel(commandList); LOCKMODE lockMode = AlterTableGetLockLevel(commandList);
@ -1979,7 +1979,7 @@ RangeVarListHasLocalRelationConvertedByUser(List *relationRangeVarList,
AlterTableStmt *alterTableStatement) AlterTableStmt *alterTableStatement)
{ {
RangeVar *relationRangeVar; 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 * 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; List *commandList = alterTableStatement->cmds;
AlterTableCmd *command = NULL; AlterTableCmd *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
List *commandForeignKeyConstraintList = List *commandForeignKeyConstraintList =
GetAlterTableCommandFKeyConstraintList(command); GetAlterTableCommandFKeyConstraintList(command);
@ -2116,7 +2116,7 @@ GetAlterTableCommandFKeyConstraintList(AlterTableCmd *command)
List *columnConstraints = columnDefinition->constraints; List *columnConstraints = columnDefinition->constraints;
Constraint *constraint = NULL; Constraint *constraint = NULL;
foreach_ptr(constraint, columnConstraints) foreach_declared_ptr(constraint, columnConstraints)
{ {
if (constraint->contype == CONSTR_FOREIGN) if (constraint->contype == CONSTR_FOREIGN)
{ {
@ -2139,7 +2139,7 @@ GetRangeVarListFromFKeyConstraintList(List *fKeyConstraintList)
List *rightRelationRangeVarList = NIL; List *rightRelationRangeVarList = NIL;
Constraint *fKeyConstraint = NULL; Constraint *fKeyConstraint = NULL;
foreach_ptr(fKeyConstraint, fKeyConstraintList) foreach_declared_ptr(fKeyConstraint, fKeyConstraintList)
{ {
RangeVar *rightRelationRangeVar = fKeyConstraint->pktable; RangeVar *rightRelationRangeVar = fKeyConstraint->pktable;
rightRelationRangeVarList = lappend(rightRelationRangeVarList, rightRelationRangeVarList = lappend(rightRelationRangeVarList,
@ -2160,7 +2160,7 @@ GetRelationIdListFromRangeVarList(List *rangeVarList, LOCKMODE lockMode, bool mi
List *relationIdList = NIL; List *relationIdList = NIL;
RangeVar *rangeVar = NULL; RangeVar *rangeVar = NULL;
foreach_ptr(rangeVar, rangeVarList) foreach_declared_ptr(rangeVar, rangeVarList)
{ {
Oid rightRelationId = RangeVarGetRelid(rangeVar, lockMode, missingOk); Oid rightRelationId = RangeVarGetRelid(rangeVar, lockMode, missingOk);
relationIdList = lappend_oid(relationIdList, rightRelationId); relationIdList = lappend_oid(relationIdList, rightRelationId);
@ -2234,7 +2234,7 @@ AlterTableDropsForeignKey(AlterTableStmt *alterTableStatement)
Oid relationId = AlterTableLookupRelation(alterTableStatement, lockmode); Oid relationId = AlterTableLookupRelation(alterTableStatement, lockmode);
AlterTableCmd *command = NULL; AlterTableCmd *command = NULL;
foreach_ptr(command, alterTableStatement->cmds) foreach_declared_ptr(command, alterTableStatement->cmds)
{ {
AlterTableType alterTableType = command->subtype; AlterTableType alterTableType = command->subtype;
@ -2296,7 +2296,7 @@ AnyForeignKeyDependsOnIndex(Oid indexId)
GetPgDependTuplesForDependingObjects(dependentObjectClassId, dependentObjectId); GetPgDependTuplesForDependingObjects(dependentObjectClassId, dependentObjectId);
HeapTuple dependencyTuple = NULL; HeapTuple dependencyTuple = NULL;
foreach_ptr(dependencyTuple, dependencyTupleList) foreach_declared_ptr(dependencyTuple, dependencyTupleList)
{ {
Form_pg_depend dependencyForm = (Form_pg_depend) GETSTRUCT(dependencyTuple); Form_pg_depend dependencyForm = (Form_pg_depend) GETSTRUCT(dependencyTuple);
Oid dependingClassId = dependencyForm->classid; Oid dependingClassId = dependencyForm->classid;
@ -2484,7 +2484,7 @@ SkipForeignKeyValidationIfConstraintIsFkey(AlterTableStmt *alterTableStatement,
* shards anyway. * shards anyway.
*/ */
AlterTableCmd *command = NULL; AlterTableCmd *command = NULL;
foreach_ptr(command, alterTableStatement->cmds) foreach_declared_ptr(command, alterTableStatement->cmds)
{ {
AlterTableType alterTableType = command->subtype; AlterTableType alterTableType = command->subtype;
@ -2565,7 +2565,7 @@ ErrorIfAlterDropsPartitionColumn(AlterTableStmt *alterTableStatement)
/* then check if any of subcommands drop partition column.*/ /* then check if any of subcommands drop partition column.*/
List *commandList = alterTableStatement->cmds; List *commandList = alterTableStatement->cmds;
AlterTableCmd *command = NULL; AlterTableCmd *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
AlterTableType alterTableType = command->subtype; AlterTableType alterTableType = command->subtype;
if (alterTableType == AT_DropColumn) if (alterTableType == AT_DropColumn)
@ -2634,7 +2634,7 @@ PostprocessAlterTableStmt(AlterTableStmt *alterTableStatement)
List *commandList = alterTableStatement->cmds; List *commandList = alterTableStatement->cmds;
AlterTableCmd *command = NULL; AlterTableCmd *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
AlterTableType alterTableType = command->subtype; AlterTableType alterTableType = command->subtype;
@ -2670,7 +2670,7 @@ PostprocessAlterTableStmt(AlterTableStmt *alterTableStatement)
} }
Constraint *constraint = NULL; Constraint *constraint = NULL;
foreach_ptr(constraint, columnConstraints) foreach_declared_ptr(constraint, columnConstraints)
{ {
if (constraint->conname == NULL && if (constraint->conname == NULL &&
(constraint->contype == CONSTR_PRIMARY || (constraint->contype == CONSTR_PRIMARY ||
@ -2690,7 +2690,7 @@ PostprocessAlterTableStmt(AlterTableStmt *alterTableStatement)
* that sequence is supported * that sequence is supported
*/ */
constraint = NULL; constraint = NULL;
foreach_ptr(constraint, columnConstraints) foreach_declared_ptr(constraint, columnConstraints)
{ {
if (constraint->contype == CONSTR_DEFAULT) if (constraint->contype == CONSTR_DEFAULT)
{ {
@ -2802,7 +2802,7 @@ FixAlterTableStmtIndexNames(AlterTableStmt *alterTableStatement)
List *commandList = alterTableStatement->cmds; List *commandList = alterTableStatement->cmds;
AlterTableCmd *command = NULL; AlterTableCmd *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
AlterTableType alterTableType = command->subtype; AlterTableType alterTableType = command->subtype;
@ -3165,7 +3165,7 @@ ErrorIfUnsupportedConstraint(Relation relation, char distributionMethod,
List *indexOidList = RelationGetIndexList(relation); List *indexOidList = RelationGetIndexList(relation);
Oid indexOid = InvalidOid; Oid indexOid = InvalidOid;
foreach_oid(indexOid, indexOidList) foreach_declared_oid(indexOid, indexOidList)
{ {
Relation indexDesc = index_open(indexOid, RowExclusiveLock); Relation indexDesc = index_open(indexOid, RowExclusiveLock);
bool hasDistributionColumn = false; bool hasDistributionColumn = false;
@ -3310,7 +3310,7 @@ ErrorIfUnsupportedAlterTableStmt(AlterTableStmt *alterTableStatement)
/* error out if any of the subcommands are unsupported */ /* error out if any of the subcommands are unsupported */
AlterTableCmd *command = NULL; AlterTableCmd *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
AlterTableType alterTableType = command->subtype; AlterTableType alterTableType = command->subtype;
@ -3385,7 +3385,7 @@ ErrorIfUnsupportedAlterTableStmt(AlterTableStmt *alterTableStatement)
Constraint *columnConstraint = NULL; Constraint *columnConstraint = NULL;
foreach_ptr(columnConstraint, column->constraints) foreach_declared_ptr(columnConstraint, column->constraints)
{ {
if (columnConstraint->contype == CONSTR_IDENTITY) if (columnConstraint->contype == CONSTR_IDENTITY)
{ {
@ -3417,7 +3417,7 @@ ErrorIfUnsupportedAlterTableStmt(AlterTableStmt *alterTableStatement)
List *columnConstraints = column->constraints; List *columnConstraints = column->constraints;
Constraint *constraint = NULL; Constraint *constraint = NULL;
foreach_ptr(constraint, columnConstraints) foreach_declared_ptr(constraint, columnConstraints)
{ {
if (constraint->contype == CONSTR_DEFAULT) if (constraint->contype == CONSTR_DEFAULT)
{ {
@ -3770,7 +3770,7 @@ SetupExecutionModeForAlterTable(Oid relationId, AlterTableCmd *command)
List *columnConstraints = columnDefinition->constraints; List *columnConstraints = columnDefinition->constraints;
Constraint *constraint = NULL; Constraint *constraint = NULL;
foreach_ptr(constraint, columnConstraints) foreach_declared_ptr(constraint, columnConstraints)
{ {
if (constraint->contype == CONSTR_FOREIGN) if (constraint->contype == CONSTR_FOREIGN)
{ {
@ -3970,10 +3970,10 @@ SetInterShardDDLTaskPlacementList(Task *task, ShardInterval *leftShardInterval,
List *intersectedPlacementList = NIL; List *intersectedPlacementList = NIL;
ShardPlacement *leftShardPlacement = NULL; ShardPlacement *leftShardPlacement = NULL;
foreach_ptr(leftShardPlacement, leftShardPlacementList) foreach_declared_ptr(leftShardPlacement, leftShardPlacementList)
{ {
ShardPlacement *rightShardPlacement = NULL; ShardPlacement *rightShardPlacement = NULL;
foreach_ptr(rightShardPlacement, rightShardPlacementList) foreach_declared_ptr(rightShardPlacement, rightShardPlacementList)
{ {
if (leftShardPlacement->nodeId == rightShardPlacement->nodeId) if (leftShardPlacement->nodeId == rightShardPlacement->nodeId)
{ {

View File

@ -81,7 +81,7 @@ GetExplicitTriggerCommandList(Oid relationId)
List *triggerIdList = GetExplicitTriggerIdList(relationId); List *triggerIdList = GetExplicitTriggerIdList(relationId);
Oid triggerId = InvalidOid; Oid triggerId = InvalidOid;
foreach_oid(triggerId, triggerIdList) foreach_declared_oid(triggerId, triggerIdList)
{ {
bool prettyOutput = false; bool prettyOutput = false;
Datum commandText = DirectFunctionCall2(pg_get_triggerdef_ext, Datum commandText = DirectFunctionCall2(pg_get_triggerdef_ext,
@ -742,7 +742,7 @@ ErrorIfRelationHasUnsupportedTrigger(Oid relationId)
List *relationTriggerList = GetExplicitTriggerIdList(relationId); List *relationTriggerList = GetExplicitTriggerIdList(relationId);
Oid triggerId = InvalidOid; Oid triggerId = InvalidOid;
foreach_oid(triggerId, relationTriggerList) foreach_declared_oid(triggerId, relationTriggerList)
{ {
ObjectAddress triggerObjectAddress = InvalidObjectAddress; ObjectAddress triggerObjectAddress = InvalidObjectAddress;
ObjectAddressSet(triggerObjectAddress, TriggerRelationId, triggerId); ObjectAddressSet(triggerObjectAddress, TriggerRelationId, triggerId);

View File

@ -135,7 +135,7 @@ TruncateTaskList(Oid relationId)
LockShardListMetadata(shardIntervalList, ShareLock); LockShardListMetadata(shardIntervalList, ShareLock);
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
uint64 shardId = shardInterval->shardId; uint64 shardId = shardInterval->shardId;
char *shardRelationName = pstrdup(relationName); char *shardRelationName = pstrdup(relationName);
@ -264,7 +264,7 @@ ErrorIfUnsupportedTruncateStmt(TruncateStmt *truncateStatement)
{ {
List *relationList = truncateStatement->relations; List *relationList = truncateStatement->relations;
RangeVar *rangeVar = NULL; RangeVar *rangeVar = NULL;
foreach_ptr(rangeVar, relationList) foreach_declared_ptr(rangeVar, relationList)
{ {
Oid relationId = RangeVarGetRelid(rangeVar, NoLock, false); Oid relationId = RangeVarGetRelid(rangeVar, NoLock, false);
@ -294,7 +294,7 @@ static void
EnsurePartitionTableNotReplicatedForTruncate(TruncateStmt *truncateStatement) EnsurePartitionTableNotReplicatedForTruncate(TruncateStmt *truncateStatement)
{ {
RangeVar *rangeVar = NULL; RangeVar *rangeVar = NULL;
foreach_ptr(rangeVar, truncateStatement->relations) foreach_declared_ptr(rangeVar, truncateStatement->relations)
{ {
Oid relationId = RangeVarGetRelid(rangeVar, NoLock, false); Oid relationId = RangeVarGetRelid(rangeVar, NoLock, false);
@ -322,7 +322,7 @@ ExecuteTruncateStmtSequentialIfNecessary(TruncateStmt *command)
bool failOK = false; bool failOK = false;
RangeVar *rangeVar = NULL; RangeVar *rangeVar = NULL;
foreach_ptr(rangeVar, relationList) foreach_declared_ptr(rangeVar, relationList)
{ {
Oid relationId = RangeVarGetRelid(rangeVar, NoLock, failOK); Oid relationId = RangeVarGetRelid(rangeVar, NoLock, failOK);

View File

@ -454,7 +454,7 @@ citus_ProcessUtilityInternal(PlannedStmt *pstmt,
bool analyze = false; bool analyze = false;
DefElem *option = NULL; DefElem *option = NULL;
foreach_ptr(option, explainStmt->options) foreach_declared_ptr(option, explainStmt->options)
{ {
if (strcmp(option->defname, "analyze") == 0) if (strcmp(option->defname, "analyze") == 0)
{ {
@ -695,7 +695,7 @@ citus_ProcessUtilityInternal(PlannedStmt *pstmt,
{ {
AlterTableStmt *alterTableStmt = (AlterTableStmt *) parsetree; AlterTableStmt *alterTableStmt = (AlterTableStmt *) parsetree;
AlterTableCmd *command = NULL; AlterTableCmd *command = NULL;
foreach_ptr(command, alterTableStmt->cmds) foreach_declared_ptr(command, alterTableStmt->cmds)
{ {
AlterTableType alterTableType = command->subtype; AlterTableType alterTableType = command->subtype;
@ -879,7 +879,7 @@ citus_ProcessUtilityInternal(PlannedStmt *pstmt,
} }
DDLJob *ddlJob = NULL; DDLJob *ddlJob = NULL;
foreach_ptr(ddlJob, ddlJobs) foreach_declared_ptr(ddlJob, ddlJobs)
{ {
ExecuteDistributedDDLJob(ddlJob); ExecuteDistributedDDLJob(ddlJob);
} }
@ -939,7 +939,7 @@ citus_ProcessUtilityInternal(PlannedStmt *pstmt,
{ {
List *addresses = GetObjectAddressListFromParseTree(parsetree, false, true); List *addresses = GetObjectAddressListFromParseTree(parsetree, false, true);
ObjectAddress *address = NULL; ObjectAddress *address = NULL;
foreach_ptr(address, addresses) foreach_declared_ptr(address, addresses)
{ {
MarkObjectDistributed(address); MarkObjectDistributed(address);
TrackPropagatedObject(address); TrackPropagatedObject(address);
@ -962,7 +962,7 @@ UndistributeDisconnectedCitusLocalTables(void)
citusLocalTableIdList = SortList(citusLocalTableIdList, CompareOids); citusLocalTableIdList = SortList(citusLocalTableIdList, CompareOids);
Oid citusLocalTableId = InvalidOid; Oid citusLocalTableId = InvalidOid;
foreach_oid(citusLocalTableId, citusLocalTableIdList) foreach_declared_oid(citusLocalTableId, citusLocalTableIdList)
{ {
/* acquire ShareRowExclusiveLock to prevent concurrent foreign key creation */ /* acquire ShareRowExclusiveLock to prevent concurrent foreign key creation */
LOCKMODE lockMode = ShareRowExclusiveLock; LOCKMODE lockMode = ShareRowExclusiveLock;
@ -1349,7 +1349,7 @@ CurrentSearchPath(void)
bool schemaAdded = false; bool schemaAdded = false;
Oid searchPathOid = InvalidOid; Oid searchPathOid = InvalidOid;
foreach_oid(searchPathOid, searchPathList) foreach_declared_oid(searchPathOid, searchPathList)
{ {
char *schemaName = get_namespace_name(searchPathOid); char *schemaName = get_namespace_name(searchPathOid);
@ -1483,7 +1483,7 @@ DDLTaskList(Oid relationId, const char *commandString)
LockShardListMetadata(shardIntervalList, ShareLock); LockShardListMetadata(shardIntervalList, ShareLock);
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
uint64 shardId = shardInterval->shardId; uint64 shardId = shardInterval->shardId;
StringInfo applyCommand = makeStringInfo(); StringInfo applyCommand = makeStringInfo();
@ -1564,7 +1564,7 @@ NodeDDLTaskList(TargetWorkerSet targets, List *commands)
SetTaskQueryStringList(task, commands); SetTaskQueryStringList(task, commands);
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodes) foreach_declared_ptr(workerNode, workerNodes)
{ {
ShardPlacement *targetPlacement = CitusMakeNode(ShardPlacement); ShardPlacement *targetPlacement = CitusMakeNode(ShardPlacement);
targetPlacement->nodeName = workerNode->workerName; targetPlacement->nodeName = workerNode->workerName;

View File

@ -135,7 +135,7 @@ VacuumRelationIdList(VacuumStmt *vacuumStmt, CitusVacuumParams vacuumParams)
List *relationIdList = NIL; List *relationIdList = NIL;
RangeVar *vacuumRelation = NULL; RangeVar *vacuumRelation = NULL;
foreach_ptr(vacuumRelation, vacuumRelationList) foreach_declared_ptr(vacuumRelation, vacuumRelationList)
{ {
/* /*
* If skip_locked option is enabled, we are skipping that relation * If skip_locked option is enabled, we are skipping that relation
@ -164,7 +164,7 @@ static bool
IsDistributedVacuumStmt(List *vacuumRelationIdList) IsDistributedVacuumStmt(List *vacuumRelationIdList)
{ {
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, vacuumRelationIdList) foreach_declared_oid(relationId, vacuumRelationIdList)
{ {
if (OidIsValid(relationId) && IsCitusTable(relationId)) if (OidIsValid(relationId) && IsCitusTable(relationId))
{ {
@ -187,7 +187,7 @@ ExecuteVacuumOnDistributedTables(VacuumStmt *vacuumStmt, List *relationIdList,
int relationIndex = 0; int relationIndex = 0;
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
if (IsCitusTable(relationId)) if (IsCitusTable(relationId))
{ {
@ -252,7 +252,7 @@ VacuumTaskList(Oid relationId, CitusVacuumParams vacuumParams, List *vacuumColum
LockShardListMetadata(shardIntervalList, ShareLock); LockShardListMetadata(shardIntervalList, ShareLock);
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
uint64 shardId = shardInterval->shardId; uint64 shardId = shardInterval->shardId;
char *shardRelationName = pstrdup(relationName); char *shardRelationName = pstrdup(relationName);
@ -473,7 +473,7 @@ DeparseVacuumColumnNames(List *columnNameList)
appendStringInfoString(columnNames, " ("); appendStringInfoString(columnNames, " (");
String *columnName = NULL; String *columnName = NULL;
foreach_ptr(columnName, columnNameList) foreach_declared_ptr(columnName, columnNameList)
{ {
appendStringInfo(columnNames, "%s,", strVal(columnName)); appendStringInfo(columnNames, "%s,", strVal(columnName));
} }
@ -508,7 +508,7 @@ ExtractVacuumTargetRels(VacuumStmt *vacuumStmt)
List *vacuumList = NIL; List *vacuumList = NIL;
VacuumRelation *vacuumRelation = NULL; VacuumRelation *vacuumRelation = NULL;
foreach_ptr(vacuumRelation, vacuumStmt->rels) foreach_declared_ptr(vacuumRelation, vacuumStmt->rels)
{ {
vacuumList = lappend(vacuumList, vacuumRelation->relation); vacuumList = lappend(vacuumList, vacuumRelation->relation);
} }
@ -552,7 +552,7 @@ VacuumStmtParams(VacuumStmt *vacstmt)
/* Parse options list */ /* Parse options list */
DefElem *opt = NULL; DefElem *opt = NULL;
foreach_ptr(opt, vacstmt->options) foreach_declared_ptr(opt, vacstmt->options)
{ {
/* Parse common options for VACUUM and ANALYZE */ /* Parse common options for VACUUM and ANALYZE */
if (strcmp(opt->defname, "verbose") == 0) if (strcmp(opt->defname, "verbose") == 0)
@ -725,7 +725,7 @@ ExecuteUnqualifiedVacuumTasks(VacuumStmt *vacuumStmt, CitusVacuumParams vacuumPa
int32 localNodeGroupId = GetLocalGroupId(); int32 localNodeGroupId = GetLocalGroupId();
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodes) foreach_declared_ptr(workerNode, workerNodes)
{ {
if (workerNode->groupId != localNodeGroupId) if (workerNode->groupId != localNodeGroupId)
{ {

View File

@ -69,7 +69,7 @@ ViewHasDistributedRelationDependency(ObjectAddress *viewObjectAddress)
List *dependencies = GetAllDependenciesForObject(viewObjectAddress); List *dependencies = GetAllDependenciesForObject(viewObjectAddress);
ObjectAddress *dependency = NULL; ObjectAddress *dependency = NULL;
foreach_ptr(dependency, dependencies) foreach_declared_ptr(dependency, dependencies)
{ {
if (dependency->classId == RelationRelationId && IsAnyObjectDistributed( if (dependency->classId == RelationRelationId && IsAnyObjectDistributed(
list_make1(dependency))) list_make1(dependency)))
@ -304,7 +304,7 @@ DropViewStmtObjectAddress(Node *stmt, bool missing_ok, bool isPostprocess)
List *objectAddresses = NIL; List *objectAddresses = NIL;
List *possiblyQualifiedViewName = NULL; List *possiblyQualifiedViewName = NULL;
foreach_ptr(possiblyQualifiedViewName, dropStmt->objects) foreach_declared_ptr(possiblyQualifiedViewName, dropStmt->objects)
{ {
RangeVar *viewRangeVar = makeRangeVarFromNameList(possiblyQualifiedViewName); RangeVar *viewRangeVar = makeRangeVarFromNameList(possiblyQualifiedViewName);
Oid viewOid = RangeVarGetRelid(viewRangeVar, AccessShareLock, Oid viewOid = RangeVarGetRelid(viewRangeVar, AccessShareLock,
@ -332,7 +332,7 @@ FilterNameListForDistributedViews(List *viewNamesList, bool missing_ok)
List *distributedViewNames = NIL; List *distributedViewNames = NIL;
List *possiblyQualifiedViewName = NULL; List *possiblyQualifiedViewName = NULL;
foreach_ptr(possiblyQualifiedViewName, viewNamesList) foreach_declared_ptr(possiblyQualifiedViewName, viewNamesList)
{ {
char *viewName = NULL; char *viewName = NULL;
char *schemaName = NULL; char *schemaName = NULL;

View File

@ -879,7 +879,7 @@ WaitEventSetFromMultiConnectionStates(List *connections, int *waitCount)
numEventsAdded += 2; numEventsAdded += 2;
MultiConnectionPollState *connectionState = NULL; MultiConnectionPollState *connectionState = NULL;
foreach_ptr(connectionState, connections) foreach_declared_ptr(connectionState, connections)
{ {
if (numEventsAdded >= eventSetSize) if (numEventsAdded >= eventSetSize)
{ {
@ -961,7 +961,7 @@ FinishConnectionListEstablishment(List *multiConnectionList)
int waitCount = 0; int waitCount = 0;
MultiConnection *connection = NULL; MultiConnection *connection = NULL;
foreach_ptr(connection, multiConnectionList) foreach_declared_ptr(connection, multiConnectionList)
{ {
MultiConnectionPollState *connectionState = MultiConnectionPollState *connectionState =
palloc0(sizeof(MultiConnectionPollState)); palloc0(sizeof(MultiConnectionPollState));
@ -1160,7 +1160,7 @@ static void
CloseNotReadyMultiConnectionStates(List *connectionStates) CloseNotReadyMultiConnectionStates(List *connectionStates)
{ {
MultiConnectionPollState *connectionState = NULL; MultiConnectionPollState *connectionState = NULL;
foreach_ptr(connectionState, connectionStates) foreach_declared_ptr(connectionState, connectionStates)
{ {
MultiConnection *connection = connectionState->connection; MultiConnection *connection = connectionState->connection;

View File

@ -360,7 +360,7 @@ EnsureConnectionPossibilityForNodeList(List *nodeList)
nodeList = SortList(nodeList, CompareWorkerNodes); nodeList = SortList(nodeList, CompareWorkerNodes);
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, nodeList) foreach_declared_ptr(workerNode, nodeList)
{ {
bool waitForConnection = true; bool waitForConnection = true;
EnsureConnectionPossibilityForNode(workerNode, waitForConnection); EnsureConnectionPossibilityForNode(workerNode, waitForConnection);

View File

@ -370,7 +370,7 @@ AssignPlacementListToConnection(List *placementAccessList, MultiConnection *conn
const char *userName = connection->user; const char *userName = connection->user;
ShardPlacementAccess *placementAccess = NULL; ShardPlacementAccess *placementAccess = NULL;
foreach_ptr(placementAccess, placementAccessList) foreach_declared_ptr(placementAccess, placementAccessList)
{ {
ShardPlacement *placement = placementAccess->placement; ShardPlacement *placement = placementAccess->placement;
ShardPlacementAccessType accessType = placementAccess->accessType; 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. * suitable connection found for a placement in the placementAccessList.
*/ */
ShardPlacementAccess *placementAccess = NULL; ShardPlacementAccess *placementAccess = NULL;
foreach_ptr(placementAccess, placementAccessList) foreach_declared_ptr(placementAccess, placementAccessList)
{ {
ShardPlacement *placement = placementAccess->placement; ShardPlacement *placement = placementAccess->placement;
ShardPlacementAccessType accessType = placementAccess->accessType; ShardPlacementAccessType accessType = placementAccess->accessType;

View File

@ -392,7 +392,7 @@ void
ExecuteCriticalRemoteCommandList(MultiConnection *connection, List *commandList) ExecuteCriticalRemoteCommandList(MultiConnection *connection, List *commandList)
{ {
const char *command = NULL; const char *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
ExecuteCriticalRemoteCommand(connection, command); ExecuteCriticalRemoteCommand(connection, command);
} }
@ -435,7 +435,7 @@ ExecuteRemoteCommandInConnectionList(List *nodeConnectionList, const char *comma
{ {
MultiConnection *connection = NULL; MultiConnection *connection = NULL;
foreach_ptr(connection, nodeConnectionList) foreach_declared_ptr(connection, nodeConnectionList)
{ {
int querySent = SendRemoteCommand(connection, command); int querySent = SendRemoteCommand(connection, command);
@ -446,7 +446,7 @@ ExecuteRemoteCommandInConnectionList(List *nodeConnectionList, const char *comma
} }
/* Process the result */ /* Process the result */
foreach_ptr(connection, nodeConnectionList) foreach_declared_ptr(connection, nodeConnectionList)
{ {
bool raiseInterrupts = true; bool raiseInterrupts = true;
PGresult *result = GetRemoteCommandResult(connection, raiseInterrupts); 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 */ /* convert connection list to an array such that we can move items around */
MultiConnection *connectionItem = NULL; MultiConnection *connectionItem = NULL;
foreach_ptr(connectionItem, connectionList) foreach_declared_ptr(connectionItem, connectionList)
{ {
allConnections[connectionIndex] = connectionItem; allConnections[connectionIndex] = connectionItem;
connectionReady[connectionIndex] = false; connectionReady[connectionIndex] = false;

View File

@ -938,7 +938,7 @@ bool
IsReindexWithParam_compat(ReindexStmt *reindexStmt, char *param) IsReindexWithParam_compat(ReindexStmt *reindexStmt, char *param)
{ {
DefElem *opt = NULL; DefElem *opt = NULL;
foreach_ptr(opt, reindexStmt->params) foreach_declared_ptr(opt, reindexStmt->params)
{ {
if (strcmp(opt->defname, param) == 0) if (strcmp(opt->defname, param) == 0)
{ {
@ -963,7 +963,7 @@ AddVacuumParams(ReindexStmt *reindexStmt, StringInfo buffer)
char *tableSpaceName = NULL; char *tableSpaceName = NULL;
DefElem *opt = NULL; DefElem *opt = NULL;
foreach_ptr(opt, reindexStmt->params) foreach_declared_ptr(opt, reindexStmt->params)
{ {
if (strcmp(opt->defname, "tablespace") == 0) if (strcmp(opt->defname, "tablespace") == 0)
{ {

View File

@ -47,7 +47,7 @@ DeparseTreeNodes(List *stmts)
{ {
List *sqls = NIL; List *sqls = NIL;
Node *stmt = NULL; Node *stmt = NULL;
foreach_ptr(stmt, stmts) foreach_declared_ptr(stmt, stmts)
{ {
sqls = lappend(sqls, DeparseTreeNode(stmt)); sqls = lappend(sqls, DeparseTreeNode(stmt));
} }

View File

@ -70,7 +70,7 @@ DeparseCreateDomainStmt(Node *node)
} }
Constraint *constraint = NULL; Constraint *constraint = NULL;
foreach_ptr(constraint, stmt->constraints) foreach_declared_ptr(constraint, stmt->constraints)
{ {
AppendConstraint(&buf, constraint, stmt->domainname, stmt->typeName); AppendConstraint(&buf, constraint, stmt->domainname, stmt->typeName);
} }
@ -117,7 +117,7 @@ DeparseDropDomainStmt(Node *node)
TypeName *domainName = NULL; TypeName *domainName = NULL;
bool first = true; bool first = true;
foreach_ptr(domainName, stmt->objects) foreach_declared_ptr(domainName, stmt->objects)
{ {
if (!first) if (!first)
{ {

View File

@ -40,7 +40,7 @@ DefElem *
GetExtensionOption(List *extensionOptions, const char *defname) GetExtensionOption(List *extensionOptions, const char *defname)
{ {
DefElem *defElement = NULL; DefElem *defElement = NULL;
foreach_ptr(defElement, extensionOptions) foreach_declared_ptr(defElement, extensionOptions)
{ {
if (IsA(defElement, DefElem) && if (IsA(defElement, DefElem) &&
strncmp(defElement->defname, defname, NAMEDATALEN) == 0) strncmp(defElement->defname, defname, NAMEDATALEN) == 0)
@ -112,7 +112,7 @@ AppendCreateExtensionStmtOptions(StringInfo buf, List *options)
/* Add the options to the statement */ /* Add the options to the statement */
DefElem *defElem = NULL; DefElem *defElem = NULL;
foreach_ptr(defElem, options) foreach_declared_ptr(defElem, options)
{ {
if (strcmp(defElem->defname, "schema") == 0) if (strcmp(defElem->defname, "schema") == 0)
{ {
@ -181,7 +181,7 @@ AppendAlterExtensionStmt(StringInfo buf, AlterExtensionStmt *alterExtensionStmt)
* the options. * the options.
*/ */
DefElem *option = NULL; DefElem *option = NULL;
foreach_ptr(option, optionsList) foreach_declared_ptr(option, optionsList)
{ {
if (strcmp(option->defname, "new_version") == 0) if (strcmp(option->defname, "new_version") == 0)
{ {

View File

@ -176,7 +176,7 @@ AppendAlterForeignServerOptions(StringInfo buf, AlterForeignServerStmt *stmt)
DefElemAction action = DEFELEM_UNSPEC; DefElemAction action = DEFELEM_UNSPEC;
DefElem *def = NULL; DefElem *def = NULL;
foreach_ptr(def, stmt->options) foreach_declared_ptr(def, stmt->options)
{ {
if (def->defaction != DEFELEM_UNSPEC) if (def->defaction != DEFELEM_UNSPEC)
{ {
@ -242,7 +242,7 @@ static void
AppendServerNames(StringInfo buf, DropStmt *stmt) AppendServerNames(StringInfo buf, DropStmt *stmt)
{ {
String *serverValue = NULL; String *serverValue = NULL;
foreach_ptr(serverValue, stmt->objects) foreach_declared_ptr(serverValue, stmt->objects)
{ {
const char *serverString = quote_identifier(strVal(serverValue)); const char *serverString = quote_identifier(strVal(serverValue));
appendStringInfo(buf, "%s", serverString); appendStringInfo(buf, "%s", serverString);

View File

@ -118,7 +118,7 @@ AppendCreatePublicationStmt(StringInfo buf, CreatePublicationStmt *stmt,
* Check whether there are objects to propagate, mainly to know whether * Check whether there are objects to propagate, mainly to know whether
* we should include "FOR". * we should include "FOR".
*/ */
foreach_ptr(publicationObject, stmt->pubobjects) foreach_declared_ptr(publicationObject, stmt->pubobjects)
{ {
if (publicationObject->pubobjtype == PUBLICATIONOBJ_TABLE) 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 * Check whether there are tables to propagate, mainly to know whether
* we should include "FOR". * we should include "FOR".
*/ */
foreach_ptr(rangeVar, stmt->tables) foreach_declared_ptr(rangeVar, stmt->tables)
{ {
if (includeLocalTables || IsCitusTableRangeVar(rangeVar, NoLock, false)) if (includeLocalTables || IsCitusTableRangeVar(rangeVar, NoLock, false))
{ {
@ -198,7 +198,7 @@ AppendPublicationObjects(StringInfo buf, List *publicationObjects,
PublicationObjSpec *publicationObject = NULL; PublicationObjSpec *publicationObject = NULL;
bool appendedObject = false; bool appendedObject = false;
foreach_ptr(publicationObject, publicationObjects) foreach_declared_ptr(publicationObject, publicationObjects)
{ {
if (publicationObject->pubobjtype == PUBLICATIONOBJ_TABLE) if (publicationObject->pubobjtype == PUBLICATIONOBJ_TABLE)
{ {
@ -334,7 +334,7 @@ AppendTables(StringInfo buf, List *tables, bool includeLocalTables)
RangeVar *rangeVar = NULL; RangeVar *rangeVar = NULL;
bool appendedObject = false; bool appendedObject = false;
foreach_ptr(rangeVar, tables) foreach_declared_ptr(rangeVar, tables)
{ {
if (!includeLocalTables && if (!includeLocalTables &&
!IsCitusTableRangeVar(rangeVar, NoLock, false)) !IsCitusTableRangeVar(rangeVar, NoLock, false))

View File

@ -404,7 +404,7 @@ AppendRevokeAdminOptionFor(StringInfo buf, GrantRoleStmt *stmt)
if (!stmt->is_grant) if (!stmt->is_grant)
{ {
DefElem *opt = NULL; DefElem *opt = NULL;
foreach_ptr(opt, stmt->opt) foreach_declared_ptr(opt, stmt->opt)
{ {
if (strcmp(opt->defname, "admin") == 0) if (strcmp(opt->defname, "admin") == 0)
{ {
@ -440,7 +440,7 @@ AppendGrantWithAdminOption(StringInfo buf, GrantRoleStmt *stmt)
#if PG_VERSION_NUM >= PG_VERSION_16 #if PG_VERSION_NUM >= PG_VERSION_16
int opt_count = 0; int opt_count = 0;
DefElem *opt = NULL; DefElem *opt = NULL;
foreach_ptr(opt, stmt->opt) foreach_declared_ptr(opt, stmt->opt)
{ {
char *optval = defGetString(opt); char *optval = defGetString(opt);
bool option_value = false; bool option_value = false;

View File

@ -152,7 +152,7 @@ AppendDropSchemaStmt(StringInfo buf, DropStmt *stmt)
} }
String *schemaValue = NULL; String *schemaValue = NULL;
foreach_ptr(schemaValue, stmt->objects) foreach_declared_ptr(schemaValue, stmt->objects)
{ {
const char *schemaString = quote_identifier(strVal(schemaValue)); const char *schemaString = quote_identifier(strVal(schemaValue));
appendStringInfo(buf, "%s", schemaString); appendStringInfo(buf, "%s", schemaString);

View File

@ -216,7 +216,7 @@ AppendStatTypes(StringInfo buf, CreateStatsStmt *stmt)
appendStringInfoString(buf, " ("); appendStringInfoString(buf, " (");
String *statType = NULL; String *statType = NULL;
foreach_ptr(statType, stmt->stat_types) foreach_declared_ptr(statType, stmt->stat_types)
{ {
appendStringInfoString(buf, strVal(statType)); appendStringInfoString(buf, strVal(statType));
@ -235,7 +235,7 @@ AppendColumnNames(StringInfo buf, CreateStatsStmt *stmt)
{ {
StatsElem *column = NULL; StatsElem *column = NULL;
foreach_ptr(column, stmt->exprs) foreach_declared_ptr(column, stmt->exprs)
{ {
if (!column->name) if (!column->name)
{ {

View File

@ -86,7 +86,7 @@ AppendDefElemList(StringInfo buf, List *defelems, char *objectName)
{ {
DefElem *defelem = NULL; DefElem *defelem = NULL;
bool first = true; bool first = true;
foreach_ptr(defelem, defelems) foreach_declared_ptr(defelem, defelems)
{ {
if (!first) if (!first)
{ {
@ -133,7 +133,7 @@ DeparseDropTextSearchConfigurationStmt(Node *node)
appendStringInfoString(&buf, "DROP TEXT SEARCH CONFIGURATION "); appendStringInfoString(&buf, "DROP TEXT SEARCH CONFIGURATION ");
List *nameList = NIL; List *nameList = NIL;
bool first = true; bool first = true;
foreach_ptr(nameList, stmt->objects) foreach_declared_ptr(nameList, stmt->objects)
{ {
if (!first) if (!first)
{ {
@ -171,7 +171,7 @@ DeparseDropTextSearchDictionaryStmt(Node *node)
appendStringInfoString(&buf, "DROP TEXT SEARCH DICTIONARY "); appendStringInfoString(&buf, "DROP TEXT SEARCH DICTIONARY ");
List *nameList = NIL; List *nameList = NIL;
bool first = true; bool first = true;
foreach_ptr(nameList, stmt->objects) foreach_declared_ptr(nameList, stmt->objects)
{ {
if (!first) if (!first)
{ {
@ -404,7 +404,7 @@ AppendStringInfoTokentypeList(StringInfo buf, List *tokentypes)
{ {
String *tokentype = NULL; String *tokentype = NULL;
bool first = true; bool first = true;
foreach_ptr(tokentype, tokentypes) foreach_declared_ptr(tokentype, tokentypes)
{ {
if (nodeTag(tokentype) != T_String) if (nodeTag(tokentype) != T_String)
{ {
@ -432,7 +432,7 @@ AppendStringInfoDictnames(StringInfo buf, List *dicts)
{ {
List *dictNames = NIL; List *dictNames = NIL;
bool first = true; bool first = true;
foreach_ptr(dictNames, dicts) foreach_declared_ptr(dictNames, dicts)
{ {
if (!first) if (!first)
{ {

View File

@ -88,7 +88,7 @@ AppendViewNameList(StringInfo buf, List *viewNamesList)
{ {
bool isFirstView = true; bool isFirstView = true;
List *qualifiedViewName = NULL; List *qualifiedViewName = NULL;
foreach_ptr(qualifiedViewName, viewNamesList) foreach_declared_ptr(qualifiedViewName, viewNamesList)
{ {
char *quotedQualifiedVieName = NameListToQuotedString(qualifiedViewName); char *quotedQualifiedVieName = NameListToQuotedString(qualifiedViewName);
if (!isFirstView) if (!isFirstView)

View File

@ -83,7 +83,7 @@ QualifyDropCollationStmt(Node *node)
List *names = NIL; List *names = NIL;
List *name = NIL; List *name = NIL;
foreach_ptr(name, stmt->objects) foreach_declared_ptr(name, stmt->objects)
{ {
names = lappend(names, QualifyCollationName(name)); names = lappend(names, QualifyCollationName(name));
} }

View File

@ -67,7 +67,7 @@ QualifyDropDomainStmt(Node *node)
DropStmt *stmt = castNode(DropStmt, node); DropStmt *stmt = castNode(DropStmt, node);
TypeName *domainName = NULL; TypeName *domainName = NULL;
foreach_ptr(domainName, stmt->objects) foreach_declared_ptr(domainName, stmt->objects)
{ {
QualifyTypeName(domainName, stmt->missing_ok); QualifyTypeName(domainName, stmt->missing_ok);
} }
@ -249,7 +249,7 @@ QualifyCollate(CollateClause *collClause, bool missing_ok)
collClause->collname = NIL; collClause->collname = NIL;
char *name = NULL; char *name = NULL;
foreach_ptr(name, objName) foreach_declared_ptr(name, objName)
{ {
collClause->collname = lappend(collClause->collname, makeString(name)); collClause->collname = lappend(collClause->collname, makeString(name));
} }

View File

@ -55,7 +55,7 @@ QualifyPublicationObjects(List *publicationObjects)
{ {
PublicationObjSpec *publicationObject = NULL; PublicationObjSpec *publicationObject = NULL;
foreach_ptr(publicationObject, publicationObjects) foreach_declared_ptr(publicationObject, publicationObjects)
{ {
if (publicationObject->pubobjtype == PUBLICATIONOBJ_TABLE) if (publicationObject->pubobjtype == PUBLICATIONOBJ_TABLE)
{ {
@ -78,7 +78,7 @@ QualifyTables(List *tables)
{ {
RangeVar *rangeVar = NULL; RangeVar *rangeVar = NULL;
foreach_ptr(rangeVar, tables) foreach_declared_ptr(rangeVar, tables)
{ {
QualifyPublicationRangeVar(rangeVar); QualifyPublicationRangeVar(rangeVar);
} }

View File

@ -148,7 +148,7 @@ QualifyDropSequenceStmt(Node *node)
List *objectNameListWithSchema = NIL; List *objectNameListWithSchema = NIL;
List *objectNameList = NULL; List *objectNameList = NULL;
foreach_ptr(objectNameList, stmt->objects) foreach_declared_ptr(objectNameList, stmt->objects)
{ {
RangeVar *seq = makeRangeVarFromNameList(objectNameList); RangeVar *seq = makeRangeVarFromNameList(objectNameList);
@ -192,7 +192,7 @@ QualifyGrantOnSequenceStmt(Node *node)
} }
List *qualifiedSequenceRangeVars = NIL; List *qualifiedSequenceRangeVars = NIL;
RangeVar *sequenceRangeVar = NULL; RangeVar *sequenceRangeVar = NULL;
foreach_ptr(sequenceRangeVar, stmt->objects) foreach_declared_ptr(sequenceRangeVar, stmt->objects)
{ {
if (sequenceRangeVar->schemaname == NULL) if (sequenceRangeVar->schemaname == NULL)
{ {

View File

@ -73,7 +73,7 @@ QualifyDropStatisticsStmt(Node *node)
List *objectNameListWithSchema = NIL; List *objectNameListWithSchema = NIL;
List *objectNameList = NULL; List *objectNameList = NULL;
foreach_ptr(objectNameList, dropStatisticsStmt->objects) foreach_declared_ptr(objectNameList, dropStatisticsStmt->objects)
{ {
RangeVar *stat = makeRangeVarFromNameList(objectNameList); RangeVar *stat = makeRangeVarFromNameList(objectNameList);

View File

@ -46,7 +46,7 @@ QualifyDropTextSearchConfigurationStmt(Node *node)
List *qualifiedObjects = NIL; List *qualifiedObjects = NIL;
List *objName = NIL; List *objName = NIL;
foreach_ptr(objName, stmt->objects) foreach_declared_ptr(objName, stmt->objects)
{ {
char *schemaName = NULL; char *schemaName = NULL;
char *tsconfigName = NULL; char *tsconfigName = NULL;
@ -87,7 +87,7 @@ QualifyDropTextSearchDictionaryStmt(Node *node)
List *qualifiedObjects = NIL; List *qualifiedObjects = NIL;
List *objName = NIL; List *objName = NIL;
foreach_ptr(objName, stmt->objects) foreach_declared_ptr(objName, stmt->objects)
{ {
char *schemaName = NULL; char *schemaName = NULL;
char *tsdictName = NULL; char *tsdictName = NULL;
@ -141,7 +141,7 @@ QualifyAlterTextSearchConfigurationStmt(Node *node)
bool useNewDicts = false; bool useNewDicts = false;
List *dicts = NULL; List *dicts = NULL;
List *dictName = NIL; List *dictName = NIL;
foreach_ptr(dictName, stmt->dicts) foreach_declared_ptr(dictName, stmt->dicts)
{ {
DeconstructQualifiedName(dictName, &schemaName, &objName); DeconstructQualifiedName(dictName, &schemaName, &objName);

View File

@ -31,7 +31,7 @@ QualifyDropViewStmt(Node *node)
List *qualifiedViewNames = NIL; List *qualifiedViewNames = NIL;
List *possiblyQualifiedViewName = NULL; List *possiblyQualifiedViewName = NULL;
foreach_ptr(possiblyQualifiedViewName, stmt->objects) foreach_declared_ptr(possiblyQualifiedViewName, stmt->objects)
{ {
char *viewName = NULL; char *viewName = NULL;
char *schemaName = NULL; char *schemaName = NULL;

View File

@ -1430,7 +1430,7 @@ AssignTasksToConnectionsOrWorkerPool(DistributedExecution *execution)
List *taskList = execution->remoteTaskList; List *taskList = execution->remoteTaskList;
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
bool placementExecutionReady = true; bool placementExecutionReady = true;
int placementExecutionIndex = 0; int placementExecutionIndex = 0;
@ -1453,7 +1453,7 @@ AssignTasksToConnectionsOrWorkerPool(DistributedExecution *execution)
SetAttributeInputMetadata(execution, shardCommandExecution); SetAttributeInputMetadata(execution, shardCommandExecution);
ShardPlacement *taskPlacement = NULL; ShardPlacement *taskPlacement = NULL;
foreach_ptr(taskPlacement, task->taskPlacementList) foreach_declared_ptr(taskPlacement, task->taskPlacementList)
{ {
int connectionFlags = 0; int connectionFlags = 0;
char *nodeName = NULL; char *nodeName = NULL;
@ -1598,7 +1598,7 @@ AssignTasksToConnectionsOrWorkerPool(DistributedExecution *execution)
* connection may be be returned multiple times by GetPlacementListConnectionIfCached. * connection may be be returned multiple times by GetPlacementListConnectionIfCached.
*/ */
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, execution->sessionList) foreach_declared_ptr(session, execution->sessionList)
{ {
MultiConnection *connection = session->connection; MultiConnection *connection = session->connection;
@ -1721,7 +1721,7 @@ static WorkerPool *
FindOrCreateWorkerPool(DistributedExecution *execution, char *nodeName, int nodePort) FindOrCreateWorkerPool(DistributedExecution *execution, char *nodeName, int nodePort)
{ {
WorkerPool *workerPool = NULL; WorkerPool *workerPool = NULL;
foreach_ptr(workerPool, execution->workerList) foreach_declared_ptr(workerPool, execution->workerList)
{ {
if (strncmp(nodeName, workerPool->nodeName, WORKER_LENGTH) == 0 && if (strncmp(nodeName, workerPool->nodeName, WORKER_LENGTH) == 0 &&
nodePort == workerPool->nodePort) nodePort == workerPool->nodePort)
@ -1768,7 +1768,7 @@ FindOrCreateWorkerSession(WorkerPool *workerPool, MultiConnection *connection)
static uint64 sessionId = 1; static uint64 sessionId = 1;
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, workerPool->sessionList) foreach_declared_ptr(session, workerPool->sessionList)
{ {
if (session->connection == connection) if (session->connection == connection)
{ {
@ -1871,7 +1871,7 @@ SequentialRunDistributedExecution(DistributedExecution *execution)
*/ */
MultiShardConnectionType = SEQUENTIAL_CONNECTION; MultiShardConnectionType = SEQUENTIAL_CONNECTION;
Task *taskToExecute = NULL; Task *taskToExecute = NULL;
foreach_ptr(taskToExecute, taskList) foreach_declared_ptr(taskToExecute, taskList)
{ {
execution->remoteAndLocalTaskList = list_make1(taskToExecute); execution->remoteAndLocalTaskList = list_make1(taskToExecute);
execution->remoteTaskList = list_make1(taskToExecute); execution->remoteTaskList = list_make1(taskToExecute);
@ -1911,7 +1911,7 @@ RunDistributedExecution(DistributedExecution *execution)
{ {
/* Preemptively step state machines in case of immediate errors */ /* Preemptively step state machines in case of immediate errors */
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, execution->sessionList) foreach_declared_ptr(session, execution->sessionList)
{ {
ConnectionStateMachine(session); ConnectionStateMachine(session);
} }
@ -1943,7 +1943,7 @@ RunDistributedExecution(DistributedExecution *execution)
HasIncompleteConnectionEstablishment(execution))) HasIncompleteConnectionEstablishment(execution)))
{ {
WorkerPool *workerPool = NULL; WorkerPool *workerPool = NULL;
foreach_ptr(workerPool, execution->workerList) foreach_declared_ptr(workerPool, execution->workerList)
{ {
ManageWorkerPool(workerPool); ManageWorkerPool(workerPool);
} }
@ -2028,7 +2028,7 @@ ProcessSessionsWithFailedWaitEventSetOperations(DistributedExecution *execution)
{ {
bool foundFailedSession = false; bool foundFailedSession = false;
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, execution->sessionList) foreach_declared_ptr(session, execution->sessionList)
{ {
if (session->waitEventSetIndex == WAIT_EVENT_SET_INDEX_FAILED) if (session->waitEventSetIndex == WAIT_EVENT_SET_INDEX_FAILED)
{ {
@ -2072,7 +2072,7 @@ HasIncompleteConnectionEstablishment(DistributedExecution *execution)
} }
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, execution->sessionList) foreach_declared_ptr(session, execution->sessionList)
{ {
MultiConnection *connection = session->connection; MultiConnection *connection = session->connection;
if (connection->connectionState == MULTI_CONNECTION_INITIAL || if (connection->connectionState == MULTI_CONNECTION_INITIAL ||
@ -2550,7 +2550,7 @@ AvgTaskExecutionTimeApproximation(WorkerPool *workerPool)
INSTR_TIME_SET_CURRENT(now); INSTR_TIME_SET_CURRENT(now);
WorkerSession *session = NULL; 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 * Involve the tasks that are currently running. We do this to
@ -2588,7 +2588,7 @@ AvgConnectionEstablishmentTime(WorkerPool *workerPool)
int sessionCount = 0; int sessionCount = 0;
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, workerPool->sessionList) foreach_declared_ptr(session, workerPool->sessionList)
{ {
MultiConnection *connection = session->connection; MultiConnection *connection = session->connection;
@ -2744,7 +2744,7 @@ OpenNewConnections(WorkerPool *workerPool, int newConnectionCount,
#endif #endif
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, newSessionsList) foreach_declared_ptr(session, newSessionsList)
{ {
/* immediately run the state machine to handle potential failure */ /* immediately run the state machine to handle potential failure */
ConnectionStateMachine(session); ConnectionStateMachine(session);
@ -2862,7 +2862,7 @@ static void
MarkEstablishingSessionsTimedOut(WorkerPool *workerPool) MarkEstablishingSessionsTimedOut(WorkerPool *workerPool)
{ {
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, workerPool->sessionList) foreach_declared_ptr(session, workerPool->sessionList)
{ {
MultiConnection *connection = session->connection; MultiConnection *connection = session->connection;
@ -2914,7 +2914,7 @@ NextEventTimeout(DistributedExecution *execution)
long eventTimeout = 1000; /* milliseconds */ long eventTimeout = 1000; /* milliseconds */
WorkerPool *workerPool = NULL; WorkerPool *workerPool = NULL;
foreach_ptr(workerPool, execution->workerList) foreach_declared_ptr(workerPool, execution->workerList)
{ {
if (workerPool->failureState == WORKER_POOL_FAILED) if (workerPool->failureState == WORKER_POOL_FAILED)
{ {
@ -4255,7 +4255,7 @@ WorkerPoolFailed(WorkerPool *workerPool)
} }
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, workerPool->sessionList) foreach_declared_ptr(session, workerPool->sessionList)
{ {
WorkerSessionFailed(session); WorkerSessionFailed(session);
} }
@ -4280,7 +4280,7 @@ WorkerPoolFailed(WorkerPool *workerPool)
List *workerList = workerPool->distributedExecution->workerList; List *workerList = workerPool->distributedExecution->workerList;
WorkerPool *pool = NULL; WorkerPool *pool = NULL;
foreach_ptr(pool, workerList) foreach_declared_ptr(pool, workerList)
{ {
/* failed pools or pools without any connection attempts ignored */ /* failed pools or pools without any connection attempts ignored */
if (pool->failureState == WORKER_POOL_FAILED || if (pool->failureState == WORKER_POOL_FAILED ||
@ -4633,7 +4633,7 @@ PlacementExecutionReady(TaskPlacementExecution *placementExecution)
/* wake up an idle connection by checking whether the connection is writeable */ /* wake up an idle connection by checking whether the connection is writeable */
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, workerPool->sessionList) foreach_declared_ptr(session, workerPool->sessionList)
{ {
MultiConnection *connection = session->connection; MultiConnection *connection = session->connection;
RemoteTransaction *transaction = &(connection->remoteTransaction); RemoteTransaction *transaction = &(connection->remoteTransaction);
@ -4758,7 +4758,7 @@ BuildWaitEventSet(List *sessionList)
CreateWaitEventSet(CurrentMemoryContext, eventSetSize); CreateWaitEventSet(CurrentMemoryContext, eventSetSize);
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, sessionList) foreach_declared_ptr(session, sessionList)
{ {
AddSessionToWaitEventSet(session, waitEventSet); AddSessionToWaitEventSet(session, waitEventSet);
} }
@ -4856,7 +4856,7 @@ static void
RebuildWaitEventSetFlags(WaitEventSet *waitEventSet, List *sessionList) RebuildWaitEventSetFlags(WaitEventSet *waitEventSet, List *sessionList)
{ {
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, sessionList) foreach_declared_ptr(session, sessionList)
{ {
MultiConnection *connection = session->connection; MultiConnection *connection = session->connection;
int waitEventSetIndex = session->waitEventSetIndex; int waitEventSetIndex = session->waitEventSetIndex;
@ -4912,7 +4912,7 @@ CleanUpSessions(DistributedExecution *execution)
/* always trigger wait event set in the first round */ /* always trigger wait event set in the first round */
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, sessionList) foreach_declared_ptr(session, sessionList)
{ {
MultiConnection *connection = session->connection; MultiConnection *connection = session->connection;
@ -4993,7 +4993,7 @@ static void
UnclaimAllSessionConnections(List *sessionList) UnclaimAllSessionConnections(List *sessionList)
{ {
WorkerSession *session = NULL; WorkerSession *session = NULL;
foreach_ptr(session, sessionList) foreach_declared_ptr(session, sessionList)
{ {
MultiConnection *connection = session->connection; MultiConnection *connection = session->connection;

View File

@ -524,7 +524,7 @@ static bool
AnchorShardsInTaskListExist(List *taskList) AnchorShardsInTaskListExist(List *taskList)
{ {
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
if (!ShardExists(task->anchorShardId)) if (!ShardExists(task->anchorShardId))
{ {

View File

@ -94,7 +94,7 @@ FindExecutableTasks(List *allTasks, HTAB *completedTasks)
List *curTasks = NIL; List *curTasks = NIL;
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, allTasks) foreach_declared_ptr(task, allTasks)
{ {
if (IsAllDependencyCompleted(task, completedTasks) && if (IsAllDependencyCompleted(task, completedTasks) &&
!IsTaskAlreadyCompleted(task, completedTasks)) !IsTaskAlreadyCompleted(task, completedTasks))
@ -118,7 +118,7 @@ RemoveMergeTasks(List *taskList)
List *prunedTaskList = NIL; List *prunedTaskList = NIL;
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
if (task->taskType != MERGE_TASK) if (task->taskType != MERGE_TASK)
{ {
@ -139,7 +139,7 @@ AddCompletedTasks(List *curCompletedTasks, HTAB *completedTasks)
bool found; bool found;
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, curCompletedTasks) foreach_declared_ptr(task, curCompletedTasks)
{ {
TaskHashKey taskKey = { task->jobId, task->taskId }; TaskHashKey taskKey = { task->jobId, task->taskId };
hash_search(completedTasks, &taskKey, HASH_ENTER, &found); hash_search(completedTasks, &taskKey, HASH_ENTER, &found);
@ -172,7 +172,7 @@ IsAllDependencyCompleted(Task *targetTask, HTAB *completedTasks)
bool found = false; bool found = false;
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, targetTask->dependentTaskList) foreach_declared_ptr(task, targetTask->dependentTaskList)
{ {
TaskHashKey taskKey = { task->jobId, task->taskId }; TaskHashKey taskKey = { task->jobId, task->taskId };

View File

@ -198,7 +198,7 @@ AcquireExecutorShardLocksForExecution(RowModifyLevel modLevel, List *taskList)
List *requiresConsistentSnapshotRelationShardList = NIL; List *requiresConsistentSnapshotRelationShardList = NIL;
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
ShardInterval *anchorShardInterval = LoadShardInterval(task->anchorShardId); ShardInterval *anchorShardInterval = LoadShardInterval(task->anchorShardId);
anchorShardIntervalList = lappend(anchorShardIntervalList, anchorShardInterval); anchorShardIntervalList = lappend(anchorShardIntervalList, anchorShardInterval);
@ -344,7 +344,7 @@ AcquireMetadataLocks(List *taskList)
*/ */
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
LockShardDistributionMetadata(task->anchorShardId, ShareLock); LockShardDistributionMetadata(task->anchorShardId, ShareLock);
} }
@ -379,7 +379,7 @@ AcquireExecutorShardLocksForRelationRowLockList(List *relationRowLockList)
* them. * them.
*/ */
RelationRowLock *relationRowLock = NULL; RelationRowLock *relationRowLock = NULL;
foreach_ptr(relationRowLock, relationRowLockList) foreach_declared_ptr(relationRowLock, relationRowLockList)
{ {
LockClauseStrength rowLockStrength = relationRowLock->rowLockStrength; LockClauseStrength rowLockStrength = relationRowLock->rowLockStrength;
Oid relationId = relationRowLock->relationId; Oid relationId = relationRowLock->relationId;
@ -412,7 +412,7 @@ void
LockPartitionsInRelationList(List *relationIdList, LOCKMODE lockmode) LockPartitionsInRelationList(List *relationIdList, LOCKMODE lockmode)
{ {
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, relationIdList) foreach_declared_oid(relationId, relationIdList)
{ {
if (PartitionedTable(relationId)) if (PartitionedTable(relationId))
{ {
@ -437,7 +437,7 @@ LockPartitionRelations(Oid relationId, LOCKMODE lockMode)
*/ */
List *partitionList = PartitionList(relationId); List *partitionList = PartitionList(relationId);
Oid partitionRelationId = InvalidOid; Oid partitionRelationId = InvalidOid;
foreach_oid(partitionRelationId, partitionList) foreach_declared_oid(partitionRelationId, partitionList)
{ {
LockRelationOid(partitionRelationId, lockMode); LockRelationOid(partitionRelationId, lockMode);
} }

View File

@ -206,7 +206,7 @@ WrapTasksForPartitioning(const char *resultIdPrefix, List *selectTaskList,
intervalTypeMod); intervalTypeMod);
Task *selectTask = NULL; Task *selectTask = NULL;
foreach_ptr(selectTask, selectTaskList) foreach_declared_ptr(selectTask, selectTaskList)
{ {
char *taskPrefix = SourceShardPrefix(resultIdPrefix, selectTask->anchorShardId); char *taskPrefix = SourceShardPrefix(resultIdPrefix, selectTask->anchorShardId);
char *partitionMethodString = targetRelation->partitionMethod == 'h' ? char *partitionMethodString = targetRelation->partitionMethod == 'h' ?
@ -490,7 +490,7 @@ ColocateFragmentsWithRelation(List *fragmentList, CitusTableCacheEntry *targetRe
List **shardResultIdList = palloc0(shardCount * sizeof(List *)); List **shardResultIdList = palloc0(shardCount * sizeof(List *));
DistributedResultFragment *sourceFragment = NULL; DistributedResultFragment *sourceFragment = NULL;
foreach_ptr(sourceFragment, fragmentList) foreach_declared_ptr(sourceFragment, fragmentList)
{ {
int shardIndex = sourceFragment->targetShardIndex; int shardIndex = sourceFragment->targetShardIndex;
@ -520,11 +520,11 @@ ColocationTransfers(List *fragmentList, CitusTableCacheEntry *targetRelation)
HASH_ELEM | HASH_CONTEXT | HASH_BLOBS); HASH_ELEM | HASH_CONTEXT | HASH_BLOBS);
DistributedResultFragment *fragment = NULL; DistributedResultFragment *fragment = NULL;
foreach_ptr(fragment, fragmentList) foreach_declared_ptr(fragment, fragmentList)
{ {
List *placementList = ActiveShardPlacementList(fragment->targetShardId); List *placementList = ActiveShardPlacementList(fragment->targetShardId);
ShardPlacement *placement = NULL; ShardPlacement *placement = NULL;
foreach_ptr(placement, placementList) foreach_declared_ptr(placement, placementList)
{ {
NodePair transferKey = { NodePair transferKey = {
.sourceNodeId = fragment->nodeId, .sourceNodeId = fragment->nodeId,
@ -576,7 +576,7 @@ FragmentTransferTaskList(List *fragmentListTransfers)
List *fetchTaskList = NIL; List *fetchTaskList = NIL;
NodeToNodeFragmentsTransfer *fragmentsTransfer = NULL; NodeToNodeFragmentsTransfer *fragmentsTransfer = NULL;
foreach_ptr(fragmentsTransfer, fragmentListTransfers) foreach_declared_ptr(fragmentsTransfer, fragmentListTransfers)
{ {
uint32 targetNodeId = fragmentsTransfer->nodes.targetNodeId; uint32 targetNodeId = fragmentsTransfer->nodes.targetNodeId;
@ -629,7 +629,7 @@ QueryStringForFragmentsTransfer(NodeToNodeFragmentsTransfer *fragmentsTransfer)
appendStringInfoString(fragmentNamesArrayString, "ARRAY["); appendStringInfoString(fragmentNamesArrayString, "ARRAY[");
DistributedResultFragment *fragment = NULL; DistributedResultFragment *fragment = NULL;
foreach_ptr(fragment, fragmentsTransfer->fragmentList) foreach_declared_ptr(fragment, fragmentsTransfer->fragmentList)
{ {
const char *fragmentName = fragment->resultId; const char *fragmentName = fragment->resultId;

View File

@ -163,7 +163,7 @@ bool
TaskListCannotBeExecutedInTransaction(List *taskList) TaskListCannotBeExecutedInTransaction(List *taskList)
{ {
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
if (task->cannotBeExecutedInTransaction) if (task->cannotBeExecutedInTransaction)
{ {
@ -190,7 +190,7 @@ SelectForUpdateOnReferenceTable(List *taskList)
Task *task = (Task *) linitial(taskList); Task *task = (Task *) linitial(taskList);
RelationRowLock *relationRowLock = NULL; RelationRowLock *relationRowLock = NULL;
foreach_ptr(relationRowLock, task->relationRowLockList) foreach_declared_ptr(relationRowLock, task->relationRowLockList)
{ {
Oid relationId = relationRowLock->relationId; Oid relationId = relationRowLock->relationId;
@ -239,7 +239,7 @@ bool
ModifiedTableReplicated(List *taskList) ModifiedTableReplicated(List *taskList)
{ {
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
int64 shardId = task->anchorShardId; int64 shardId = task->anchorShardId;

View File

@ -239,7 +239,7 @@ NonPushableInsertSelectExecScan(CustomScanState *node)
* on shards with connections. * on shards with connections.
*/ */
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
uint64 shardId = task->anchorShardId; uint64 shardId = task->anchorShardId;
bool shardModified = false; bool shardModified = false;
@ -376,7 +376,7 @@ BuildColumnNameListFromTargetList(Oid targetRelationId, List *insertTargetList)
/* build the list of column names for the COPY statement */ /* build the list of column names for the COPY statement */
TargetEntry *insertTargetEntry = NULL; TargetEntry *insertTargetEntry = NULL;
foreach_ptr(insertTargetEntry, insertTargetList) foreach_declared_ptr(insertTargetEntry, insertTargetList)
{ {
columnNameList = lappend(columnNameList, insertTargetEntry->resname); columnNameList = lappend(columnNameList, insertTargetEntry->resname);
} }
@ -397,7 +397,7 @@ PartitionColumnIndexFromColumnList(Oid relationId, List *columnNameList)
int partitionColumnIndex = 0; int partitionColumnIndex = 0;
const char *columnName = NULL; const char *columnName = NULL;
foreach_ptr(columnName, columnNameList) foreach_declared_ptr(columnName, columnNameList)
{ {
AttrNumber attrNumber = get_attnum(relationId, columnName); AttrNumber attrNumber = get_attnum(relationId, columnName);
@ -423,7 +423,7 @@ DistributionColumnIndex(List *insertTargetList, Var *distributionColumn)
{ {
TargetEntry *insertTargetEntry = NULL; TargetEntry *insertTargetEntry = NULL;
int targetEntryIndex = 0; int targetEntryIndex = 0;
foreach_ptr(insertTargetEntry, insertTargetList) foreach_declared_ptr(insertTargetEntry, insertTargetList)
{ {
if (insertTargetEntry->resno == distributionColumn->varattno) if (insertTargetEntry->resno == distributionColumn->varattno)
{ {
@ -447,7 +447,7 @@ WrapTaskListForProjection(List *taskList, List *projectedTargetEntries)
StringInfo projectedColumnsString = makeStringInfo(); StringInfo projectedColumnsString = makeStringInfo();
int entryIndex = 0; int entryIndex = 0;
TargetEntry *targetEntry = NULL; TargetEntry *targetEntry = NULL;
foreach_ptr(targetEntry, projectedTargetEntries) foreach_declared_ptr(targetEntry, projectedTargetEntries)
{ {
if (entryIndex != 0) if (entryIndex != 0)
{ {
@ -462,7 +462,7 @@ WrapTaskListForProjection(List *taskList, List *projectedTargetEntries)
} }
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
StringInfo wrappedQuery = makeStringInfo(); StringInfo wrappedQuery = makeStringInfo();
appendStringInfo(wrappedQuery, "SELECT %s FROM (%s) subquery", appendStringInfo(wrappedQuery, "SELECT %s FROM (%s) subquery",

View File

@ -306,7 +306,7 @@ PrepareIntermediateResultBroadcast(RemoteFileDestReceiver *resultDest)
} }
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, initialNodeList) foreach_declared_ptr(workerNode, initialNodeList)
{ {
int flags = 0; int flags = 0;
@ -326,7 +326,7 @@ PrepareIntermediateResultBroadcast(RemoteFileDestReceiver *resultDest)
RemoteTransactionsBeginIfNecessary(connectionList); RemoteTransactionsBeginIfNecessary(connectionList);
MultiConnection *connection = NULL; MultiConnection *connection = NULL;
foreach_ptr(connection, connectionList) foreach_declared_ptr(connection, connectionList)
{ {
StringInfo copyCommand = ConstructCopyResultStatement(resultId); StringInfo copyCommand = ConstructCopyResultStatement(resultId);
@ -337,7 +337,7 @@ PrepareIntermediateResultBroadcast(RemoteFileDestReceiver *resultDest)
} }
} }
foreach_ptr(connection, connectionList) foreach_declared_ptr(connection, connectionList)
{ {
bool raiseInterrupts = true; bool raiseInterrupts = true;
@ -516,7 +516,7 @@ static void
BroadcastCopyData(StringInfo dataBuffer, List *connectionList) BroadcastCopyData(StringInfo dataBuffer, List *connectionList)
{ {
MultiConnection *connection = NULL; MultiConnection *connection = NULL;
foreach_ptr(connection, connectionList) foreach_declared_ptr(connection, connectionList)
{ {
SendCopyDataOverConnection(dataBuffer, connection); SendCopyDataOverConnection(dataBuffer, connection);
} }
@ -712,7 +712,7 @@ void
RemoveIntermediateResultsDirectories(void) RemoveIntermediateResultsDirectories(void)
{ {
char *directoryElement = NULL; char *directoryElement = NULL;
foreach_ptr(directoryElement, CreatedResultsDirectories) foreach_declared_ptr(directoryElement, CreatedResultsDirectories)
{ {
/* /*
* The shared directory is renamed before deleting it. Otherwise it * The shared directory is renamed before deleting it. Otherwise it

View File

@ -253,7 +253,7 @@ ExecuteLocalTaskListExtended(List *taskList,
ALLOCSET_DEFAULT_SIZES); ALLOCSET_DEFAULT_SIZES);
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
MemoryContext oldContext = MemoryContextSwitchTo(loopContext); MemoryContext oldContext = MemoryContextSwitchTo(loopContext);
@ -304,7 +304,7 @@ ExecuteLocalTaskListExtended(List *taskList,
LOCKMODE lockMode = GetQueryLockMode(jobQuery); LOCKMODE lockMode = GetQueryLockMode(jobQuery);
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, localPlan->relationOids) foreach_declared_oid(relationId, localPlan->relationOids)
{ {
LockRelationOid(relationId, lockMode); LockRelationOid(relationId, lockMode);
} }
@ -393,7 +393,7 @@ SetColocationIdAndPartitionKeyValueForTasks(List *taskList, Job *workerJob)
if (workerJob->colocationId != INVALID_COLOCATION_ID) if (workerJob->colocationId != INVALID_COLOCATION_ID)
{ {
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
task->colocationId = workerJob->colocationId; task->colocationId = workerJob->colocationId;
task->partitionKeyValue = workerJob->partitionKeyValue; task->partitionKeyValue = workerJob->partitionKeyValue;
@ -412,7 +412,7 @@ LocallyPlanAndExecuteMultipleQueries(List *queryStrings, TupleDestination *tuple
{ {
char *queryString = NULL; char *queryString = NULL;
uint64 totalProcessedRows = 0; uint64 totalProcessedRows = 0;
foreach_ptr(queryString, queryStrings) foreach_declared_ptr(queryString, queryStrings)
{ {
Query *shardQuery = ParseQueryString(queryString, Query *shardQuery = ParseQueryString(queryString,
NULL, NULL,
@ -490,7 +490,7 @@ ExecuteUtilityCommand(const char *taskQueryCommand)
List *parseTreeList = pg_parse_query(taskQueryCommand); List *parseTreeList = pg_parse_query(taskQueryCommand);
RawStmt *taskRawStmt = NULL; RawStmt *taskRawStmt = NULL;
foreach_ptr(taskRawStmt, parseTreeList) foreach_declared_ptr(taskRawStmt, parseTreeList)
{ {
Node *taskRawParseTree = taskRawStmt->stmt; Node *taskRawParseTree = taskRawStmt->stmt;
@ -580,7 +580,7 @@ ExtractLocalAndRemoteTasks(bool readOnly, List *taskList, List **localTaskList,
*localTaskList = NIL; *localTaskList = NIL;
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
List *localTaskPlacementList = NULL; List *localTaskPlacementList = NULL;
List *remoteTaskPlacementList = NULL; List *remoteTaskPlacementList = NULL;
@ -645,7 +645,7 @@ SplitLocalAndRemotePlacements(List *taskPlacementList, List **localTaskPlacement
*remoteTaskPlacementList = NIL; *remoteTaskPlacementList = NIL;
ShardPlacement *taskPlacement = NULL; ShardPlacement *taskPlacement = NULL;
foreach_ptr(taskPlacement, taskPlacementList) foreach_declared_ptr(taskPlacement, taskPlacementList)
{ {
if (taskPlacement->groupId == localGroupId) if (taskPlacement->groupId == localGroupId)
{ {
@ -817,7 +817,7 @@ RecordNonDistTableAccessesForTask(Task *task)
List *placementAccessList = PlacementAccessListForTask(task, taskPlacement); List *placementAccessList = PlacementAccessListForTask(task, taskPlacement);
ShardPlacementAccess *placementAccess = NULL; ShardPlacementAccess *placementAccess = NULL;
foreach_ptr(placementAccess, placementAccessList) foreach_declared_ptr(placementAccess, placementAccessList)
{ {
uint64 placementAccessShardId = placementAccess->placement->shardId; uint64 placementAccessShardId = placementAccess->placement->shardId;
if (placementAccessShardId == INVALID_SHARD_ID) if (placementAccessShardId == INVALID_SHARD_ID)
@ -968,7 +968,7 @@ AnyTaskAccessesLocalNode(List *taskList)
{ {
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
if (TaskAccessesLocalNode(task)) if (TaskAccessesLocalNode(task))
{ {
@ -990,7 +990,7 @@ TaskAccessesLocalNode(Task *task)
int32 localGroupId = GetLocalGroupId(); int32 localGroupId = GetLocalGroupId();
ShardPlacement *taskPlacement = NULL; ShardPlacement *taskPlacement = NULL;
foreach_ptr(taskPlacement, task->taskPlacementList) foreach_declared_ptr(taskPlacement, task->taskPlacementList)
{ {
if (taskPlacement->groupId == localGroupId) if (taskPlacement->groupId == localGroupId)
{ {

View File

@ -258,7 +258,7 @@ ExecuteSourceAtCoordAndRedistribution(CitusScanState *scanState)
* on shards with connections. * on shards with connections.
*/ */
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
uint64 shardId = task->anchorShardId; uint64 shardId = task->anchorShardId;
bool shardModified = false; bool shardModified = false;

View File

@ -224,7 +224,7 @@ CitusExecutorRun(QueryDesc *queryDesc,
*/ */
List *citusCustomScanStates = FindCitusCustomScanStates(queryDesc->planstate); List *citusCustomScanStates = FindCitusCustomScanStates(queryDesc->planstate);
CitusScanState *citusScanState = NULL; CitusScanState *citusScanState = NULL;
foreach_ptr(citusScanState, citusCustomScanStates) foreach_declared_ptr(citusScanState, citusCustomScanStates)
{ {
if (citusScanState->PreExecScan) if (citusScanState->PreExecScan)
{ {
@ -512,7 +512,7 @@ SortTupleStore(CitusScanState *scanState)
* for sorting the tuples. * for sorting the tuples.
*/ */
TargetEntry *returningEntry = NULL; TargetEntry *returningEntry = NULL;
foreach_ptr(returningEntry, targetList) foreach_declared_ptr(returningEntry, targetList)
{ {
Oid sortop = InvalidOid; Oid sortop = InvalidOid;

View File

@ -126,7 +126,7 @@ BuildPlacementAccessList(int32 groupId, List *relationShardList,
List *placementAccessList = NIL; List *placementAccessList = NIL;
RelationShard *relationShard = NULL; RelationShard *relationShard = NULL;
foreach_ptr(relationShard, relationShardList) foreach_declared_ptr(relationShard, relationShardList)
{ {
ShardPlacement *placement = ActiveShardPlacementOnGroup(groupId, ShardPlacement *placement = ActiveShardPlacementOnGroup(groupId,
relationShard->shardId); relationShard->shardId);

View File

@ -93,7 +93,7 @@ TraverseJobTree(Job *curJob, List **jobIds)
*jobIds = lappend(*jobIds, jobIdPointer); *jobIds = lappend(*jobIds, jobIdPointer);
Job *childJob = NULL; Job *childJob = NULL;
foreach_ptr(childJob, curJob->dependentJobList) foreach_declared_ptr(childJob, curJob->dependentJobList)
{ {
TraverseJobTree(childJob, jobIds); TraverseJobTree(childJob, jobIds);
} }

View File

@ -59,7 +59,7 @@ ExecuteSubPlans(DistributedPlan *distributedPlan)
UseCoordinatedTransaction(); UseCoordinatedTransaction();
DistributedSubPlan *subPlan = NULL; DistributedSubPlan *subPlan = NULL;
foreach_ptr(subPlan, subPlanList) foreach_declared_ptr(subPlan, subPlanList)
{ {
PlannedStmt *plannedStmt = subPlan->plan; PlannedStmt *plannedStmt = subPlan->plan;
uint32 subPlanId = subPlan->subPlanId; uint32 subPlanId = subPlan->subPlanId;

View File

@ -207,7 +207,7 @@ GetUniqueDependenciesList(List *objectAddressesList)
InitObjectAddressCollector(&objectAddressCollector); InitObjectAddressCollector(&objectAddressCollector);
ObjectAddress *objectAddress = NULL; ObjectAddress *objectAddress = NULL;
foreach_ptr(objectAddress, objectAddressesList) foreach_declared_ptr(objectAddress, objectAddressesList)
{ {
if (IsObjectAddressCollected(*objectAddress, &objectAddressCollector)) if (IsObjectAddressCollected(*objectAddress, &objectAddressCollector))
{ {
@ -334,7 +334,7 @@ OrderObjectAddressListInDependencyOrder(List *objectAddressList)
InitObjectAddressCollector(&collector); InitObjectAddressCollector(&collector);
ObjectAddress *objectAddress = NULL; ObjectAddress *objectAddress = NULL;
foreach_ptr(objectAddress, objectAddressList) foreach_declared_ptr(objectAddress, objectAddressList)
{ {
if (IsObjectAddressCollected(*objectAddress, &collector)) if (IsObjectAddressCollected(*objectAddress, &collector))
{ {
@ -403,7 +403,7 @@ RecurseObjectDependencies(ObjectAddress target, expandFn expand, followFn follow
/* iterate all entries and recurse depth first */ /* iterate all entries and recurse depth first */
DependencyDefinition *dependencyDefinition = NULL; DependencyDefinition *dependencyDefinition = NULL;
foreach_ptr(dependencyDefinition, dependenyDefinitionList) foreach_declared_ptr(dependencyDefinition, dependenyDefinitionList)
{ {
if (follow == NULL || !follow(collector, dependencyDefinition)) if (follow == NULL || !follow(collector, dependencyDefinition))
{ {
@ -869,7 +869,7 @@ bool
ErrorOrWarnIfAnyObjectHasUnsupportedDependency(List *objectAddresses) ErrorOrWarnIfAnyObjectHasUnsupportedDependency(List *objectAddresses)
{ {
ObjectAddress *objectAddress = NULL; ObjectAddress *objectAddress = NULL;
foreach_ptr(objectAddress, objectAddresses) foreach_declared_ptr(objectAddress, objectAddresses)
{ {
if (ErrorOrWarnIfObjectHasUnsupportedDependency(objectAddress)) if (ErrorOrWarnIfObjectHasUnsupportedDependency(objectAddress))
{ {
@ -962,7 +962,7 @@ DeferErrorIfAnyObjectHasUnsupportedDependency(const List *objectAddresses)
{ {
DeferredErrorMessage *deferredErrorMessage = NULL; DeferredErrorMessage *deferredErrorMessage = NULL;
ObjectAddress *objectAddress = NULL; ObjectAddress *objectAddress = NULL;
foreach_ptr(objectAddress, objectAddresses) foreach_declared_ptr(objectAddress, objectAddresses)
{ {
deferredErrorMessage = DeferErrorIfHasUnsupportedDependency(objectAddress); deferredErrorMessage = DeferErrorIfHasUnsupportedDependency(objectAddress);
if (deferredErrorMessage) if (deferredErrorMessage)
@ -995,7 +995,7 @@ GetUndistributableDependency(const ObjectAddress *objectAddress)
return NULL; return NULL;
} }
foreach_ptr(dependency, dependencies) foreach_declared_ptr(dependency, dependencies)
{ {
/* /*
* Objects with the id smaller than FirstNormalObjectId should be created within * Objects with the id smaller than FirstNormalObjectId should be created within
@ -1172,7 +1172,7 @@ IsAnyObjectAddressOwnedByExtension(const List *targets,
ObjectAddress *extensionAddress) ObjectAddress *extensionAddress)
{ {
ObjectAddress *target = NULL; ObjectAddress *target = NULL;
foreach_ptr(target, targets) foreach_declared_ptr(target, targets)
{ {
if (IsObjectAddressOwnedByExtension(target, extensionAddress)) if (IsObjectAddressOwnedByExtension(target, extensionAddress))
{ {
@ -1563,7 +1563,7 @@ ExpandCitusSupportedTypes(ObjectAddressCollector *collector, ObjectAddress targe
List *FDWOids = GetDependentFDWsToExtension(extensionId); List *FDWOids = GetDependentFDWsToExtension(extensionId);
Oid FDWOid = InvalidOid; Oid FDWOid = InvalidOid;
foreach_oid(FDWOid, FDWOids) foreach_declared_oid(FDWOid, FDWOids)
{ {
List *dependentRoleIds = GetDependentRoleIdsFDW(FDWOid); List *dependentRoleIds = GetDependentRoleIdsFDW(FDWOid);
List *dependencies = List *dependencies =
@ -1849,7 +1849,7 @@ GetViewRuleReferenceDependencyList(Oid viewId)
List *nonInternalDependenciesOfDependingRules = NIL; List *nonInternalDependenciesOfDependingRules = NIL;
HeapTuple depTup = NULL; HeapTuple depTup = NULL;
foreach_ptr(depTup, dependencyTupleList) foreach_declared_ptr(depTup, dependencyTupleList)
{ {
Form_pg_depend pg_depend = (Form_pg_depend) GETSTRUCT(depTup); Form_pg_depend pg_depend = (Form_pg_depend) GETSTRUCT(depTup);
@ -1872,7 +1872,7 @@ GetViewRuleReferenceDependencyList(Oid viewId)
List *ruleDependencies = DependencyDefinitionFromPgDepend(ruleAddress); List *ruleDependencies = DependencyDefinitionFromPgDepend(ruleAddress);
DependencyDefinition *dependencyDef = NULL; DependencyDefinition *dependencyDef = NULL;
foreach_ptr(dependencyDef, ruleDependencies) foreach_declared_ptr(dependencyDef, ruleDependencies)
{ {
/* /*
* Follow all dependencies of the internally dependent rule dependencies * Follow all dependencies of the internally dependent rule dependencies
@ -1907,7 +1907,7 @@ GetRelationSequenceDependencyList(Oid relationId)
List *seqIdList = NIL; List *seqIdList = NIL;
SequenceInfo *seqInfo = NULL; SequenceInfo *seqInfo = NULL;
foreach_ptr(seqInfo, seqInfoList) foreach_declared_ptr(seqInfo, seqInfoList)
{ {
seqIdList = lappend_oid(seqIdList, seqInfo->sequenceOid); seqIdList = lappend_oid(seqIdList, seqInfo->sequenceOid);
} }
@ -1980,7 +1980,7 @@ GetRelationTriggerFunctionDependencyList(Oid relationId)
List *triggerIdList = GetExplicitTriggerIdList(relationId); List *triggerIdList = GetExplicitTriggerIdList(relationId);
Oid triggerId = InvalidOid; Oid triggerId = InvalidOid;
foreach_oid(triggerId, triggerIdList) foreach_declared_oid(triggerId, triggerIdList)
{ {
Oid functionId = GetTriggerFunctionId(triggerId); Oid functionId = GetTriggerFunctionId(triggerId);
DependencyDefinition *dependency = DependencyDefinition *dependency =
@ -2005,7 +2005,7 @@ GetPublicationRelationsDependencyList(Oid publicationId)
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, allRelationIds) foreach_declared_oid(relationId, allRelationIds)
{ {
if (!IsCitusTable(relationId)) if (!IsCitusTable(relationId))
{ {
@ -2087,7 +2087,7 @@ CreateObjectAddressDependencyDefList(Oid classId, List *objectIdList)
{ {
List *dependencyList = NIL; List *dependencyList = NIL;
Oid objectId = InvalidOid; Oid objectId = InvalidOid;
foreach_oid(objectId, objectIdList) foreach_declared_oid(objectId, objectIdList)
{ {
DependencyDefinition *dependency = DependencyDefinition *dependency =
CreateObjectAddressDependencyDef(classId, objectId); CreateObjectAddressDependencyDef(classId, objectId);
@ -2161,7 +2161,7 @@ BuildViewDependencyGraph(Oid relationId, HTAB *nodeMap)
targetObjectId); targetObjectId);
HeapTuple depTup = NULL; HeapTuple depTup = NULL;
foreach_ptr(depTup, dependencyTupleList) foreach_declared_ptr(depTup, dependencyTupleList)
{ {
Form_pg_depend pg_depend = (Form_pg_depend) GETSTRUCT(depTup); Form_pg_depend pg_depend = (Form_pg_depend) GETSTRUCT(depTup);
@ -2240,7 +2240,7 @@ GetDependingViews(Oid relationId)
foreach_ptr_append(node, nodeQueue) foreach_ptr_append(node, nodeQueue)
{ {
ViewDependencyNode *dependingNode = NULL; ViewDependencyNode *dependingNode = NULL;
foreach_ptr(dependingNode, node->dependingNodes) foreach_declared_ptr(dependingNode, node->dependingNodes)
{ {
ObjectAddress relationAddress = { 0 }; ObjectAddress relationAddress = { 0 };
ObjectAddressSet(relationAddress, RelationRelationId, dependingNode->id); ObjectAddressSet(relationAddress, RelationRelationId, dependingNode->id);

View File

@ -554,7 +554,7 @@ bool
IsAnyObjectDistributed(const List *addresses) IsAnyObjectDistributed(const List *addresses)
{ {
ObjectAddress *address = NULL; ObjectAddress *address = NULL;
foreach_ptr(address, addresses) foreach_declared_ptr(address, addresses)
{ {
if (IsObjectDistributed(address)) if (IsObjectDistributed(address))
{ {

View File

@ -920,7 +920,7 @@ CitusTableList(void)
List *citusTableIdList = CitusTableTypeIdList(ANY_CITUS_TABLE_TYPE); List *citusTableIdList = CitusTableTypeIdList(ANY_CITUS_TABLE_TYPE);
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, citusTableIdList) foreach_declared_oid(relationId, citusTableIdList)
{ {
CitusTableCacheEntry *cacheEntry = GetCitusTableCacheEntry(relationId); CitusTableCacheEntry *cacheEntry = GetCitusTableCacheEntry(relationId);
@ -1891,7 +1891,7 @@ BuildCachedShardList(CitusTableCacheEntry *cacheEntry)
sizeof(int)); sizeof(int));
HeapTuple shardTuple = NULL; HeapTuple shardTuple = NULL;
foreach_ptr(shardTuple, distShardTupleList) foreach_declared_ptr(shardTuple, distShardTupleList)
{ {
ShardInterval *shardInterval = TupleToShardInterval(shardTuple, ShardInterval *shardInterval = TupleToShardInterval(shardTuple,
distShardTupleDesc, distShardTupleDesc,
@ -2029,7 +2029,7 @@ BuildCachedShardList(CitusTableCacheEntry *cacheEntry)
GroupShardPlacement *placementArray = palloc0(numberOfPlacements * GroupShardPlacement *placementArray = palloc0(numberOfPlacements *
sizeof(GroupShardPlacement)); sizeof(GroupShardPlacement));
GroupShardPlacement *srcPlacement = NULL; GroupShardPlacement *srcPlacement = NULL;
foreach_ptr(srcPlacement, placementList) foreach_declared_ptr(srcPlacement, placementList)
{ {
placementArray[placementOffset] = *srcPlacement; placementArray[placementOffset] = *srcPlacement;
placementOffset++; placementOffset++;
@ -4335,7 +4335,7 @@ InitializeWorkerNodeCache(void)
/* iterate over the worker node list */ /* iterate over the worker node list */
WorkerNode *currentNode = NULL; WorkerNode *currentNode = NULL;
foreach_ptr(currentNode, workerNodeList) foreach_declared_ptr(currentNode, workerNodeList)
{ {
bool handleFound = false; bool handleFound = false;
@ -4512,7 +4512,7 @@ GetLocalNodeId(void)
List *workerNodeList = ReadDistNode(includeNodesFromOtherClusters); List *workerNodeList = ReadDistNode(includeNodesFromOtherClusters);
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
if (workerNode->groupId == localGroupId && if (workerNode->groupId == localGroupId &&
workerNode->isActive) workerNode->isActive)
@ -5100,7 +5100,7 @@ CitusTableCacheFlushInvalidatedEntries()
if (DistTableCacheHash != NULL && DistTableCacheExpired != NIL) if (DistTableCacheHash != NULL && DistTableCacheExpired != NIL)
{ {
CitusTableCacheEntry *cacheEntry = NULL; CitusTableCacheEntry *cacheEntry = NULL;
foreach_ptr(cacheEntry, DistTableCacheExpired) foreach_declared_ptr(cacheEntry, DistTableCacheExpired)
{ {
ResetCitusTableCacheEntry(cacheEntry); ResetCitusTableCacheEntry(cacheEntry);
} }

View File

@ -307,7 +307,7 @@ CreateDependingViewsOnWorkers(Oid relationId)
SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION); SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION);
Oid viewOid = InvalidOid; Oid viewOid = InvalidOid;
foreach_oid(viewOid, views) foreach_declared_oid(viewOid, views)
{ {
if (!ShouldMarkRelationDistributed(viewOid)) if (!ShouldMarkRelationDistributed(viewOid))
{ {
@ -347,7 +347,7 @@ AddTableToPublications(Oid relationId)
SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION); SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION);
foreach_oid(publicationId, publicationIds) foreach_declared_oid(publicationId, publicationIds)
{ {
ObjectAddress *publicationAddress = palloc0(sizeof(ObjectAddress)); ObjectAddress *publicationAddress = palloc0(sizeof(ObjectAddress));
ObjectAddressSet(*publicationAddress, PublicationRelationId, publicationId); ObjectAddressSet(*publicationAddress, PublicationRelationId, publicationId);
@ -818,7 +818,7 @@ NodeListInsertCommand(List *workerNodeList)
/* iterate over the worker nodes, add the values */ /* iterate over the worker nodes, add the values */
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
char *hasMetadataString = workerNode->hasMetadata ? "TRUE" : "FALSE"; char *hasMetadataString = workerNode->hasMetadata ? "TRUE" : "FALSE";
char *metadataSyncedString = workerNode->metadataSynced ? "TRUE" : "FALSE"; char *metadataSyncedString = workerNode->metadataSynced ? "TRUE" : "FALSE";
@ -946,7 +946,7 @@ MarkObjectsDistributedCreateCommand(List *addresses,
char *name = NULL; char *name = NULL;
bool firstInNameLoop = true; bool firstInNameLoop = true;
foreach_ptr(name, names) foreach_declared_ptr(name, names)
{ {
if (!firstInNameLoop) if (!firstInNameLoop)
{ {
@ -961,7 +961,7 @@ MarkObjectsDistributedCreateCommand(List *addresses,
char *arg; char *arg;
bool firstInArgLoop = true; bool firstInArgLoop = true;
foreach_ptr(arg, args) foreach_declared_ptr(arg, args)
{ {
if (!firstInArgLoop) if (!firstInArgLoop)
{ {
@ -1217,13 +1217,13 @@ ShardListInsertCommand(List *shardIntervalList)
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
bool firstPlacementProcessed = false; bool firstPlacementProcessed = false;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
uint64 shardId = shardInterval->shardId; uint64 shardId = shardInterval->shardId;
List *shardPlacementList = ActiveShardPlacementList(shardId); List *shardPlacementList = ActiveShardPlacementList(shardId);
ShardPlacement *placement = NULL; ShardPlacement *placement = NULL;
foreach_ptr(placement, shardPlacementList) foreach_declared_ptr(placement, shardPlacementList)
{ {
if (firstPlacementProcessed) if (firstPlacementProcessed)
{ {
@ -1257,7 +1257,7 @@ ShardListInsertCommand(List *shardIntervalList)
"WITH shard_data(relationname, shardid, storagetype, " "WITH shard_data(relationname, shardid, storagetype, "
"shardminvalue, shardmaxvalue) AS (VALUES "); "shardminvalue, shardmaxvalue) AS (VALUES ");
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
uint64 shardId = shardInterval->shardId; uint64 shardId = shardInterval->shardId;
Oid distributedRelationId = shardInterval->relationId; Oid distributedRelationId = shardInterval->relationId;
@ -1694,7 +1694,7 @@ GetDependentRelationsWithSequence(Oid sequenceOid, char depType)
Oid attrDefOid; Oid attrDefOid;
List *attrDefOids = GetAttrDefsFromSequence(sequenceOid); List *attrDefOids = GetAttrDefsFromSequence(sequenceOid);
foreach_oid(attrDefOid, attrDefOids) foreach_declared_oid(attrDefOid, attrDefOids)
{ {
ObjectAddress columnAddress = GetAttrDefaultColumnAddress(attrDefOid); ObjectAddress columnAddress = GetAttrDefaultColumnAddress(attrDefOid);
relations = lappend_oid(relations, columnAddress.objectId); relations = lappend_oid(relations, columnAddress.objectId);
@ -1890,7 +1890,7 @@ GetDependentFunctionsWithRelation(Oid relationId)
table_close(depRel, AccessShareLock); table_close(depRel, AccessShareLock);
ObjectAddress *referencingObject = NULL; ObjectAddress *referencingObject = NULL;
foreach_ptr(referencingObject, referencingObjects) foreach_declared_ptr(referencingObject, referencingObjects)
{ {
functionOids = list_concat(functionOids, functionOids = list_concat(functionOids,
GetFunctionDependenciesForObjects(referencingObject)); GetFunctionDependenciesForObjects(referencingObject));
@ -2771,7 +2771,7 @@ HasMetadataWorkers(void)
List *workerNodeList = ActiveReadableNonCoordinatorNodeList(); List *workerNodeList = ActiveReadableNonCoordinatorNodeList();
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
if (workerNode->hasMetadata) if (workerNode->hasMetadata)
{ {
@ -2804,7 +2804,7 @@ CreateInterTableRelationshipOfRelationOnWorkers(Oid relationId)
SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION); SendCommandToWorkersWithMetadata(DISABLE_DDL_PROPAGATION);
const char *command = NULL; const char *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
SendCommandToWorkersWithMetadata(command); SendCommandToWorkersWithMetadata(command);
} }
@ -2857,14 +2857,14 @@ CreateShellTableOnWorkers(Oid relationId)
creatingShellTableOnRemoteNode); creatingShellTableOnRemoteNode);
TableDDLCommand *tableDDLCommand = NULL; TableDDLCommand *tableDDLCommand = NULL;
foreach_ptr(tableDDLCommand, tableDDLCommands) foreach_declared_ptr(tableDDLCommand, tableDDLCommands)
{ {
Assert(CitusIsA(tableDDLCommand, TableDDLCommand)); Assert(CitusIsA(tableDDLCommand, TableDDLCommand));
commandList = lappend(commandList, GetTableDDLCommand(tableDDLCommand)); commandList = lappend(commandList, GetTableDDLCommand(tableDDLCommand));
} }
const char *command = NULL; const char *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
SendCommandToWorkersWithMetadata(command); SendCommandToWorkersWithMetadata(command);
} }
@ -2888,7 +2888,7 @@ CreateTableMetadataOnWorkers(Oid relationId)
/* send the commands one by one */ /* send the commands one by one */
const char *command = NULL; const char *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
SendCommandToWorkersWithMetadata(command); SendCommandToWorkersWithMetadata(command);
} }
@ -2912,7 +2912,7 @@ DetachPartitionCommandList(void)
/* we iterate over all distributed partitioned tables and DETACH their partitions */ /* we iterate over all distributed partitioned tables and DETACH their partitions */
CitusTableCacheEntry *cacheEntry = NULL; CitusTableCacheEntry *cacheEntry = NULL;
foreach_ptr(cacheEntry, distributedTableList) foreach_declared_ptr(cacheEntry, distributedTableList)
{ {
if (!PartitionedTable(cacheEntry->relationId)) if (!PartitionedTable(cacheEntry->relationId))
{ {
@ -2976,7 +2976,7 @@ SyncNodeMetadataToNodesOptional(void)
List *syncedWorkerList = NIL; List *syncedWorkerList = NIL;
List *workerList = ActivePrimaryNonCoordinatorNodeList(NoLock); List *workerList = ActivePrimaryNonCoordinatorNodeList(NoLock);
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerList) foreach_declared_ptr(workerNode, workerList)
{ {
if (workerNode->hasMetadata && !workerNode->metadataSynced) if (workerNode->hasMetadata && !workerNode->metadataSynced)
{ {
@ -2996,7 +2996,7 @@ SyncNodeMetadataToNodesOptional(void)
} }
} }
foreach_ptr(workerNode, syncedWorkerList) foreach_declared_ptr(workerNode, syncedWorkerList)
{ {
SetWorkerColumnOptional(workerNode, Anum_pg_dist_node_metadatasynced, SetWorkerColumnOptional(workerNode, Anum_pg_dist_node_metadatasynced,
BoolGetDatum(true)); BoolGetDatum(true));
@ -3041,7 +3041,7 @@ SyncNodeMetadataToNodes(void)
List *workerList = ActivePrimaryNonCoordinatorNodeList(NoLock); List *workerList = ActivePrimaryNonCoordinatorNodeList(NoLock);
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerList) foreach_declared_ptr(workerNode, workerList)
{ {
if (workerNode->hasMetadata) if (workerNode->hasMetadata)
{ {
@ -3280,7 +3280,7 @@ ShouldInitiateMetadataSync(bool *lockFailure)
List *workerList = ActivePrimaryNonCoordinatorNodeList(NoLock); List *workerList = ActivePrimaryNonCoordinatorNodeList(NoLock);
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerList) foreach_declared_ptr(workerNode, workerList)
{ {
if (workerNode->hasMetadata && !workerNode->metadataSynced) if (workerNode->hasMetadata && !workerNode->metadataSynced)
{ {
@ -3638,7 +3638,7 @@ EnsureShardMetadataIsSane(Oid relationId, int64 shardId, char storageType,
GetFunctionInfo(intervalTypeId, BTREE_AM_OID, BTORDER_PROC); GetFunctionInfo(intervalTypeId, BTREE_AM_OID, BTORDER_PROC);
HeapTuple shardTuple = NULL; HeapTuple shardTuple = NULL;
foreach_ptr(shardTuple, distShardTupleList) foreach_declared_ptr(shardTuple, distShardTupleList)
{ {
ShardInterval *shardInterval = ShardInterval *shardInterval =
TupleToShardInterval(shardTuple, distShardTupleDesc, TupleToShardInterval(shardTuple, distShardTupleDesc,
@ -3934,7 +3934,7 @@ citus_internal_delete_shard_metadata(PG_FUNCTION_ARGS)
List *shardPlacementList = ShardPlacementList(shardId); List *shardPlacementList = ShardPlacementList(shardId);
ShardPlacement *shardPlacement = NULL; ShardPlacement *shardPlacement = NULL;
foreach_ptr(shardPlacement, shardPlacementList) foreach_declared_ptr(shardPlacement, shardPlacementList)
{ {
DeleteShardPlacementRow(shardPlacement->placementId); DeleteShardPlacementRow(shardPlacement->placementId);
} }
@ -4503,7 +4503,7 @@ SetMetadataSyncNodesFromNodeList(MetadataSyncContext *context, List *nodeList)
List *activatedWorkerNodeList = NIL; List *activatedWorkerNodeList = NIL;
WorkerNode *node = NULL; WorkerNode *node = NULL;
foreach_ptr(node, nodeList) foreach_declared_ptr(node, nodeList)
{ {
if (NodeIsPrimary(node)) if (NodeIsPrimary(node))
{ {
@ -4538,7 +4538,7 @@ EstablishAndSetMetadataSyncBareConnections(MetadataSyncContext *context)
/* establish bare connections to activated worker nodes */ /* establish bare connections to activated worker nodes */
List *bareConnectionList = NIL; List *bareConnectionList = NIL;
WorkerNode *node = NULL; WorkerNode *node = NULL;
foreach_ptr(node, context->activatedWorkerNodeList) foreach_declared_ptr(node, context->activatedWorkerNodeList)
{ {
MultiConnection *connection = GetNodeUserDatabaseConnection(connectionFlags, MultiConnection *connection = GetNodeUserDatabaseConnection(connectionFlags,
node->workerName, node->workerName,
@ -5147,7 +5147,7 @@ SendDependencyCreationCommands(MetadataSyncContext *context)
ALLOCSET_DEFAULT_SIZES); ALLOCSET_DEFAULT_SIZES);
MemoryContextSwitchTo(commandsContext); MemoryContextSwitchTo(commandsContext);
ObjectAddress *dependency = NULL; ObjectAddress *dependency = NULL;
foreach_ptr(dependency, dependencies) foreach_declared_ptr(dependency, dependencies)
{ {
if (!MetadataSyncCollectsCommands(context)) if (!MetadataSyncCollectsCommands(context))
{ {

View File

@ -420,7 +420,7 @@ OpenConnectionToNodes(List *workerNodeList)
{ {
List *connectionList = NIL; List *connectionList = NIL;
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
const char *nodeName = workerNode->workerName; const char *nodeName = workerNode->workerName;
int nodePort = workerNode->workerPort; int nodePort = workerNode->workerPort;
@ -444,7 +444,7 @@ GenerateShardStatisticsQueryList(List *workerNodeList, List *citusTableIds)
{ {
List *shardStatisticsQueryList = NIL; List *shardStatisticsQueryList = NIL;
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
char *shardStatisticsQuery = char *shardStatisticsQuery =
GenerateAllShardStatisticsQueryForNode(workerNode, citusTableIds); GenerateAllShardStatisticsQueryForNode(workerNode, citusTableIds);
@ -465,7 +465,7 @@ ReceiveShardIdAndSizeResults(List *connectionList, Tuplestorestate *tupleStore,
TupleDesc tupleDescriptor) TupleDesc tupleDescriptor)
{ {
MultiConnection *connection = NULL; MultiConnection *connection = NULL;
foreach_ptr(connection, connectionList) foreach_declared_ptr(connection, connectionList)
{ {
bool raiseInterrupts = true; bool raiseInterrupts = true;
Datum values[SHARD_SIZES_COLUMN_COUNT]; Datum values[SHARD_SIZES_COLUMN_COUNT];
@ -559,7 +559,7 @@ DistributedRelationSize(Oid relationId, SizeQueryType sizeQueryType,
List *workerNodeList = ActiveReadableNodeList(); List *workerNodeList = ActiveReadableNodeList();
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
uint64 relationSizeOnNode = 0; uint64 relationSizeOnNode = 0;
@ -780,7 +780,7 @@ GenerateSizeQueryOnMultiplePlacements(List *shardIntervalList,
List *nonPartitionedShardNames = NIL; List *nonPartitionedShardNames = NIL;
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
if (optimizePartitionCalculations && PartitionTable(shardInterval->relationId)) if (optimizePartitionCalculations && PartitionTable(shardInterval->relationId))
{ {
@ -859,7 +859,7 @@ GenerateSizeQueryForRelationNameList(List *quotedShardNames, char *sizeFunction)
bool addComma = false; bool addComma = false;
char *quotedShardName = NULL; char *quotedShardName = NULL;
foreach_ptr(quotedShardName, quotedShardNames) foreach_declared_ptr(quotedShardName, quotedShardNames)
{ {
if (addComma) if (addComma)
{ {
@ -960,7 +960,7 @@ GenerateAllShardStatisticsQueryForNode(WorkerNode *workerNode, List *citusTableI
appendStringInfoString(allShardStatisticsQuery, " FROM (VALUES "); appendStringInfoString(allShardStatisticsQuery, " FROM (VALUES ");
Oid relationId = InvalidOid; 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 * Ensure the table still exists by trying to acquire a lock on it
@ -1007,7 +1007,7 @@ GenerateShardIdNameValuesForShardList(List *shardIntervalList, bool firstValue)
StringInfo selectQuery = makeStringInfo(); StringInfo selectQuery = makeStringInfo();
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
if (!firstValue) if (!firstValue)
{ {
@ -1147,7 +1147,7 @@ TableShardReplicationFactor(Oid relationId)
List *shardIntervalList = LoadShardIntervalList(relationId); List *shardIntervalList = LoadShardIntervalList(relationId);
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
uint64 shardId = shardInterval->shardId; uint64 shardId = shardInterval->shardId;
@ -1238,7 +1238,7 @@ LoadUnsortedShardIntervalListViaCatalog(Oid relationId)
&intervalTypeMod); &intervalTypeMod);
HeapTuple distShardTuple = NULL; HeapTuple distShardTuple = NULL;
foreach_ptr(distShardTuple, distShardTuples) foreach_declared_ptr(distShardTuple, distShardTuples)
{ {
ShardInterval *interval = TupleToShardInterval(distShardTuple, ShardInterval *interval = TupleToShardInterval(distShardTuple,
distShardTupleDesc, distShardTupleDesc,
@ -1487,7 +1487,7 @@ FilterShardPlacementList(List *shardPlacementList, bool (*filter)(ShardPlacement
List *filteredShardPlacementList = NIL; List *filteredShardPlacementList = NIL;
ShardPlacement *shardPlacement = NULL; ShardPlacement *shardPlacement = NULL;
foreach_ptr(shardPlacement, shardPlacementList) foreach_declared_ptr(shardPlacement, shardPlacementList)
{ {
if (filter(shardPlacement)) if (filter(shardPlacement))
{ {
@ -1511,7 +1511,7 @@ FilterActiveShardPlacementListByNode(List *shardPlacementList, WorkerNode *worke
List *filteredShardPlacementList = NIL; List *filteredShardPlacementList = NIL;
ShardPlacement *shardPlacement = NULL; ShardPlacement *shardPlacement = NULL;
foreach_ptr(shardPlacement, activeShardPlacementList) foreach_declared_ptr(shardPlacement, activeShardPlacementList)
{ {
if (IsPlacementOnWorkerNode(shardPlacement, workerNode)) if (IsPlacementOnWorkerNode(shardPlacement, workerNode))
{ {
@ -1535,7 +1535,7 @@ ActiveShardPlacementListOnGroup(uint64 shardId, int32 groupId)
List *activePlacementList = ActiveShardPlacementList(shardId); List *activePlacementList = ActiveShardPlacementList(shardId);
ShardPlacement *shardPlacement = NULL; ShardPlacement *shardPlacement = NULL;
foreach_ptr(shardPlacement, activePlacementList) foreach_declared_ptr(shardPlacement, activePlacementList)
{ {
if (shardPlacement->groupId == groupId) if (shardPlacement->groupId == groupId)
{ {
@ -3331,7 +3331,7 @@ ResetRunningBackgroundTasks(void)
/* there are tasks that need to release their lock before we can continue */ /* there are tasks that need to release their lock before we can continue */
int64 *taskId = NULL; int64 *taskId = NULL;
foreach_ptr(taskId, taskIdsToWait) foreach_declared_ptr(taskId, taskIdsToWait)
{ {
LOCKTAG locktag = { 0 }; LOCKTAG locktag = { 0 };
SET_LOCKTAG_BACKGROUND_TASK(locktag, *taskId); SET_LOCKTAG_BACKGROUND_TASK(locktag, *taskId);

View File

@ -990,7 +990,7 @@ MarkNodesNotSyncedInLoopBackConnection(MetadataSyncContext *context,
List *commandList = NIL; List *commandList = NIL;
WorkerNode *workerNode = NULL; 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 * We need to prevent self deadlock when we access pg_dist_node using separate
@ -1023,7 +1023,7 @@ SetNodeMetadata(MetadataSyncContext *context, bool localOnly)
List *updatedActivatedNodeList = NIL; List *updatedActivatedNodeList = NIL;
WorkerNode *node = NULL; WorkerNode *node = NULL;
foreach_ptr(node, context->activatedWorkerNodeList) foreach_declared_ptr(node, context->activatedWorkerNodeList)
{ {
node = SetWorkerColumnLocalOnly(node, Anum_pg_dist_node_isactive, node = SetWorkerColumnLocalOnly(node, Anum_pg_dist_node_isactive,
BoolGetDatum(true)); BoolGetDatum(true));
@ -1042,7 +1042,7 @@ SetNodeMetadata(MetadataSyncContext *context, bool localOnly)
if (!localOnly && EnableMetadataSync) if (!localOnly && EnableMetadataSync)
{ {
WorkerNode *node = NULL; WorkerNode *node = NULL;
foreach_ptr(node, context->activatedWorkerNodeList) foreach_declared_ptr(node, context->activatedWorkerNodeList)
{ {
SetNodeStateViaMetadataContext(context, node, BoolGetDatum(true)); SetNodeStateViaMetadataContext(context, node, BoolGetDatum(true));
} }
@ -1847,7 +1847,7 @@ FindNodeAnyClusterByNodeId(uint32 nodeId)
List *nodeList = ReadDistNode(includeNodesFromOtherClusters); List *nodeList = ReadDistNode(includeNodesFromOtherClusters);
WorkerNode *node = NULL; WorkerNode *node = NULL;
foreach_ptr(node, nodeList) foreach_declared_ptr(node, nodeList)
{ {
if (node->nodeId == nodeId) if (node->nodeId == nodeId)
{ {
@ -1869,7 +1869,7 @@ FindNodeWithNodeId(int nodeId, bool missingOk)
List *nodeList = ActiveReadableNodeList(); List *nodeList = ActiveReadableNodeList();
WorkerNode *node = NULL; WorkerNode *node = NULL;
foreach_ptr(node, nodeList) foreach_declared_ptr(node, nodeList)
{ {
if (node->nodeId == nodeId) if (node->nodeId == nodeId)
{ {
@ -1897,7 +1897,7 @@ FindCoordinatorNodeId()
List *nodeList = ReadDistNode(includeNodesFromOtherClusters); List *nodeList = ReadDistNode(includeNodesFromOtherClusters);
WorkerNode *node = NULL; WorkerNode *node = NULL;
foreach_ptr(node, nodeList) foreach_declared_ptr(node, nodeList)
{ {
if (NodeIsCoordinator(node)) if (NodeIsCoordinator(node))
{ {
@ -2027,7 +2027,7 @@ ErrorIfNodeContainsNonRemovablePlacements(WorkerNode *workerNode)
shardPlacements = SortList(shardPlacements, CompareGroupShardPlacements); shardPlacements = SortList(shardPlacements, CompareGroupShardPlacements);
GroupShardPlacement *placement = NULL; GroupShardPlacement *placement = NULL;
foreach_ptr(placement, shardPlacements) foreach_declared_ptr(placement, shardPlacements)
{ {
if (!PlacementHasActivePlacementOnAnotherGroup(placement)) if (!PlacementHasActivePlacementOnAnotherGroup(placement))
{ {
@ -2063,7 +2063,7 @@ PlacementHasActivePlacementOnAnotherGroup(GroupShardPlacement *sourcePlacement)
bool foundActivePlacementOnAnotherGroup = false; bool foundActivePlacementOnAnotherGroup = false;
ShardPlacement *activePlacement = NULL; ShardPlacement *activePlacement = NULL;
foreach_ptr(activePlacement, activePlacementList) foreach_declared_ptr(activePlacement, activePlacementList)
{ {
if (activePlacement->groupId != sourcePlacement->groupId) if (activePlacement->groupId != sourcePlacement->groupId)
{ {
@ -2414,7 +2414,7 @@ SetWorkerColumnOptional(WorkerNode *workerNode, int columnIndex, Datum value)
/* open connections in parallel */ /* open connections in parallel */
WorkerNode *worker = NULL; WorkerNode *worker = NULL;
foreach_ptr(worker, workerNodeList) foreach_declared_ptr(worker, workerNodeList)
{ {
bool success = SendOptionalMetadataCommandListToWorkerInCoordinatedTransaction( bool success = SendOptionalMetadataCommandListToWorkerInCoordinatedTransaction(
worker->workerName, worker->workerPort, worker->workerName, worker->workerPort,
@ -3147,7 +3147,7 @@ static void
ErrorIfAnyNodeNotExist(List *nodeList) ErrorIfAnyNodeNotExist(List *nodeList)
{ {
WorkerNode *node = NULL; WorkerNode *node = NULL;
foreach_ptr(node, nodeList) foreach_declared_ptr(node, nodeList)
{ {
/* /*
* First, locally mark the node is active, if everything goes well, * First, locally mark the node is active, if everything goes well,
@ -3196,7 +3196,7 @@ static void
SendDeletionCommandsForReplicatedTablePlacements(MetadataSyncContext *context) SendDeletionCommandsForReplicatedTablePlacements(MetadataSyncContext *context)
{ {
WorkerNode *node = NULL; WorkerNode *node = NULL;
foreach_ptr(node, context->activatedWorkerNodeList) foreach_declared_ptr(node, context->activatedWorkerNodeList)
{ {
if (!node->isActive) if (!node->isActive)
{ {

View File

@ -122,7 +122,7 @@ OpenConnectionsToAllWorkerNodes(LOCKMODE lockMode)
List *workerNodeList = ActivePrimaryNonCoordinatorNodeList(lockMode); List *workerNodeList = ActivePrimaryNonCoordinatorNodeList(lockMode);
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
MultiConnection *connection = StartNodeConnection(connectionFlags, MultiConnection *connection = StartNodeConnection(connectionFlags,
workerNode->workerName, workerNode->workerName,
@ -164,7 +164,7 @@ CreateRemoteRestorePoints(char *restoreName, List *connectionList)
const char *parameterValues[1] = { restoreName }; const char *parameterValues[1] = { restoreName };
MultiConnection *connection = NULL; MultiConnection *connection = NULL;
foreach_ptr(connection, connectionList) foreach_declared_ptr(connection, connectionList)
{ {
int querySent = SendRemoteCommandParams(connection, CREATE_RESTORE_POINT_COMMAND, int querySent = SendRemoteCommandParams(connection, CREATE_RESTORE_POINT_COMMAND,
parameterCount, parameterTypes, 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); PGresult *result = GetRemoteCommandResult(connection, true);
if (!IsResponseOK(result)) if (!IsResponseOK(result))

View File

@ -200,7 +200,7 @@ CreateShardsWithRoundRobinPolicy(Oid distributedTableId, int32 shardCount,
* each placement insertion. * each placement insertion.
*/ */
uint64 *shardIdPtr; uint64 *shardIdPtr;
foreach_ptr(shardIdPtr, insertedShardIds) foreach_declared_ptr(shardIdPtr, insertedShardIds)
{ {
List *placementsForShard = ShardPlacementList(*shardIdPtr); List *placementsForShard = ShardPlacementList(*shardIdPtr);
insertedShardPlacements = list_concat(insertedShardPlacements, insertedShardPlacements = list_concat(insertedShardPlacements,
@ -258,7 +258,7 @@ CreateColocatedShards(Oid targetRelationId, Oid sourceRelationId, bool
char targetShardStorageType = ShardStorageType(targetRelationId); char targetShardStorageType = ShardStorageType(targetRelationId);
ShardInterval *sourceShardInterval = NULL; ShardInterval *sourceShardInterval = NULL;
foreach_ptr(sourceShardInterval, sourceShardIntervalList) foreach_declared_ptr(sourceShardInterval, sourceShardIntervalList)
{ {
uint64 sourceShardId = sourceShardInterval->shardId; uint64 sourceShardId = sourceShardInterval->shardId;
uint64 *newShardIdPtr = (uint64 *) palloc0(sizeof(uint64)); uint64 *newShardIdPtr = (uint64 *) palloc0(sizeof(uint64));
@ -286,7 +286,7 @@ CreateColocatedShards(Oid targetRelationId, Oid sourceRelationId, bool
shardMinValueText, shardMaxValueText); shardMinValueText, shardMaxValueText);
ShardPlacement *sourcePlacement = NULL; ShardPlacement *sourcePlacement = NULL;
foreach_ptr(sourcePlacement, sourceShardPlacementList) foreach_declared_ptr(sourcePlacement, sourceShardPlacementList)
{ {
int32 groupId = sourcePlacement->groupId; int32 groupId = sourcePlacement->groupId;
const uint64 shardSize = 0; const uint64 shardSize = 0;
@ -304,7 +304,7 @@ CreateColocatedShards(Oid targetRelationId, Oid sourceRelationId, bool
* each placement insertion. * each placement insertion.
*/ */
uint64 *shardIdPtr; uint64 *shardIdPtr;
foreach_ptr(shardIdPtr, insertedShardIds) foreach_declared_ptr(shardIdPtr, insertedShardIds)
{ {
List *placementsForShard = ShardPlacementList(*shardIdPtr); List *placementsForShard = ShardPlacementList(*shardIdPtr);
insertedShardPlacements = list_concat(insertedShardPlacements, insertedShardPlacements = list_concat(insertedShardPlacements,

View File

@ -250,12 +250,12 @@ DropShards(Oid relationId, char *schemaName, char *relationName,
bool shouldExecuteTasksLocally = ShouldExecuteTasksLocally(dropTaskList); bool shouldExecuteTasksLocally = ShouldExecuteTasksLocally(dropTaskList);
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, dropTaskList) foreach_declared_ptr(task, dropTaskList)
{ {
uint64 shardId = task->anchorShardId; uint64 shardId = task->anchorShardId;
ShardPlacement *shardPlacement = NULL; ShardPlacement *shardPlacement = NULL;
foreach_ptr(shardPlacement, task->taskPlacementList) foreach_declared_ptr(shardPlacement, task->taskPlacementList)
{ {
uint64 shardPlacementId = shardPlacement->placementId; uint64 shardPlacementId = shardPlacement->placementId;
int32 shardPlacementGroupId = shardPlacement->groupId; int32 shardPlacementGroupId = shardPlacement->groupId;
@ -350,7 +350,7 @@ DropTaskList(Oid relationId, char *schemaName, char *relationName,
int taskId = 1; int taskId = 1;
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, deletableShardIntervalList) foreach_declared_ptr(shardInterval, deletableShardIntervalList)
{ {
Assert(shardInterval->relationId == relationId); Assert(shardInterval->relationId == relationId);

View File

@ -119,11 +119,11 @@ StoreAllConnectivityChecks(Tuplestorestate *tupleStore, TupleDesc tupleDescripto
/* /*
* We iterate over the workerNodeList twice, for source and target worker nodes. This * 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. * each iteration.
*/ */
WorkerNode *sourceWorkerNode = NULL; WorkerNode *sourceWorkerNode = NULL;
foreach_ptr(sourceWorkerNode, workerNodeList) foreach_declared_ptr(sourceWorkerNode, workerNodeList)
{ {
const char *sourceNodeName = sourceWorkerNode->workerName; const char *sourceNodeName = sourceWorkerNode->workerName;
const int sourceNodePort = sourceWorkerNode->workerPort; const int sourceNodePort = sourceWorkerNode->workerPort;
@ -135,7 +135,7 @@ StoreAllConnectivityChecks(Tuplestorestate *tupleStore, TupleDesc tupleDescripto
/* the second iteration over workerNodeList for the target worker nodes. */ /* the second iteration over workerNodeList for the target worker nodes. */
WorkerNode *targetWorkerNode = NULL; WorkerNode *targetWorkerNode = NULL;
foreach_ptr(targetWorkerNode, workerNodeList) foreach_declared_ptr(targetWorkerNode, workerNodeList)
{ {
const char *targetNodeName = targetWorkerNode->workerName; const char *targetNodeName = targetWorkerNode->workerName;
const int targetNodePort = targetWorkerNode->workerPort; const int targetNodePort = targetWorkerNode->workerPort;

View File

@ -645,7 +645,7 @@ GetPreLoadTableCreationCommands(Oid relationId,
if (tableACLList != NIL) if (tableACLList != NIL)
{ {
char *tableACLCommand = NULL; char *tableACLCommand = NULL;
foreach_ptr(tableACLCommand, tableACLList) foreach_declared_ptr(tableACLCommand, tableACLList)
{ {
tableDDLEventList = lappend(tableDDLEventList, tableDDLEventList = lappend(tableDDLEventList,
makeTableDDLCommandString(tableACLCommand)); makeTableDDLCommandString(tableACLCommand));
@ -822,7 +822,7 @@ GetTableRowLevelSecurityCommands(Oid relationId)
List *rowLevelSecurityEnableCommands = pg_get_row_level_security_commands(relationId); List *rowLevelSecurityEnableCommands = pg_get_row_level_security_commands(relationId);
char *rowLevelSecurityCommand = NULL; char *rowLevelSecurityCommand = NULL;
foreach_ptr(rowLevelSecurityCommand, rowLevelSecurityEnableCommands) foreach_declared_ptr(rowLevelSecurityCommand, rowLevelSecurityEnableCommands)
{ {
rowLevelSecurityCommandList = lappend( rowLevelSecurityCommandList = lappend(
rowLevelSecurityCommandList, rowLevelSecurityCommandList,

View File

@ -63,7 +63,7 @@ NoneDistTableReplicateCoordinatorPlacement(Oid noneDistTableId,
/* insert new placements to pg_dist_placement */ /* insert new placements to pg_dist_placement */
List *insertedPlacementList = NIL; List *insertedPlacementList = NIL;
WorkerNode *targetNode = NULL; WorkerNode *targetNode = NULL;
foreach_ptr(targetNode, targetNodeList) foreach_declared_ptr(targetNode, targetNodeList)
{ {
ShardPlacement *shardPlacement = ShardPlacement *shardPlacement =
InsertShardPlacementRowGlobally(shardId, GetNextPlacementId(), InsertShardPlacementRowGlobally(shardId, GetNextPlacementId(),
@ -215,7 +215,7 @@ CreateForeignKeysFromReferenceTablesOnShards(Oid noneDistTableId)
List *taskList = NIL; List *taskList = NIL;
char *command = NULL; char *command = NULL;
foreach_ptr(command, ddlCommandList) foreach_declared_ptr(command, ddlCommandList)
{ {
List *commandTaskList = InterShardDDLTaskList( List *commandTaskList = InterShardDDLTaskList(
ForeignConstraintGetReferencingTableId(command), ForeignConstraintGetReferencingTableId(command),

View File

@ -259,7 +259,7 @@ DropOrphanedResourcesForCleanup()
int failedResourceCountForCleanup = 0; int failedResourceCountForCleanup = 0;
CleanupRecord *record = NULL; CleanupRecord *record = NULL;
foreach_ptr(record, cleanupRecordList) foreach_declared_ptr(record, cleanupRecordList)
{ {
if (!PrimaryNodeForGroup(record->nodeGroupId, NULL)) if (!PrimaryNodeForGroup(record->nodeGroupId, NULL))
{ {
@ -369,7 +369,7 @@ FinalizeOperationNeedingCleanupOnSuccess(const char *operationName)
int failedShardCountOnComplete = 0; int failedShardCountOnComplete = 0;
CleanupRecord *record = NULL; CleanupRecord *record = NULL;
foreach_ptr(record, currentOperationRecordList) foreach_declared_ptr(record, currentOperationRecordList)
{ {
if (record->policy == CLEANUP_ALWAYS) if (record->policy == CLEANUP_ALWAYS)
{ {

View File

@ -357,7 +357,7 @@ CheckRebalanceStateInvariants(const RebalanceState *state)
Assert(state != NULL); Assert(state != NULL);
Assert(list_length(state->fillStateListAsc) == list_length(state->fillStateListDesc)); Assert(list_length(state->fillStateListAsc) == list_length(state->fillStateListDesc));
foreach_ptr(fillState, state->fillStateListAsc) foreach_declared_ptr(fillState, state->fillStateListAsc)
{ {
float4 totalCost = 0; float4 totalCost = 0;
ShardCost *shardCost = NULL; ShardCost *shardCost = NULL;
@ -376,7 +376,7 @@ CheckRebalanceStateInvariants(const RebalanceState *state)
fillState); fillState);
foreach_ptr(shardCost, fillState->shardCostListDesc) foreach_declared_ptr(shardCost, fillState->shardCostListDesc)
{ {
if (prevShardCost != NULL) if (prevShardCost != NULL)
{ {
@ -521,7 +521,7 @@ GetRebalanceSteps(RebalanceOptions *options)
List *activeWorkerList = SortedActiveWorkers(); List *activeWorkerList = SortedActiveWorkers();
int shardAllowedNodeCount = 0; int shardAllowedNodeCount = 0;
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, activeWorkerList) foreach_declared_ptr(workerNode, activeWorkerList)
{ {
if (workerNode->shouldHaveShards) if (workerNode->shouldHaveShards)
{ {
@ -540,7 +540,7 @@ GetRebalanceSteps(RebalanceOptions *options)
List *unbalancedShards = NIL; List *unbalancedShards = NIL;
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, options->relationIdList) foreach_declared_oid(relationId, options->relationIdList)
{ {
List *shardPlacementList = FullShardPlacementList(relationId, List *shardPlacementList = FullShardPlacementList(relationId,
options->excludedShardArray); options->excludedShardArray);
@ -1336,7 +1336,7 @@ get_rebalance_progress(PG_FUNCTION_ARGS)
&segmentList); &segmentList);
ProgressMonitorData *monitor = NULL; ProgressMonitorData *monitor = NULL;
foreach_ptr(monitor, rebalanceMonitorList) foreach_declared_ptr(monitor, rebalanceMonitorList)
{ {
PlacementUpdateEventProgress *placementUpdateEvents = ProgressMonitorSteps( PlacementUpdateEventProgress *placementUpdateEvents = ProgressMonitorSteps(
monitor); monitor);
@ -1847,7 +1847,7 @@ NonColocatedDistRelationIdList(void)
HTAB *alreadySelectedColocationIds = hash_create("RebalanceColocationIdSet", HTAB *alreadySelectedColocationIds = hash_create("RebalanceColocationIdSet",
capacity, &info, flags); capacity, &info, flags);
foreach_oid(tableId, allCitusTablesList) foreach_declared_oid(tableId, allCitusTablesList)
{ {
bool foundInSet = false; bool foundInSet = false;
CitusTableCacheEntry *citusTableCacheEntry = GetCitusTableCacheEntry( CitusTableCacheEntry *citusTableCacheEntry = GetCitusTableCacheEntry(
@ -1913,7 +1913,7 @@ RebalanceTableShards(RebalanceOptions *options, Oid shardReplicationModeOid)
* is required for logical replication to replicate UPDATE and DELETE commands. * is required for logical replication to replicate UPDATE and DELETE commands.
*/ */
PlacementUpdateEvent *placementUpdate = NULL; PlacementUpdateEvent *placementUpdate = NULL;
foreach_ptr(placementUpdate, placementUpdateList) foreach_declared_ptr(placementUpdate, placementUpdateList)
{ {
Oid relationId = RelationIdForShard(placementUpdate->shardId); Oid relationId = RelationIdForShard(placementUpdate->shardId);
List *colocatedTableList = ColocatedTableList(relationId); List *colocatedTableList = ColocatedTableList(relationId);
@ -1948,7 +1948,7 @@ static void
ErrorOnConcurrentRebalance(RebalanceOptions *options) ErrorOnConcurrentRebalance(RebalanceOptions *options)
{ {
Oid relationId = InvalidOid; 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 */ /* this provides the legacy error when the lock can't be acquired */
AcquireRebalanceColocationLock(relationId, options->operationName); AcquireRebalanceColocationLock(relationId, options->operationName);
@ -2039,7 +2039,7 @@ GenerateTaskMoveDependencyList(PlacementUpdateEvent *move, int64 colocationId,
if (found) if (found)
{ {
int64 *taskId = NULL; int64 *taskId = NULL;
foreach_ptr(taskId, shardMoveSourceNodeHashEntry->taskIds) foreach_declared_ptr(taskId, shardMoveSourceNodeHashEntry->taskIds)
{ {
hash_search(dependsList, taskId, HASH_ENTER, NULL); hash_search(dependsList, taskId, HASH_ENTER, NULL);
} }
@ -2123,13 +2123,13 @@ RebalanceTableShardsBackground(RebalanceOptions *options, Oid shardReplicationMo
const char shardTransferMode = LookupShardTransferMode(shardReplicationModeOid); const char shardTransferMode = LookupShardTransferMode(shardReplicationModeOid);
List *colocatedTableList = NIL; List *colocatedTableList = NIL;
Oid relationId = InvalidOid; Oid relationId = InvalidOid;
foreach_oid(relationId, options->relationIdList) foreach_declared_oid(relationId, options->relationIdList)
{ {
colocatedTableList = list_concat(colocatedTableList, colocatedTableList = list_concat(colocatedTableList,
ColocatedTableList(relationId)); ColocatedTableList(relationId));
} }
Oid colocatedTableId = InvalidOid; Oid colocatedTableId = InvalidOid;
foreach_oid(colocatedTableId, colocatedTableList) foreach_declared_oid(colocatedTableId, colocatedTableList)
{ {
EnsureTableOwner(colocatedTableId); EnsureTableOwner(colocatedTableId);
} }
@ -2151,7 +2151,7 @@ RebalanceTableShardsBackground(RebalanceOptions *options, Oid shardReplicationMo
* is required for logical replication to replicate UPDATE and DELETE commands. * is required for logical replication to replicate UPDATE and DELETE commands.
*/ */
PlacementUpdateEvent *placementUpdate = NULL; PlacementUpdateEvent *placementUpdate = NULL;
foreach_ptr(placementUpdate, placementUpdateList) foreach_declared_ptr(placementUpdate, placementUpdateList)
{ {
relationId = RelationIdForShard(placementUpdate->shardId); relationId = RelationIdForShard(placementUpdate->shardId);
List *colocatedTables = ColocatedTableList(relationId); List *colocatedTables = ColocatedTableList(relationId);
@ -2204,7 +2204,7 @@ RebalanceTableShardsBackground(RebalanceOptions *options, Oid shardReplicationMo
ShardMoveDependencies shardMoveDependencies = InitializeShardMoveDependencies(); ShardMoveDependencies shardMoveDependencies = InitializeShardMoveDependencies();
foreach_ptr(move, placementUpdateList) foreach_declared_ptr(move, placementUpdateList)
{ {
resetStringInfo(&buf); resetStringInfo(&buf);
@ -2361,7 +2361,7 @@ ExecuteRebalancerCommandInSeparateTransaction(char *command)
List *setCommands = GetSetCommandListForNewConnections(); List *setCommands = GetSetCommandListForNewConnections();
char *setCommand = NULL; char *setCommand = NULL;
foreach_ptr(setCommand, setCommands) foreach_declared_ptr(setCommand, setCommands)
{ {
commandList = lappend(commandList, setCommand); commandList = lappend(commandList, setCommand);
} }
@ -2429,14 +2429,14 @@ RebalancePlacementUpdates(List *workerNodeList, List *activeShardPlacementListLi
List *shardPlacementList = NIL; List *shardPlacementList = NIL;
List *placementUpdateList = NIL; List *placementUpdateList = NIL;
foreach_ptr(shardPlacementList, activeShardPlacementListList) foreach_declared_ptr(shardPlacementList, activeShardPlacementListList)
{ {
state = InitRebalanceState(workerNodeList, shardPlacementList, state = InitRebalanceState(workerNodeList, shardPlacementList,
functions); functions);
rebalanceStates = lappend(rebalanceStates, state); rebalanceStates = lappend(rebalanceStates, state);
} }
foreach_ptr(state, rebalanceStates) foreach_declared_ptr(state, rebalanceStates)
{ {
state->placementUpdateList = placementUpdateList; state->placementUpdateList = placementUpdateList;
MoveShardsAwayFromDisallowedNodes(state); MoveShardsAwayFromDisallowedNodes(state);
@ -2445,7 +2445,7 @@ RebalancePlacementUpdates(List *workerNodeList, List *activeShardPlacementListLi
if (!drainOnly) if (!drainOnly)
{ {
foreach_ptr(state, rebalanceStates) foreach_declared_ptr(state, rebalanceStates)
{ {
state->placementUpdateList = placementUpdateList; state->placementUpdateList = placementUpdateList;
@ -2477,13 +2477,13 @@ RebalancePlacementUpdates(List *workerNodeList, List *activeShardPlacementListLi
} }
} }
foreach_ptr(state, rebalanceStates) foreach_declared_ptr(state, rebalanceStates)
{ {
hash_destroy(state->placementsHash); hash_destroy(state->placementsHash);
} }
int64 ignoredMoves = 0; int64 ignoredMoves = 0;
foreach_ptr(state, rebalanceStates) foreach_declared_ptr(state, rebalanceStates)
{ {
ignoredMoves += state->ignoredMoves; ignoredMoves += state->ignoredMoves;
} }
@ -2538,7 +2538,7 @@ InitRebalanceState(List *workerNodeList, List *shardPlacementList,
state->placementsHash = ShardPlacementsListToHash(shardPlacementList); state->placementsHash = ShardPlacementsListToHash(shardPlacementList);
/* create empty fill state for all of the worker nodes */ /* create empty fill state for all of the worker nodes */
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
NodeFillState *fillState = palloc0(sizeof(NodeFillState)); NodeFillState *fillState = palloc0(sizeof(NodeFillState));
fillState->node = workerNode; fillState->node = workerNode;
@ -2621,7 +2621,7 @@ FindFillStateForPlacement(RebalanceState *state, ShardPlacement *placement)
NodeFillState *fillState = NULL; NodeFillState *fillState = NULL;
/* Find the correct fill state to add the placement to and do that */ /* 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)) if (IsPlacementOnWorkerNode(placement, fillState->node))
{ {
@ -2733,7 +2733,7 @@ MoveShardsAwayFromDisallowedNodes(RebalanceState *state)
CompareDisallowedPlacementDesc); CompareDisallowedPlacementDesc);
/* Move shards off of nodes they are not allowed on */ /* Move shards off of nodes they are not allowed on */
foreach_ptr(disallowedPlacement, state->disallowedPlacementList) foreach_declared_ptr(disallowedPlacement, state->disallowedPlacementList)
{ {
NodeFillState *targetFillState = FindAllowedTargetFillState( NodeFillState *targetFillState = FindAllowedTargetFillState(
state, disallowedPlacement->shardCost->shardId); state, disallowedPlacement->shardCost->shardId);
@ -2788,7 +2788,7 @@ static NodeFillState *
FindAllowedTargetFillState(RebalanceState *state, uint64 shardId) FindAllowedTargetFillState(RebalanceState *state, uint64 shardId)
{ {
NodeFillState *targetFillState = NULL; NodeFillState *targetFillState = NULL;
foreach_ptr(targetFillState, state->fillStateListAsc) foreach_declared_ptr(targetFillState, state->fillStateListAsc)
{ {
bool hasShard = PlacementsHashFind( bool hasShard = PlacementsHashFind(
state->placementsHash, state->placementsHash,
@ -2914,7 +2914,7 @@ FindAndMoveShardCost(float4 utilizationLowerBound,
* find a source node for the move, starting at the node with the highest * find a source node for the move, starting at the node with the highest
* utilization * 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 /* Don't move shards away from nodes that are already too empty, we're
* done searching */ * done searching */
@ -2925,7 +2925,7 @@ FindAndMoveShardCost(float4 utilizationLowerBound,
/* find a target node for the move, starting at the node with the /* find a target node for the move, starting at the node with the
* lowest utilization */ * lowest utilization */
foreach_ptr(targetFillState, state->fillStateListAsc) foreach_declared_ptr(targetFillState, state->fillStateListAsc)
{ {
ShardCost *shardCost = NULL; ShardCost *shardCost = NULL;
@ -2948,7 +2948,7 @@ FindAndMoveShardCost(float4 utilizationLowerBound,
/* find a shardcost that can be moved between between nodes that /* find a shardcost that can be moved between between nodes that
* makes the cost distribution more equal */ * makes the cost distribution more equal */
foreach_ptr(shardCost, sourceFillState->shardCostListDesc) foreach_declared_ptr(shardCost, sourceFillState->shardCostListDesc)
{ {
bool targetHasShard = PlacementsHashFind(state->placementsHash, bool targetHasShard = PlacementsHashFind(state->placementsHash,
shardCost->shardId, shardCost->shardId,

View File

@ -302,7 +302,7 @@ ErrorIfCannotSplitShardExtended(SplitOperation splitOperation,
NullableDatum lastShardSplitPoint = { 0, true /*isnull*/ }; NullableDatum lastShardSplitPoint = { 0, true /*isnull*/ };
Datum shardSplitPoint; Datum shardSplitPoint;
foreach_int(shardSplitPoint, shardSplitPointsList) foreach_declared_int(shardSplitPoint, shardSplitPointsList)
{ {
int32 shardSplitPointValue = DatumGetInt32(shardSplitPoint); int32 shardSplitPointValue = DatumGetInt32(shardSplitPoint);
@ -399,7 +399,7 @@ GetWorkerNodesFromWorkerIds(List *nodeIdsForPlacementList)
{ {
List *workersForPlacementList = NIL; List *workersForPlacementList = NIL;
int32 nodeId; int32 nodeId;
foreach_int(nodeId, nodeIdsForPlacementList) foreach_declared_int(nodeId, nodeIdsForPlacementList)
{ {
uint32 nodeIdValue = (uint32) nodeId; uint32 nodeIdValue = (uint32) nodeId;
WorkerNode *workerNode = LookupNodeByNodeId(nodeIdValue); WorkerNode *workerNode = LookupNodeByNodeId(nodeIdValue);
@ -464,7 +464,7 @@ SplitShard(SplitMode splitMode,
/* sort the tables to avoid deadlocks */ /* sort the tables to avoid deadlocks */
colocatedTableList = SortList(colocatedTableList, CompareOids); colocatedTableList = SortList(colocatedTableList, CompareOids);
Oid colocatedTableId = InvalidOid; Oid colocatedTableId = InvalidOid;
foreach_oid(colocatedTableId, colocatedTableList) foreach_declared_oid(colocatedTableId, colocatedTableList)
{ {
/* /*
* Block concurrent DDL / TRUNCATE commands on the relation. Similarly, * 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. * Iterate over all the shards in the shard group.
*/ */
List *shardIntervalList = NIL; List *shardIntervalList = NIL;
foreach_ptr(shardIntervalList, shardGroupSplitIntervalListList) foreach_declared_ptr(shardIntervalList, shardGroupSplitIntervalListList)
{ {
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
WorkerNode *workerPlacementNode = NULL; WorkerNode *workerPlacementNode = NULL;
@ -778,7 +778,7 @@ CreateAuxiliaryStructuresForShardGroup(List *shardGroupSplitIntervalListList,
/* /*
* Iterate over all the shards in the shard group. * Iterate over all the shards in the shard group.
*/ */
foreach_ptr(shardIntervalList, shardGroupSplitIntervalListList) foreach_declared_ptr(shardIntervalList, shardGroupSplitIntervalListList)
{ {
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
WorkerNode *workerPlacementNode = NULL; WorkerNode *workerPlacementNode = NULL;
@ -1029,7 +1029,7 @@ CreateSplitIntervalsForShardGroup(List *sourceColocatedShardIntervalList,
List *shardGroupSplitIntervalListList = NIL; List *shardGroupSplitIntervalListList = NIL;
ShardInterval *shardToSplitInterval = NULL; ShardInterval *shardToSplitInterval = NULL;
foreach_ptr(shardToSplitInterval, sourceColocatedShardIntervalList) foreach_declared_ptr(shardToSplitInterval, sourceColocatedShardIntervalList)
{ {
List *shardSplitIntervalList = NIL; List *shardSplitIntervalList = NIL;
CreateSplitIntervalsForShard(shardToSplitInterval, splitPointsForShard, CreateSplitIntervalsForShard(shardToSplitInterval, splitPointsForShard,
@ -1121,7 +1121,7 @@ UpdateDistributionColumnsForShardGroup(List *colocatedShardList,
uint32 colocationId) uint32 colocationId)
{ {
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, colocatedShardList) foreach_declared_ptr(shardInterval, colocatedShardList)
{ {
Oid relationId = shardInterval->relationId; Oid relationId = shardInterval->relationId;
Var *distributionColumn = GetDistributionColumnFromMap(distributionColumnMap, Var *distributionColumn = GetDistributionColumnFromMap(distributionColumnMap,
@ -1162,7 +1162,7 @@ InsertSplitChildrenShardMetadata(List *shardGroupSplitIntervalListList,
/* /*
* Iterate over all the shards in the shard group. * 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. * 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 */ /* send commands to synced nodes one by one */
List *splitOffShardMetadataCommandList = ShardListInsertCommand(syncedShardList); List *splitOffShardMetadataCommandList = ShardListInsertCommand(syncedShardList);
char *command = NULL; char *command = NULL;
foreach_ptr(command, splitOffShardMetadataCommandList) foreach_declared_ptr(command, splitOffShardMetadataCommandList)
{ {
SendCommandToWorkersWithMetadata(command); SendCommandToWorkersWithMetadata(command);
} }
@ -1216,7 +1216,7 @@ CreatePartitioningHierarchyForBlockingSplit(List *shardGroupSplitIntervalListLis
/* /*
* Iterate over all the shards in the shard group. * Iterate over all the shards in the shard group.
*/ */
foreach_ptr(shardIntervalList, shardGroupSplitIntervalListList) foreach_declared_ptr(shardIntervalList, shardGroupSplitIntervalListList)
{ {
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
WorkerNode *workerPlacementNode = NULL; WorkerNode *workerPlacementNode = NULL;
@ -1255,7 +1255,7 @@ CreateForeignKeyConstraints(List *shardGroupSplitIntervalListList,
/* /*
* Iterate over all the shards in the shard group. * Iterate over all the shards in the shard group.
*/ */
foreach_ptr(shardIntervalList, shardGroupSplitIntervalListList) foreach_declared_ptr(shardIntervalList, shardGroupSplitIntervalListList)
{ {
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
WorkerNode *workerPlacementNode = NULL; WorkerNode *workerPlacementNode = NULL;
@ -1281,7 +1281,7 @@ CreateForeignKeyConstraints(List *shardGroupSplitIntervalListList,
referenceTableForeignConstraintList); referenceTableForeignConstraintList);
char *constraintCommand = NULL; char *constraintCommand = NULL;
foreach_ptr(constraintCommand, constraintCommandList) foreach_declared_ptr(constraintCommand, constraintCommandList)
{ {
SendCommandToWorker( SendCommandToWorker(
workerPlacementNode->workerName, workerPlacementNode->workerName,
@ -1685,7 +1685,7 @@ CreateDummyShardsForShardGroup(HTAB *mapOfPlacementToDummyShardList,
} }
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, sourceColocatedShardIntervalList) foreach_declared_ptr(shardInterval, sourceColocatedShardIntervalList)
{ {
/* Populate list of commands necessary to create shard interval on destination */ /* Populate list of commands necessary to create shard interval on destination */
List *splitShardCreationCommandList = GetPreLoadTableCreationCommands( 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). * If the target shard was created on source node as placement, skip it (See Note 2 from function description).
*/ */
List *shardIntervalList = NULL; List *shardIntervalList = NULL;
foreach_ptr(shardIntervalList, shardGroupSplitIntervalListList) foreach_declared_ptr(shardIntervalList, shardGroupSplitIntervalListList)
{ {
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
workerPlacementNode = NULL; workerPlacementNode = NULL;
@ -1818,7 +1818,7 @@ CreateWorkerForPlacementSet(List *workersForPlacementList)
hashFlags); hashFlags);
WorkerNode *workerForPlacement = NULL; WorkerNode *workerForPlacement = NULL;
foreach_ptr(workerForPlacement, workersForPlacementList) foreach_declared_ptr(workerForPlacement, workersForPlacementList)
{ {
void *hashKey = (void *) workerForPlacement; void *hashKey = (void *) workerForPlacement;
hash_search(workerForPlacementSet, hashKey, HASH_ENTER, NULL); hash_search(workerForPlacementSet, hashKey, HASH_ENTER, NULL);

View File

@ -503,7 +503,7 @@ TransferShards(int64 shardId, char *sourceNodeName,
DropOrphanedResourcesInSeparateTransaction(); DropOrphanedResourcesInSeparateTransaction();
ShardInterval *colocatedShard = NULL; ShardInterval *colocatedShard = NULL;
foreach_ptr(colocatedShard, colocatedShardList) foreach_declared_ptr(colocatedShard, colocatedShardList)
{ {
/* /*
* This is to prevent any race condition possibility among the shard moves. * This is to prevent any race condition possibility among the shard moves.
@ -530,7 +530,7 @@ TransferShards(int64 shardId, char *sourceNodeName,
* metadata workers. * metadata workers.
*/ */
colocatedShard = NULL; colocatedShard = NULL;
foreach_ptr(colocatedShard, colocatedShardList) foreach_declared_ptr(colocatedShard, colocatedShardList)
{ {
uint64 colocatedShardId = colocatedShard->shardId; uint64 colocatedShardId = colocatedShard->shardId;
uint32 groupId = GroupForNode(targetNodeName, targetNodePort); uint32 groupId = GroupForNode(targetNodeName, targetNodePort);
@ -623,7 +623,7 @@ InsertCleanupRecordsForShardPlacementsOnNode(List *shardIntervalList,
int32 groupId) int32 groupId)
{ {
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
/* get shard name */ /* get shard name */
char *qualifiedShardName = ConstructQualifiedShardName(shardInterval); char *qualifiedShardName = ConstructQualifiedShardName(shardInterval);
@ -659,7 +659,7 @@ IsShardListOnNode(List *colocatedShardList, char *targetNodeName, uint32 targetN
* We exhaustively search all co-located shards * We exhaustively search all co-located shards
*/ */
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, colocatedShardList) foreach_declared_ptr(shardInterval, colocatedShardList)
{ {
uint64 shardId = shardInterval->shardId; uint64 shardId = shardInterval->shardId;
List *placementList = ActiveShardPlacementListOnGroup(shardId, List *placementList = ActiveShardPlacementListOnGroup(shardId,
@ -682,7 +682,7 @@ static void
LockColocatedRelationsForMove(List *colocatedTableList) LockColocatedRelationsForMove(List *colocatedTableList)
{ {
Oid colocatedTableId = InvalidOid; Oid colocatedTableId = InvalidOid;
foreach_oid(colocatedTableId, colocatedTableList) foreach_declared_oid(colocatedTableId, colocatedTableList)
{ {
LockRelationOid(colocatedTableId, ShareUpdateExclusiveLock); LockRelationOid(colocatedTableId, ShareUpdateExclusiveLock);
} }
@ -698,7 +698,7 @@ ErrorIfForeignTableForShardTransfer(List *colocatedTableList,
ShardTransferType transferType) ShardTransferType transferType)
{ {
Oid colocatedTableId = InvalidOid; Oid colocatedTableId = InvalidOid;
foreach_oid(colocatedTableId, colocatedTableList) foreach_declared_oid(colocatedTableId, colocatedTableList)
{ {
if (IsForeignTable(colocatedTableId)) if (IsForeignTable(colocatedTableId))
{ {
@ -724,7 +724,7 @@ EnsureAllShardsCanBeCopied(List *colocatedShardList,
char *targetNodeName, uint32 targetNodePort) char *targetNodeName, uint32 targetNodePort)
{ {
ShardInterval *colocatedShard = NULL; ShardInterval *colocatedShard = NULL;
foreach_ptr(colocatedShard, colocatedShardList) foreach_declared_ptr(colocatedShard, colocatedShardList)
{ {
uint64 colocatedShardId = colocatedShard->shardId; uint64 colocatedShardId = colocatedShard->shardId;
@ -1124,7 +1124,7 @@ void
BlockWritesToShardList(List *shardList) BlockWritesToShardList(List *shardList)
{ {
ShardInterval *shard = NULL; ShardInterval *shard = NULL;
foreach_ptr(shard, shardList) foreach_declared_ptr(shard, shardList)
{ {
/* /*
* We need to lock the referenced reference table metadata to avoid * We need to lock the referenced reference table metadata to avoid
@ -1295,7 +1295,7 @@ static void
EnsureTableListOwner(List *tableIdList) EnsureTableListOwner(List *tableIdList)
{ {
Oid tableId = InvalidOid; Oid tableId = InvalidOid;
foreach_oid(tableId, tableIdList) foreach_declared_oid(tableId, tableIdList)
{ {
EnsureTableOwner(tableId); EnsureTableOwner(tableId);
} }
@ -1310,7 +1310,7 @@ static void
ErrorIfReplicatingDistributedTableWithFKeys(List *tableIdList) ErrorIfReplicatingDistributedTableWithFKeys(List *tableIdList)
{ {
Oid tableId = InvalidOid; Oid tableId = InvalidOid;
foreach_oid(tableId, tableIdList) foreach_declared_oid(tableId, tableIdList)
{ {
List *foreignConstraintCommandList = List *foreignConstraintCommandList =
GetReferencingForeignConstaintCommands(tableId); GetReferencingForeignConstaintCommands(tableId);
@ -1381,7 +1381,7 @@ CopyShardTablesViaLogicalReplication(List *shardIntervalList, char *sourceNodeNa
* target node. We do not create the indexes yet. * target node. We do not create the indexes yet.
*/ */
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
Oid relationId = shardInterval->relationId; Oid relationId = shardInterval->relationId;
uint64 shardId = shardInterval->shardId; uint64 shardId = shardInterval->shardId;
@ -1449,7 +1449,7 @@ CopyShardTablesViaBlockWrites(List *shardIntervalList, char *sourceNodeName,
/* iterate through the colocated shards and copy each */ /* iterate through the colocated shards and copy each */
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
/* /*
* For each shard we first create the shard table in a separate * For each shard we first create the shard table in a separate
@ -1492,7 +1492,7 @@ CopyShardTablesViaBlockWrites(List *shardIntervalList, char *sourceNodeName,
sourceNodePort, sourceNodePort,
PLACEMENT_UPDATE_STATUS_CREATING_CONSTRAINTS); PLACEMENT_UPDATE_STATUS_CREATING_CONSTRAINTS);
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
List *ddlCommandList = List *ddlCommandList =
PostLoadShardCreationCommandList(shardInterval, sourceNodeName, PostLoadShardCreationCommandList(shardInterval, sourceNodeName,
@ -1509,7 +1509,7 @@ CopyShardTablesViaBlockWrites(List *shardIntervalList, char *sourceNodeName,
* Create DDL commands to Attach child tables to their parents in a partitioning hierarchy. * Create DDL commands to Attach child tables to their parents in a partitioning hierarchy.
*/ */
List *shardIntervalWithDDCommandsList = NIL; List *shardIntervalWithDDCommandsList = NIL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
if (PartitionTable(shardInterval->relationId)) if (PartitionTable(shardInterval->relationId))
{ {
@ -1534,7 +1534,7 @@ CopyShardTablesViaBlockWrites(List *shardIntervalList, char *sourceNodeName,
* Iterate through the colocated shards and create DDL commamnds * Iterate through the colocated shards and create DDL commamnds
* to create the foreign constraints. * to create the foreign constraints.
*/ */
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
List *shardForeignConstraintCommandList = NIL; List *shardForeignConstraintCommandList = NIL;
List *referenceTableForeignConstraintList = NIL; List *referenceTableForeignConstraintList = NIL;
@ -1553,7 +1553,7 @@ CopyShardTablesViaBlockWrites(List *shardIntervalList, char *sourceNodeName,
/* Now execute the Partitioning & Foreign constraints creation commads. */ /* Now execute the Partitioning & Foreign constraints creation commads. */
ShardCommandList *shardCommandList = NULL; ShardCommandList *shardCommandList = NULL;
foreach_ptr(shardCommandList, shardIntervalWithDDCommandsList) foreach_declared_ptr(shardCommandList, shardIntervalWithDDCommandsList)
{ {
char *tableOwner = TableOwner(shardCommandList->shardInterval->relationId); char *tableOwner = TableOwner(shardCommandList->shardInterval->relationId);
SendCommandListToWorkerOutsideTransaction(targetNodeName, targetNodePort, SendCommandListToWorkerOutsideTransaction(targetNodeName, targetNodePort,
@ -1583,7 +1583,7 @@ CopyShardsToNode(WorkerNode *sourceNode, WorkerNode *targetNode, List *shardInte
int taskId = 0; int taskId = 0;
List *copyTaskList = NIL; List *copyTaskList = NIL;
ShardInterval *shardInterval = NULL; ShardInterval *shardInterval = NULL;
foreach_ptr(shardInterval, shardIntervalList) foreach_declared_ptr(shardInterval, shardIntervalList)
{ {
/* /*
* Skip copying data for partitioned tables, because they contain no * Skip copying data for partitioned tables, because they contain no
@ -1716,7 +1716,7 @@ SearchShardPlacementInList(List *shardPlacementList, const char *nodeName,
uint32 nodePort) uint32 nodePort)
{ {
ShardPlacement *shardPlacement = NULL; ShardPlacement *shardPlacement = NULL;
foreach_ptr(shardPlacement, shardPlacementList) foreach_declared_ptr(shardPlacement, shardPlacementList)
{ {
if (strncmp(nodeName, shardPlacement->nodeName, MAX_NODE_LENGTH) == 0 && if (strncmp(nodeName, shardPlacement->nodeName, MAX_NODE_LENGTH) == 0 &&
nodePort == shardPlacement->nodePort) nodePort == shardPlacement->nodePort)
@ -1837,7 +1837,7 @@ CopyShardForeignConstraintCommandListGrouped(ShardInterval *shardInterval,
*referenceTableForeignConstraintList = NIL; *referenceTableForeignConstraintList = NIL;
const char *command = NULL; const char *command = NULL;
foreach_ptr(command, commandList) foreach_declared_ptr(command, commandList)
{ {
char *escapedCommand = quote_literal_cstr(command); char *escapedCommand = quote_literal_cstr(command);
@ -2002,7 +2002,7 @@ DropShardPlacementsFromMetadata(List *shardList,
char *nodeName, int32 nodePort) char *nodeName, int32 nodePort)
{ {
ShardInterval *shardInverval = NULL; ShardInterval *shardInverval = NULL;
foreach_ptr(shardInverval, shardList) foreach_declared_ptr(shardInverval, shardList)
{ {
uint64 shardId = shardInverval->shardId; uint64 shardId = shardInverval->shardId;
List *shardPlacementList = ShardPlacementList(shardId); List *shardPlacementList = ShardPlacementList(shardId);
@ -2066,7 +2066,7 @@ WorkerApplyShardDDLCommandList(List *ddlCommandList, int64 shardId)
List *applyDDLCommandList = NIL; List *applyDDLCommandList = NIL;
TableDDLCommand *ddlCommand = NULL; TableDDLCommand *ddlCommand = NULL;
foreach_ptr(ddlCommand, ddlCommandList) foreach_declared_ptr(ddlCommand, ddlCommandList)
{ {
Assert(CitusIsA(ddlCommand, TableDDLCommand)); Assert(CitusIsA(ddlCommand, TableDDLCommand));
char *applyDDLCommand = GetShardedTableDDLCommand(ddlCommand, shardId, NULL); char *applyDDLCommand = GetShardedTableDDLCommand(ddlCommand, shardId, NULL);
@ -2100,7 +2100,7 @@ UpdatePlacementUpdateStatusForShardIntervalList(List *shardIntervalList,
} }
ProgressMonitorData *monitor = NULL; ProgressMonitorData *monitor = NULL;
foreach_ptr(monitor, rebalanceMonitorList) foreach_declared_ptr(monitor, rebalanceMonitorList)
{ {
PlacementUpdateEventProgress *steps = ProgressMonitorSteps(monitor); PlacementUpdateEventProgress *steps = ProgressMonitorSteps(monitor);
@ -2111,7 +2111,7 @@ UpdatePlacementUpdateStatusForShardIntervalList(List *shardIntervalList,
bool foundInList = false; bool foundInList = false;
ShardInterval *candidateShard = NULL; ShardInterval *candidateShard = NULL;
foreach_ptr(candidateShard, shardIntervalList) foreach_declared_ptr(candidateShard, shardIntervalList)
{ {
if (candidateShard->shardId == currentShardId) if (candidateShard->shardId == currentShardId)
{ {

View File

@ -431,7 +431,7 @@ CreateShardsOnWorkers(Oid distributedRelationId, List *shardPlacements,
int poolSize = 1; int poolSize = 1;
ShardPlacement *shardPlacement = NULL; ShardPlacement *shardPlacement = NULL;
foreach_ptr(shardPlacement, shardPlacements) foreach_declared_ptr(shardPlacement, shardPlacements)
{ {
uint64 shardId = shardPlacement->shardId; uint64 shardId = shardPlacement->shardId;
ShardInterval *shardInterval = LoadShardInterval(shardId); ShardInterval *shardInterval = LoadShardInterval(shardId);
@ -516,7 +516,7 @@ RelationShardListForShardCreate(ShardInterval *shardInterval)
/* all foregin key constraint relations */ /* all foregin key constraint relations */
Oid fkeyRelationid = InvalidOid; Oid fkeyRelationid = InvalidOid;
foreach_oid(fkeyRelationid, allForeignKeyRelations) foreach_declared_oid(fkeyRelationid, allForeignKeyRelations)
{ {
uint64 fkeyShardId = INVALID_SHARD_ID; uint64 fkeyShardId = INVALID_SHARD_ID;
@ -590,7 +590,7 @@ WorkerCreateShardCommandList(Oid relationId, uint64 shardId,
char *schemaName = get_namespace_name(schemaId); char *schemaName = get_namespace_name(schemaId);
TableDDLCommand *ddlCommand = NULL; TableDDLCommand *ddlCommand = NULL;
foreach_ptr(ddlCommand, ddlCommandList) foreach_declared_ptr(ddlCommand, ddlCommandList)
{ {
Assert(CitusIsA(ddlCommand, TableDDLCommand)); Assert(CitusIsA(ddlCommand, TableDDLCommand));
char *applyDDLCommand = GetShardedTableDDLCommand(ddlCommand, shardId, char *applyDDLCommand = GetShardedTableDDLCommand(ddlCommand, shardId,
@ -645,7 +645,7 @@ UpdateShardStatistics(int64 shardId)
/* get shard's statistics from a shard placement */ /* get shard's statistics from a shard placement */
ShardPlacement *placement = NULL; ShardPlacement *placement = NULL;
foreach_ptr(placement, shardPlacementList) foreach_declared_ptr(placement, shardPlacementList)
{ {
statsOK = WorkerShardStats(placement, relationId, shardQualifiedName, statsOK = WorkerShardStats(placement, relationId, shardQualifiedName,
&shardSize); &shardSize);
@ -713,7 +713,7 @@ ReceiveAndUpdateShardsSizes(List *connectionList)
"oid visited hash set"); "oid visited hash set");
MultiConnection *connection = NULL; MultiConnection *connection = NULL;
foreach_ptr(connection, connectionList) foreach_declared_ptr(connection, connectionList)
{ {
if (PQstatus(connection->pgConn) != CONNECTION_OK) if (PQstatus(connection->pgConn) != CONNECTION_OK)
{ {
@ -809,7 +809,7 @@ UpdateShardSize(uint64 shardId, ShardInterval *shardInterval, Oid relationId,
ShardPlacement *placement = NULL; ShardPlacement *placement = NULL;
/* update metadata for each shard placement */ /* update metadata for each shard placement */
foreach_ptr(placement, shardPlacementList) foreach_declared_ptr(placement, shardPlacementList)
{ {
uint64 placementId = placement->placementId; uint64 placementId = placement->placementId;
int32 groupId = placement->groupId; int32 groupId = placement->groupId;

View File

@ -421,7 +421,7 @@ GetFirstPrimaryWorkerNode(void)
List *workerNodeList = ActivePrimaryNonCoordinatorNodeList(RowShareLock); List *workerNodeList = ActivePrimaryNonCoordinatorNodeList(RowShareLock);
WorkerNode *firstWorkerNode = NULL; WorkerNode *firstWorkerNode = NULL;
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
if (firstWorkerNode == NULL || if (firstWorkerNode == NULL ||
CompareWorkerNodes(&workerNode, &firstWorkerNode) < 0) CompareWorkerNodes(&workerNode, &firstWorkerNode) < 0)

View File

@ -146,7 +146,7 @@ TraceWorkerSplitCopyUdf(char *sourceShardToCopySchemaName,
int index = 1; int index = 1;
int splitWayCount = list_length(splitCopyInfoList); int splitWayCount = list_length(splitCopyInfoList);
SplitCopyInfo *splitCopyInfo = NULL; SplitCopyInfo *splitCopyInfo = NULL;
foreach_ptr(splitCopyInfo, splitCopyInfoList) foreach_declared_ptr(splitCopyInfo, splitCopyInfoList)
{ {
char *shardNameCopy = pstrdup(sourceShardToCopyPrefix); char *shardNameCopy = pstrdup(sourceShardToCopyPrefix);
AppendShardIdToName(&shardNameCopy, splitCopyInfo->destinationShardId); AppendShardIdToName(&shardNameCopy, splitCopyInfo->destinationShardId);
@ -236,7 +236,7 @@ BuildMinMaxRangeArrays(List *splitCopyInfoList, ArrayType **minValueArray,
SplitCopyInfo *splitCopyInfo = NULL; SplitCopyInfo *splitCopyInfo = NULL;
int index = 0; int index = 0;
foreach_ptr(splitCopyInfo, splitCopyInfoList) foreach_declared_ptr(splitCopyInfo, splitCopyInfoList)
{ {
minValues[index] = splitCopyInfo->destinationShardMinHashValue; minValues[index] = splitCopyInfo->destinationShardMinHashValue;
maxValues[index] = splitCopyInfo->destinationShardMaxHashValue; maxValues[index] = splitCopyInfo->destinationShardMaxHashValue;
@ -269,7 +269,7 @@ CreateShardCopyDestReceivers(EState *estate, ShardInterval *shardIntervalToSplit
SplitCopyInfo *splitCopyInfo = NULL; SplitCopyInfo *splitCopyInfo = NULL;
int index = 0; int index = 0;
char *sourceShardNamePrefix = get_rel_name(shardIntervalToSplitCopy->relationId); char *sourceShardNamePrefix = get_rel_name(shardIntervalToSplitCopy->relationId);
foreach_ptr(splitCopyInfo, splitCopyInfoList) foreach_declared_ptr(splitCopyInfo, splitCopyInfoList)
{ {
Oid destinationShardSchemaOid = get_rel_namespace( Oid destinationShardSchemaOid = get_rel_namespace(
shardIntervalToSplitCopy->relationId); shardIntervalToSplitCopy->relationId);

View File

@ -298,7 +298,7 @@ PopulateShardSplitInfoInSM(ShardSplitInfoSMHeader *shardSplitInfoSMHeader,
List *shardSplitInfoList = entry->shardSplitInfoList; List *shardSplitInfoList = entry->shardSplitInfoList;
ShardSplitInfo *splitShardInfo = NULL; ShardSplitInfo *splitShardInfo = NULL;
foreach_ptr(splitShardInfo, shardSplitInfoList) foreach_declared_ptr(splitShardInfo, shardSplitInfoList)
{ {
shardSplitInfoSMHeader->splitInfoArray[splitInfoIndex] = *splitShardInfo; shardSplitInfoSMHeader->splitInfoArray[splitInfoIndex] = *splitShardInfo;
strcpy_s(shardSplitInfoSMHeader->splitInfoArray[splitInfoIndex].slotName, strcpy_s(shardSplitInfoSMHeader->splitInfoArray[splitInfoIndex].slotName,

View File

@ -217,7 +217,7 @@ CitusCustomScanPathPlan(PlannerInfo *root,
{ {
TargetEntry *targetEntry = NULL; 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 */ /* we created this list, so we know it only contains Var */
Assert(IsA(targetEntry->expr, 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 */ /* clauses might have been added by the planner, need to add them to our scan */
RestrictInfo *restrictInfo = NULL; RestrictInfo *restrictInfo = NULL;
List **quals = &citusPath->remoteScan->scan.plan.qual; List **quals = &citusPath->remoteScan->scan.plan.qual;
foreach_ptr(restrictInfo, clauses) foreach_declared_ptr(restrictInfo, clauses)
{ {
*quals = lappend(*quals, restrictInfo->clause); *quals = lappend(*quals, restrictInfo->clause);
} }
@ -273,7 +273,7 @@ BuildSelectStatementViaStdPlanner(Query *combineQuery, List *remoteScanTargetLis
/* extract column names from the remoteScanTargetList */ /* extract column names from the remoteScanTargetList */
List *columnNameList = NIL; List *columnNameList = NIL;
TargetEntry *targetEntry = NULL; TargetEntry *targetEntry = NULL;
foreach_ptr(targetEntry, remoteScanTargetList) foreach_declared_ptr(targetEntry, remoteScanTargetList)
{ {
columnNameList = lappend(columnNameList, makeString(targetEntry->resname)); columnNameList = lappend(columnNameList, makeString(targetEntry->resname));
} }

View File

@ -67,7 +67,7 @@ RebuildQueryStrings(Job *workerJob)
AddInsertAliasIfNeeded(originalQuery); AddInsertAliasIfNeeded(originalQuery);
} }
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
Query *query = originalQuery; Query *query = originalQuery;
@ -298,7 +298,7 @@ FindRelationShard(Oid inputRelationId, List *relationShardList)
* some, otherwise this query wouldn't be eligible as a router query. * some, otherwise this query wouldn't be eligible as a router query.
* FIXME: We should probably use a hashtable here, to do efficient lookup. * 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) if (inputRelationId == relationShard->relationId)
{ {

View File

@ -1547,7 +1547,7 @@ FinalizeRouterPlan(PlannedStmt *localPlan, CustomScan *customScan)
/* extract the column names from the final targetlist*/ /* extract the column names from the final targetlist*/
TargetEntry *targetEntry = NULL; TargetEntry *targetEntry = NULL;
foreach_ptr(targetEntry, customScan->scan.plan.targetlist) foreach_declared_ptr(targetEntry, customScan->scan.plan.targetlist)
{ {
String *columnName = makeString(targetEntry->resname); String *columnName = makeString(targetEntry->resname);
columnNameList = lappend(columnNameList, columnName); columnNameList = lappend(columnNameList, columnName);
@ -1588,7 +1588,7 @@ makeCustomScanTargetlistFromExistingTargetList(List *existingTargetlist)
/* build a targetlist to read from the custom scan output */ /* build a targetlist to read from the custom scan output */
TargetEntry *targetEntry = NULL; TargetEntry *targetEntry = NULL;
foreach_ptr(targetEntry, existingTargetlist) foreach_declared_ptr(targetEntry, existingTargetlist)
{ {
Assert(IsA(targetEntry, TargetEntry)); Assert(IsA(targetEntry, TargetEntry));
@ -1638,7 +1638,7 @@ makeTargetListFromCustomScanList(List *custom_scan_tlist)
List *targetList = NIL; List *targetList = NIL;
TargetEntry *targetEntry = NULL; TargetEntry *targetEntry = NULL;
int resno = 1; 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 * INDEX_VAR is used to reference back to the TargetEntry in custom_scan_tlist by
@ -2107,7 +2107,7 @@ TranslatedVars(PlannerInfo *root, int relationIndex)
{ {
/* postgres deletes translated_vars, hence we deep copy them here */ /* postgres deletes translated_vars, hence we deep copy them here */
Node *targetNode = NULL; Node *targetNode = NULL;
foreach_ptr(targetNode, targetAppendRelInfo->translated_vars) foreach_declared_ptr(targetNode, targetAppendRelInfo->translated_vars)
{ {
translatedVars = translatedVars =
lappend(translatedVars, copyObject(targetNode)); lappend(translatedVars, copyObject(targetNode));
@ -2128,7 +2128,7 @@ FindTargetAppendRelInfo(PlannerInfo *root, int relationRteIndex)
AppendRelInfo *appendRelInfo = NULL; AppendRelInfo *appendRelInfo = NULL;
/* iterate on the queries that are part of UNION ALL subselects */ /* 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 * We're only interested in the child rel that is equal to the
@ -2451,7 +2451,7 @@ TranslatedVarsForRteIdentity(int rteIdentity)
currentPlannerRestrictionContext->relationRestrictionContext-> currentPlannerRestrictionContext->relationRestrictionContext->
relationRestrictionList; relationRestrictionList;
RelationRestriction *relationRestriction = NULL; RelationRestriction *relationRestriction = NULL;
foreach_ptr(relationRestriction, relationRestrictionList) foreach_declared_ptr(relationRestriction, relationRestrictionList)
{ {
if (GetRTEIdentity(relationRestriction->rte) == rteIdentity) if (GetRTEIdentity(relationRestriction->rte) == rteIdentity)
{ {
@ -2621,7 +2621,7 @@ GetRTEListProperties(List *rangeTableList)
RTEListProperties *rteListProperties = palloc0(sizeof(RTEListProperties)); RTEListProperties *rteListProperties = palloc0(sizeof(RTEListProperties));
RangeTblEntry *rangeTableEntry = NULL; RangeTblEntry *rangeTableEntry = NULL;
foreach_ptr(rangeTableEntry, rangeTableList) foreach_declared_ptr(rangeTableEntry, rangeTableList)
{ {
if (rangeTableEntry->rtekind != RTE_RELATION) if (rangeTableEntry->rtekind != RTE_RELATION)
{ {
@ -2714,7 +2714,7 @@ WarnIfListHasForeignDistributedTable(List *rangeTableList)
static bool DistributedForeignTableWarningPrompted = false; static bool DistributedForeignTableWarningPrompted = false;
RangeTblEntry *rangeTableEntry = NULL; RangeTblEntry *rangeTableEntry = NULL;
foreach_ptr(rangeTableEntry, rangeTableList) foreach_declared_ptr(rangeTableEntry, rangeTableList)
{ {
if (DistributedForeignTableWarningPrompted) if (DistributedForeignTableWarningPrompted)
{ {

View File

@ -566,7 +566,7 @@ CreateCombineQueryForRouterPlan(DistributedPlan *distPlan)
List *funcCollations = NIL; List *funcCollations = NIL;
TargetEntry *targetEntry = NULL; TargetEntry *targetEntry = NULL;
foreach_ptr(targetEntry, dependentTargetList) foreach_declared_ptr(targetEntry, dependentTargetList)
{ {
Node *expr = (Node *) targetEntry->expr; Node *expr = (Node *) targetEntry->expr;
@ -640,7 +640,7 @@ CreateTargetListForCombineQuery(List *targetList)
/* iterate over original target entries */ /* iterate over original target entries */
TargetEntry *originalTargetEntry = NULL; TargetEntry *originalTargetEntry = NULL;
foreach_ptr(originalTargetEntry, targetList) foreach_declared_ptr(originalTargetEntry, targetList)
{ {
TargetEntry *newTargetEntry = flatCopyTargetEntry(originalTargetEntry); TargetEntry *newTargetEntry = flatCopyTargetEntry(originalTargetEntry);
@ -1571,7 +1571,7 @@ WrapSubquery(Query *subquery)
/* create a target list that matches the SELECT */ /* create a target list that matches the SELECT */
TargetEntry *selectTargetEntry = NULL; TargetEntry *selectTargetEntry = NULL;
foreach_ptr(selectTargetEntry, subquery->targetList) foreach_declared_ptr(selectTargetEntry, subquery->targetList)
{ {
/* exactly 1 entry in FROM */ /* exactly 1 entry in FROM */
int indexInRangeTable = 1; int indexInRangeTable = 1;
@ -1723,7 +1723,7 @@ AddInsertSelectCasts(List *insertTargetList, List *selectTargetList,
selectTargetList = list_concat(projectedEntries, nonProjectedEntries); selectTargetList = list_concat(projectedEntries, nonProjectedEntries);
int entryResNo = 1; int entryResNo = 1;
TargetEntry *selectTargetEntry = NULL; TargetEntry *selectTargetEntry = NULL;
foreach_ptr(selectTargetEntry, selectTargetList) foreach_declared_ptr(selectTargetEntry, selectTargetList)
{ {
selectTargetEntry->resno = entryResNo++; selectTargetEntry->resno = entryResNo++;
} }

View File

@ -276,7 +276,7 @@ AppendAllWorkerNodes(IntermediateResultsHashEntry *entry)
List *workerNodeList = ActiveReadableNodeList(); List *workerNodeList = ActiveReadableNodeList();
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
entry->nodeIdList = entry->nodeIdList =
list_append_unique_int(entry->nodeIdList, workerNode->nodeId); list_append_unique_int(entry->nodeIdList, workerNode->nodeId);
@ -420,7 +420,7 @@ LogIntermediateResultMulticastSummary(IntermediateResultsHashEntry *entry,
} }
WorkerNode *workerNode = NULL; WorkerNode *workerNode = NULL;
foreach_ptr(workerNode, workerNodeList) foreach_declared_ptr(workerNode, workerNodeList)
{ {
elog(logLevel, "Subplan %s will be sent to %s:%d", resultId, elog(logLevel, "Subplan %s will be sent to %s:%d", resultId,
workerNode->workerName, workerNode->workerPort); workerNode->workerName, workerNode->workerPort);

View File

@ -328,7 +328,7 @@ static void
ConvertRTEsToSubquery(List *rangeTableEntryDetailsList, RecursivePlanningContext *context) ConvertRTEsToSubquery(List *rangeTableEntryDetailsList, RecursivePlanningContext *context)
{ {
RangeTableEntryDetails *rangeTableEntryDetails = NULL; RangeTableEntryDetails *rangeTableEntryDetails = NULL;
foreach_ptr(rangeTableEntryDetails, rangeTableEntryDetailsList) foreach_declared_ptr(rangeTableEntryDetails, rangeTableEntryDetailsList)
{ {
RangeTblEntry *rangeTableEntry = rangeTableEntryDetails->rangeTableEntry; RangeTblEntry *rangeTableEntry = rangeTableEntryDetails->rangeTableEntry;
List *requiredAttributeNumbers = rangeTableEntryDetails->requiredAttributeNumbers; List *requiredAttributeNumbers = rangeTableEntryDetails->requiredAttributeNumbers;
@ -351,7 +351,7 @@ static bool
AllRangeTableEntriesHaveUniqueIndex(List *rangeTableEntryDetailsList) AllRangeTableEntriesHaveUniqueIndex(List *rangeTableEntryDetailsList)
{ {
RangeTableEntryDetails *rangeTableEntryDetails = NULL; RangeTableEntryDetails *rangeTableEntryDetails = NULL;
foreach_ptr(rangeTableEntryDetails, rangeTableEntryDetailsList) foreach_declared_ptr(rangeTableEntryDetails, rangeTableEntryDetailsList)
{ {
if (!rangeTableEntryDetails->hasConstantFilterOnUniqueColumn) if (!rangeTableEntryDetails->hasConstantFilterOnUniqueColumn)
{ {
@ -420,7 +420,7 @@ HasConstantFilterOnUniqueColumn(RangeTblEntry *rangeTableEntry,
AppendUniqueIndexColumnsToList, AppendUniqueIndexColumnsToList,
INCLUDE_INDEX_ALL_STATEMENTS); INCLUDE_INDEX_ALL_STATEMENTS);
IndexColumns *indexColumns = NULL; IndexColumns *indexColumns = NULL;
foreach_ptr(indexColumns, uniqueIndexColumnsList) foreach_declared_ptr(indexColumns, uniqueIndexColumnsList)
{ {
List *uniqueIndexColumnNos = indexColumns->indexColumnNos; List *uniqueIndexColumnNos = indexColumns->indexColumnNos;
if (FirstIsSuperSetOfSecond(rteEqualityColumnsNos, if (FirstIsSuperSetOfSecond(rteEqualityColumnsNos,
@ -441,7 +441,7 @@ static bool
FirstIsSuperSetOfSecond(List *firstIntList, List *secondIntList) FirstIsSuperSetOfSecond(List *firstIntList, List *secondIntList)
{ {
int curInt = 0; int curInt = 0;
foreach_int(curInt, secondIntList) foreach_declared_int(curInt, secondIntList)
{ {
if (!list_member_int(firstIntList, curInt)) if (!list_member_int(firstIntList, curInt))
{ {
@ -526,7 +526,7 @@ RequiredAttrNumbersForRelationInternal(Query *queryToProcess, int rteIndex)
List *requiredAttrNumbers = NIL; List *requiredAttrNumbers = NIL;
Var *var = NULL; Var *var = NULL;
foreach_ptr(var, allVarsInQuery) foreach_declared_ptr(var, allVarsInQuery)
{ {
if (var->varno == rteIndex) if (var->varno == rteIndex)
{ {
@ -554,7 +554,7 @@ CreateConversionCandidates(PlannerRestrictionContext *plannerRestrictionContext,
RangeTblEntry *rangeTableEntry = NULL; RangeTblEntry *rangeTableEntry = NULL;
foreach_ptr(rangeTableEntry, rangeTableList) foreach_declared_ptr(rangeTableEntry, rangeTableList)
{ {
/* we're only interested in tables */ /* we're only interested in tables */
if (!IsRecursivelyPlannableRelation(rangeTableEntry)) if (!IsRecursivelyPlannableRelation(rangeTableEntry))

View File

@ -244,7 +244,7 @@ GetCachedLocalPlan(Task *task, DistributedPlan *distributedPlan)
int32 localGroupId = GetLocalGroupId(); int32 localGroupId = GetLocalGroupId();
foreach_ptr(localPlannedStatement, cachedPlanList) foreach_declared_ptr(localPlannedStatement, cachedPlanList)
{ {
if (localPlannedStatement->shardId == task->anchorShardId && if (localPlannedStatement->shardId == task->anchorShardId &&
localPlannedStatement->localGroupId == localGroupId) localPlannedStatement->localGroupId == localGroupId)

View File

@ -375,7 +375,7 @@ static void
ErrorIfMergeHasUnsupportedTables(Oid targetRelationId, List *rangeTableList) ErrorIfMergeHasUnsupportedTables(Oid targetRelationId, List *rangeTableList)
{ {
RangeTblEntry *rangeTableEntry = NULL; RangeTblEntry *rangeTableEntry = NULL;
foreach_ptr(rangeTableEntry, rangeTableList) foreach_declared_ptr(rangeTableEntry, rangeTableList)
{ {
Oid relationId = rangeTableEntry->relid; Oid relationId = rangeTableEntry->relid;
@ -734,7 +734,7 @@ ErrorIfRepartitionMergeNotSupported(Oid targetRelationId, Query *mergeQuery,
} }
MergeAction *action = NULL; MergeAction *action = NULL;
foreach_ptr(action, mergeQuery->mergeActionList) foreach_declared_ptr(action, mergeQuery->mergeActionList)
{ {
if (FindNodeMatchingCheckFunction((Node *) action, IsNodeSubquery)) 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, * Presently, CTEs are only permitted within the USING clause, and thus,
* we search for the corresponding one * we search for the corresponding one
*/ */
foreach_ptr(candidateCte, mergeQuery->cteList) foreach_declared_ptr(candidateCte, mergeQuery->cteList)
{ {
if (strcmp(candidateCte->ctename, sourceRte->ctename) == 0) if (strcmp(candidateCte->ctename, sourceRte->ctename) == 0)
{ {
@ -1018,7 +1018,7 @@ DeferErrorIfRoutableMergeNotSupported(Query *query, List *rangeTableList,
List *localTablesList = NIL; List *localTablesList = NIL;
RangeTblEntry *rangeTableEntry = NULL; RangeTblEntry *rangeTableEntry = NULL;
foreach_ptr(rangeTableEntry, rangeTableList) foreach_declared_ptr(rangeTableEntry, rangeTableList)
{ {
Oid relationId = rangeTableEntry->relid; Oid relationId = rangeTableEntry->relid;
@ -1224,7 +1224,7 @@ ErrorIfMergeQueryQualAndTargetListNotSupported(Oid targetRelationId, Query *orig
* within itself. Check each INSERT/UPDATE/DELETE individually. * within itself. Check each INSERT/UPDATE/DELETE individually.
*/ */
MergeAction *action = NULL; MergeAction *action = NULL;
foreach_ptr(action, originalQuery->mergeActionList) foreach_declared_ptr(action, originalQuery->mergeActionList)
{ {
Assert(originalQuery->returningList == NULL); Assert(originalQuery->returningList == NULL);
deferredError = MergeQualAndTargetListFunctionsSupported(targetRelationId, deferredError = MergeQualAndTargetListFunctionsSupported(targetRelationId,
@ -1472,7 +1472,7 @@ FetchAndValidateInsertVarIfExists(Oid targetRelationId, Query *query)
bool foundDistributionColumn = false; bool foundDistributionColumn = false;
MergeAction *action = NULL; MergeAction *action = NULL;
uint32 targetRangeTableIndex = query->resultRelation; 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 */ /* Skip MATCHED clause as INSERTS are not allowed in it */
if (action->matched) if (action->matched)
@ -1502,7 +1502,7 @@ FetchAndValidateInsertVarIfExists(Oid targetRelationId, Query *query)
PartitionColumn(targetRelationId, targetRangeTableIndex); PartitionColumn(targetRelationId, targetRangeTableIndex);
TargetEntry *targetEntry = NULL; TargetEntry *targetEntry = NULL;
foreach_ptr(targetEntry, action->targetList) foreach_declared_ptr(targetEntry, action->targetList)
{ {
AttrNumber originalAttrNo = targetEntry->resno; AttrNumber originalAttrNo = targetEntry->resno;

View File

@ -501,7 +501,7 @@ ExplainJob(CitusScanState *scanState, Job *job, ExplainState *es,
{ {
Task *task = NULL; Task *task = NULL;
uint64 totalReceivedTupleDataForAllTasks = 0; uint64 totalReceivedTupleDataForAllTasks = 0;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
totalReceivedTupleDataForAllTasks += TaskReceivedTupleData(task); totalReceivedTupleDataForAllTasks += TaskReceivedTupleData(task);
} }
@ -679,7 +679,7 @@ ExplainTaskList(CitusScanState *scanState, List *taskList, ExplainState *es,
} }
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
RemoteExplainPlan *remoteExplain = RemoteExplain(task, es, params); RemoteExplainPlan *remoteExplain = RemoteExplain(task, es, params);
remoteExplainList = lappend(remoteExplainList, remoteExplain); remoteExplainList = lappend(remoteExplainList, remoteExplain);
@ -1400,7 +1400,7 @@ void
ResetExplainAnalyzeData(List *taskList) ResetExplainAnalyzeData(List *taskList)
{ {
Task *task = NULL; Task *task = NULL;
foreach_ptr(task, taskList) foreach_declared_ptr(task, taskList)
{ {
if (task->fetchedExplainAnalyzePlan != NULL) if (task->fetchedExplainAnalyzePlan != NULL)
{ {
@ -1463,7 +1463,7 @@ ExplainAnalyzeTaskList(List *originalTaskList,
List *explainAnalyzeTaskList = NIL; List *explainAnalyzeTaskList = NIL;
Task *originalTask = NULL; Task *originalTask = NULL;
foreach_ptr(originalTask, originalTaskList) foreach_declared_ptr(originalTask, originalTaskList)
{ {
if (originalTask->queryCount != 1) if (originalTask->queryCount != 1)
{ {

View File

@ -224,10 +224,10 @@ JoinOnColumns(List *currentPartitionColumnList, Var *candidateColumn,
} }
Var *currentColumn = NULL; Var *currentColumn = NULL;
foreach_ptr(currentColumn, currentPartitionColumnList) foreach_declared_ptr(currentColumn, currentPartitionColumnList)
{ {
Node *joinClause = NULL; Node *joinClause = NULL;
foreach_ptr(joinClause, joinClauseList) foreach_declared_ptr(joinClause, joinClauseList)
{ {
if (!NodeIsEqualsOpExpr(joinClause)) if (!NodeIsEqualsOpExpr(joinClause))
{ {
@ -1094,10 +1094,10 @@ SinglePartitionJoinClause(List *partitionColumnList, List *applicableJoinClauses
} }
Var *partitionColumn = NULL; Var *partitionColumn = NULL;
foreach_ptr(partitionColumn, partitionColumnList) foreach_declared_ptr(partitionColumn, partitionColumnList)
{ {
Node *applicableJoinClause = NULL; Node *applicableJoinClause = NULL;
foreach_ptr(applicableJoinClause, applicableJoinClauses) foreach_declared_ptr(applicableJoinClause, applicableJoinClauses)
{ {
if (!NodeIsEqualsOpExpr(applicableJoinClause)) if (!NodeIsEqualsOpExpr(applicableJoinClause))
{ {
@ -1177,7 +1177,7 @@ OpExpr *
DualPartitionJoinClause(List *applicableJoinClauses) DualPartitionJoinClause(List *applicableJoinClauses)
{ {
Node *applicableJoinClause = NULL; Node *applicableJoinClause = NULL;
foreach_ptr(applicableJoinClause, applicableJoinClauses) foreach_declared_ptr(applicableJoinClause, applicableJoinClauses)
{ {
if (!NodeIsEqualsOpExpr(applicableJoinClause)) if (!NodeIsEqualsOpExpr(applicableJoinClause))
{ {
@ -1262,7 +1262,7 @@ IsApplicableJoinClause(List *leftTableIdList, uint32 rightTableId, Node *joinCla
List *varList = pull_var_clause_default(joinClause); List *varList = pull_var_clause_default(joinClause);
Var *var = NULL; Var *var = NULL;
bool joinContainsRightTable = false; bool joinContainsRightTable = false;
foreach_ptr(var, varList) foreach_declared_ptr(var, varList)
{ {
uint32 columnTableId = var->varno; uint32 columnTableId = var->varno;
if (rightTableId == columnTableId) if (rightTableId == columnTableId)
@ -1301,7 +1301,7 @@ ApplicableJoinClauses(List *leftTableIdList, uint32 rightTableId, List *joinClau
joinClauseList = JoinClauseList(joinClauseList); joinClauseList = JoinClauseList(joinClauseList);
Node *joinClause = NULL; Node *joinClause = NULL;
foreach_ptr(joinClause, joinClauseList) foreach_declared_ptr(joinClause, joinClauseList)
{ {
if (IsApplicableJoinClause(leftTableIdList, rightTableId, joinClause)) if (IsApplicableJoinClause(leftTableIdList, rightTableId, joinClause))
{ {

Some files were not shown because too many files have changed in this diff Show More