Proposed mid-cycle update of typedefs.list

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Proposed mid-cycle update of typedefs.list
Дата
Msg-id 1681301.1765742268@sss.pgh.pa.us
обсуждение исходный текст
Ответы Re: Proposed mid-cycle update of typedefs.list
Список pgsql-hackers
I happened to notice that the buildfarm's current typedefs list
adds quite a few names that were not previously being captured,
for example

@@ -48,10 +48,15 @@ AggPath
 AggSplit
 AggState
 AggStatePerAgg
+AggStatePerAggData
 AggStatePerGroup
+AggStatePerGroupData
 AggStatePerHash
+AggStatePerHashData
 AggStatePerPhase
+AggStatePerPhaseData
 AggStatePerTrans
+AggStatePerTransData
 AggStrategy
 AggTransInfo
 Aggref

This is great, because it means that the declarations of these
structs need not look funny anymore.  But I am not quite sure why
this happened.  It's not a BF tooling change as I first thought,
because multiple animals are reporting these names and the
same animals are not capturing these names on the back branches.
The best theory I can come up with is that 1b105f947 et al
used these names in palloc0_array and similar calls, and that
somehow looks like a capturable typedef reference ... but how?

Anyway, I'll gladly take this outcome.  I propose applying the
attached to sync the in-tree typedefs list with what the
buildfarm is currently reporting.

One change I did not apply is that the buildfarm's list omits pgoff_t,
although we certainly still use that.  This is evidently because
pgoff_t is defined as a macro not a typedef name.  I guess we've been
manually preserving that name in the list, but it seems like we should
change "#define pgoff_t off_t" to "typedef off_t pgoff_t;" to avoid
that manual hack.  I've not done that here, though.

            regards, tom lane

diff --git a/src/backend/access/heap/rewriteheap.c b/src/backend/access/heap/rewriteheap.c
index 7ce3c5e2685..3b3c87fd62e 100644
--- a/src/backend/access/heap/rewriteheap.c
+++ b/src/backend/access/heap/rewriteheap.c
@@ -150,7 +150,7 @@ typedef struct RewriteStateData
     HTAB       *rs_old_new_tid_map; /* unmatched B tuples */
     HTAB       *rs_logical_mappings;    /* logical remapping files */
     uint32        rs_num_rewrite_mappings;    /* # in memory mappings */
-}            RewriteStateData;
+} RewriteStateData;

 /*
  * The lookup keys for the hash tables are tuple TID and xmin (we must check
diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c
index ec4e3628bd5..3bc85986829 100644
--- a/src/backend/access/transam/twophase.c
+++ b/src/backend/access/transam/twophase.c
@@ -168,7 +168,7 @@ typedef struct GlobalTransactionData
     bool        ondisk;            /* true if prepare state file is on disk */
     bool        inredo;            /* true if entry was added via xlog_redo */
     char        gid[GIDSIZE];    /* The GID assigned to the prepared xact */
-}            GlobalTransactionData;
+} GlobalTransactionData;

 /*
  * Two Phase Commit shared state.  Access to this struct is protected
diff --git a/src/backend/executor/nodeWindowAgg.c b/src/backend/executor/nodeWindowAgg.c
index c0e5ab8dbbf..d92d632e248 100644
--- a/src/backend/executor/nodeWindowAgg.c
+++ b/src/backend/executor/nodeWindowAgg.c
@@ -109,7 +109,7 @@ typedef struct WindowStatePerFuncData
     uint8        ignore_nulls;    /* ignore nulls */

     WindowObject winobj;        /* object used in window function API */
-}            WindowStatePerFuncData;
+} WindowStatePerFuncData;

 /*
  * For plain aggregate window functions, we also have one of these.
diff --git a/src/backend/partitioning/partdesc.c b/src/backend/partitioning/partdesc.c
index 5624f503fec..985f48fc34d 100644
--- a/src/backend/partitioning/partdesc.c
+++ b/src/backend/partitioning/partdesc.c
@@ -37,7 +37,7 @@ typedef struct PartitionDirectoryData
     MemoryContext pdir_mcxt;
     HTAB       *pdir_hash;
     bool        omit_detached;
-}            PartitionDirectoryData;
+} PartitionDirectoryData;

 typedef struct PartitionDirectoryEntry
 {
diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c
index b67ce57656a..bf54655bb96 100644
--- a/src/backend/utils/adt/arrayfuncs.c
+++ b/src/backend/utils/adt/arrayfuncs.c
@@ -87,7 +87,7 @@ typedef struct ArrayIteratorData
     /* current position information, updated on each iteration */
     char       *data_ptr;        /* our current position in the array */
     int            current_item;    /* the item # we're at in the array */
-}            ArrayIteratorData;
+} ArrayIteratorData;

 static bool ReadArrayDimensions(char **srcptr, int *ndim_p,
                                 int *dim, int *lBound,
diff --git a/src/include/access/gin_private.h b/src/include/access/gin_private.h
index db19ffd9897..d2a3adcc5e5 100644
--- a/src/include/access/gin_private.h
+++ b/src/include/access/gin_private.h
@@ -373,7 +373,7 @@ typedef struct GinScanEntryData
     bool        reduceResult;
     uint32        predictNumberResult;
     GinBtreeData btree;
-}            GinScanEntryData;
+} GinScanEntryData;

 typedef struct GinScanOpaqueData
 {
diff --git a/src/include/access/heapam.h b/src/include/access/heapam.h
index 632c4332a8c..f7e4ae3843c 100644
--- a/src/include/access/heapam.h
+++ b/src/include/access/heapam.h
@@ -106,7 +106,7 @@ typedef struct BitmapHeapScanDescData
     HeapScanDescData rs_heap_base;

     /* Holds no data */
-}            BitmapHeapScanDescData;
+} BitmapHeapScanDescData;
 typedef struct BitmapHeapScanDescData *BitmapHeapScanDesc;

 /*
diff --git a/src/include/access/relscan.h b/src/include/access/relscan.h
index 87a8be10461..78989a959d4 100644
--- a/src/include/access/relscan.h
+++ b/src/include/access/relscan.h
@@ -191,7 +191,7 @@ typedef struct IndexScanDescData

     /* parallel index scan information, in shared memory */
     struct ParallelIndexScanDescData *parallel_scan;
-}            IndexScanDescData;
+} IndexScanDescData;

 /* Generic structure for parallel scans */
 typedef struct ParallelIndexScanDescData
@@ -214,6 +214,6 @@ typedef struct SysScanDescData
     struct IndexScanDescData *iscan;    /* only valid in index-scan case */
     struct SnapshotData *snapshot;    /* snapshot to unregister at end of scan */
     struct TupleTableSlot *slot;
-}            SysScanDescData;
+} SysScanDescData;

 #endif                            /* RELSCAN_H */
diff --git a/src/include/executor/nodeAgg.h b/src/include/executor/nodeAgg.h
index 6c4891bbaeb..df52fa1e1af 100644
--- a/src/include/executor/nodeAgg.h
+++ b/src/include/executor/nodeAgg.h
@@ -173,7 +173,7 @@ typedef struct AggStatePerTransData
     FunctionCallInfo serialfn_fcinfo;

     FunctionCallInfo deserialfn_fcinfo;
-}            AggStatePerTransData;
+} AggStatePerTransData;

 /*
  * AggStatePerAggData - per-aggregate information
@@ -229,7 +229,7 @@ typedef struct AggStatePerAggData
      * aggregates because the final function is read-write.
      */
     bool        shareable;
-}            AggStatePerAggData;
+} AggStatePerAggData;

 /*
  * AggStatePerGroupData - per-aggregate-per-group working state
@@ -264,7 +264,7 @@ typedef struct AggStatePerGroupData
      * NULL and not auto-replace it with a later input value. Only the first
      * non-NULL input will be auto-substituted.
      */
-}            AggStatePerGroupData;
+} AggStatePerGroupData;

 /*
  * AggStatePerPhaseData - per-grouping-set-phase state
@@ -297,7 +297,7 @@ typedef struct AggStatePerPhaseData
      *----------
      */
     ExprState  *evaltrans_cache[2][2];
-}            AggStatePerPhaseData;
+} AggStatePerPhaseData;

 /*
  * AggStatePerHashData - per-hashtable state
@@ -319,7 +319,7 @@ typedef struct AggStatePerHashData
     AttrNumber *hashGrpColIdxInput; /* hash col indices in input slot */
     AttrNumber *hashGrpColIdxHash;    /* indices in hash table tuples */
     Agg           *aggnode;        /* original Agg node, for numGroups etc. */
-}            AggStatePerHashData;
+} AggStatePerHashData;


 extern AggState *ExecInitAgg(Agg *node, EState *estate, int eflags);
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h
index 64ff6996431..3968429f991 100644
--- a/src/include/nodes/execnodes.h
+++ b/src/include/nodes/execnodes.h
@@ -882,7 +882,7 @@ typedef struct TupleHashTableData
     ExprState  *in_hash_expr;    /* ExprState for hashing input datatype(s) */
     ExprState  *cur_eq_func;    /* comparator for input vs. table */
     ExprContext *exprcontext;    /* expression context */
-}            TupleHashTableData;
+} TupleHashTableData;

 typedef tuplehash_iterator TupleHashIterator;

diff --git a/src/include/nodes/pathnodes.h b/src/include/nodes/pathnodes.h
index 46a8655621d..b5ff456ef7f 100644
--- a/src/include/nodes/pathnodes.h
+++ b/src/include/nodes/pathnodes.h
@@ -639,7 +639,7 @@ typedef struct PartitionSchemeData

     /* Cached information about partition comparison functions. */
     struct FmgrInfo *partsupfunc;
-}            PartitionSchemeData;
+} PartitionSchemeData;

 typedef struct PartitionSchemeData *PartitionScheme;

diff --git a/src/include/utils/skipsupport.h b/src/include/utils/skipsupport.h
index c42be001fb5..bc51847cf61 100644
--- a/src/include/utils/skipsupport.h
+++ b/src/include/utils/skipsupport.h
@@ -90,7 +90,7 @@ typedef struct SkipSupportData
      */
     SkipSupportIncDec decrement;
     SkipSupportIncDec increment;
-}            SkipSupportData;
+} SkipSupportData;

 extern SkipSupport PrepareSkipSupportFromOpclass(Oid opfamily, Oid opcintype,
                                                  bool reverse);
diff --git a/src/include/utils/tuplesort.h b/src/include/utils/tuplesort.h
index 0bf55902aa1..63a7cc13a31 100644
--- a/src/include/utils/tuplesort.h
+++ b/src/include/utils/tuplesort.h
@@ -57,7 +57,7 @@ typedef struct SortCoordinateData

     /* Private opaque state (points to shared memory) */
     Sharedsort *sharedsort;
-}            SortCoordinateData;
+} SortCoordinateData;

 typedef struct SortCoordinateData *SortCoordinate;

diff --git a/src/test/modules/test_int128/test_int128.c b/src/test/modules/test_int128/test_int128.c
index 1efd4ff68b3..f4c4f3a1de0 100644
--- a/src/test/modules/test_int128/test_int128.c
+++ b/src/test/modules/test_int128/test_int128.c
@@ -51,7 +51,7 @@ typedef union
         int64        hi;
 #endif
     }            hl;
-}            test128;
+} test128;

 #define INT128_HEX_FORMAT    "%016" PRIx64 "%016" PRIx64

diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index efa32dc1295..d7459af2ba3 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -48,10 +48,15 @@ AggPath
 AggSplit
 AggState
 AggStatePerAgg
+AggStatePerAggData
 AggStatePerGroup
+AggStatePerGroupData
 AggStatePerHash
+AggStatePerHashData
 AggStatePerPhase
+AggStatePerPhaseData
 AggStatePerTrans
+AggStatePerTransData
 AggStrategy
 AggTransInfo
 Aggref
@@ -151,6 +156,7 @@ ArrayExpr
 ArrayExprIterState
 ArrayIOData
 ArrayIterator
+ArrayIteratorData
 ArrayMapState
 ArrayMetaState
 ArraySortCachedInfo
@@ -268,6 +274,7 @@ BitmapAndState
 BitmapHeapPath
 BitmapHeapScan
 BitmapHeapScanDesc
+BitmapHeapScanDescData
 BitmapHeapScanInstrumentation
 BitmapHeapScanState
 BitmapIndexScan
@@ -618,7 +625,6 @@ DatumTupleFields
 DbInfo
 DbInfoArr
 DbLocaleInfo
-DbOidName
 DeClonePtrType
 DeadLockState
 DeallocateStmt
@@ -1078,6 +1084,7 @@ GinPostingList
 GinPostingTreeScanItem
 GinQualCounts
 GinScanEntry
+GinScanEntryData
 GinScanItem
 GinScanKey
 GinScanKeyData
@@ -1102,6 +1109,7 @@ GistSplitVector
 GistTsVectorOptions
 GistVacState
 GlobalTransaction
+GlobalTransactionData
 GlobalVisHorizonKind
 GlobalVisState
 GrantRoleOptions
@@ -1273,6 +1281,7 @@ IndexPath
 IndexRuntimeKeyInfo
 IndexScan
 IndexScanDesc
+IndexScanDescData
 IndexScanInstrumentation
 IndexScanState
 IndexStateFlagsAction
@@ -1729,9 +1738,9 @@ MultiSortSupportData
 MultiXactId
 MultiXactMember
 MultiXactOffset
+MultiXactOffset32
 MultiXactStateData
 MultiXactStatus
-MultiXactWriter
 MultirangeIOData
 MultirangeParseState
 MultirangeType
@@ -1752,7 +1761,6 @@ NamedArgExpr
 NamedDSAState
 NamedDSHState
 NamedDSMState
-NamedLWLockTranche
 NamedLWLockTrancheRequest
 NamedTuplestoreScan
 NamedTuplestoreScanState
@@ -2126,6 +2134,7 @@ PartitionCmd
 PartitionDesc
 PartitionDescData
 PartitionDirectory
+PartitionDirectoryData
 PartitionDirectoryEntry
 PartitionDispatch
 PartitionElem
@@ -2145,6 +2154,7 @@ PartitionRangeBound
 PartitionRangeDatum
 PartitionRangeDatumKind
 PartitionScheme
+PartitionSchemeData
 PartitionSpec
 PartitionStrategy
 PartitionTupleRouting
@@ -2298,7 +2308,6 @@ PlannerParamItem
 Point
 Pointer
 PolicyInfo
-PolyNumAggState
 Pool
 PopulateArrayContext
 PopulateArrayState
@@ -2604,6 +2613,7 @@ RewriteMappingDataEntry
 RewriteMappingFile
 RewriteRule
 RewriteState
+RewriteStateData
 RmgrData
 RmgrDescData
 RmgrId
@@ -2805,6 +2815,7 @@ SinglePartitionSpec
 Size
 SkipPages
 SkipSupport
+SkipSupportData
 SkipSupportIncDec
 SlabBlock
 SlabContext
@@ -2835,6 +2846,7 @@ SortBy
 SortByDir
 SortByNulls
 SortCoordinate
+SortCoordinateData
 SortGroupClause
 SortItem
 SortPath
@@ -2870,8 +2882,8 @@ SpecialJoinInfo
 SpinDelayStatus
 SplitInterval
 SplitLR
-SplitPartitionContext
 SplitPageLayout
+SplitPartitionContext
 SplitPoint
 SplitTextOutputData
 SplitVar
@@ -2947,6 +2959,7 @@ SyncStandbySlotsConfigData
 SyncingRelationsState
 SysFKRelationship
 SysScanDesc
+SysScanDescData
 SyscacheCallbackFunction
 SysloggerStartupData
 SystemRowsSamplerData
@@ -3138,6 +3151,7 @@ TupleHashEntry
 TupleHashEntryData
 TupleHashIterator
 TupleHashTable
+TupleHashTableData
 TupleQueueReader
 TupleTableSlot
 TupleTableSlotOps
@@ -3213,7 +3227,6 @@ VacAttrStats
 VacAttrStatsP
 VacDeadItemsInfo
 VacErrPhase
-VacObjFilter
 VacOptValue
 VacuumParams
 VacuumRelation
@@ -3285,10 +3298,10 @@ WaitEventIO
 WaitEventIPC
 WaitEventSet
 WaitEventTimeout
-WaitLSNType
-WaitLSNState
 WaitLSNProcInfo
 WaitLSNResult
+WaitLSNState
+WaitLSNType
 WaitPMResult
 WaitStmt
 WalCloseMethod
@@ -3331,6 +3344,7 @@ WindowObjectData
 WindowStatePerAgg
 WindowStatePerAggData
 WindowStatePerFunc
+WindowStatePerFuncData
 WithCheckOption
 WithClause
 WordBoundaryNext
@@ -3944,7 +3958,6 @@ pg_unicode_recompinfo
 pg_usec_time_t
 pg_utf_to_local_combined
 pg_uuid_t
-pg_wc_probefunc
 pg_wchar
 pg_wchar_tbl
 pgp_armor_headers_state
@@ -3965,6 +3978,8 @@ pgthreadlock_t
 pid_t
 pivot_field
 planner_hook_type
+planner_setup_hook_type
+planner_shutdown_hook_type
 planstate_tree_walker_callback
 plperl_array_info
 plperl_call_data
@@ -4039,6 +4054,7 @@ reduce_outer_joins_partial_state
 reduce_outer_joins_pass1_state
 reduce_outer_joins_pass2_state
 reference
+regc_wc_probefunc
 regex_arc_t
 regexp
 regexp_matches_ctx
@@ -4165,6 +4181,7 @@ tar_file
 td_entry
 teSection
 temp_tablespaces_extra
+test128
 test_re_flags
 test_regex_ctx
 test_shm_mq_header
@@ -4236,6 +4253,7 @@ varatt_expanded
 varattrib_1b
 varattrib_1b_e
 varattrib_4b
+vartag_external
 vbits
 verifier_context
 walrcv_alter_slot_fn
@@ -4364,7 +4382,6 @@ xmlGenericErrorFunc
 xmlNodePtr
 xmlNodeSetPtr
 xmlParserCtxtPtr
-xmlParserErrors
 xmlParserInputPtr
 xmlSaveCtxt
 xmlSaveCtxtPtr

В списке pgsql-hackers по дате отправления: