public inbox for [email protected]
help / color / mirror / Atom feedFrom: Andres Freund <[email protected]>
Subject: [PATCH v1] Shorten pg_attribute_always_inline to pg_always_inline
Date: Wed, 8 Apr 2026 17:07:53 -0400
---
src/include/c.h | 8 +++---
src/include/executor/execScan.h | 8 +++---
src/include/portability/instr_time.h | 8 +++---
src/backend/access/heap/heapam.c | 2 +-
src/backend/access/transam/xlog.c | 4 +--
src/backend/commands/copyfromparse.c | 32 ++++++++++++------------
src/backend/commands/copyto.c | 4 +--
src/backend/executor/execExprInterp.c | 36 +++++++++++++--------------
src/backend/executor/execTuples.c | 6 ++---
src/backend/executor/nodeHashjoin.c | 2 +-
src/backend/executor/nodeSeqscan.c | 4 +--
src/backend/nodes/queryjumblefuncs.c | 6 ++---
src/backend/storage/buffer/bufmgr.c | 24 +++++++++---------
src/backend/utils/adt/json.c | 2 +-
src/backend/utils/cache/catcache.c | 2 +-
15 files changed, 74 insertions(+), 74 deletions(-)
diff --git a/src/include/c.h b/src/include/c.h
index 88d13ec9993..ec74d78d72a 100644
--- a/src/include/c.h
+++ b/src/include/c.h
@@ -289,20 +289,20 @@ extern "C++"
#endif
/*
- * Use "pg_attribute_always_inline" in place of "inline" for functions that
+ * Use "pg_always_inline" in place of "inline" for functions that
* we wish to force inlining of, even when the compiler's heuristics would
* choose not to. But, if possible, don't force inlining in unoptimized
* debug builds.
*/
#if defined(__GNUC__) && defined(__OPTIMIZE__)
/* GCC supports always_inline via __attribute__ */
-#define pg_attribute_always_inline __attribute__((always_inline)) inline
+#define pg_always_inline __attribute__((always_inline)) inline
#elif defined(_MSC_VER)
/* MSVC has a special keyword for this */
-#define pg_attribute_always_inline __forceinline
+#define pg_always_inline __forceinline
#else
/* Otherwise, the best we can do is to say "inline" */
-#define pg_attribute_always_inline inline
+#define pg_always_inline inline
#endif
/*
diff --git a/src/include/executor/execScan.h b/src/include/executor/execScan.h
index 18b03235c3c..7f795b0b3fc 100644
--- a/src/include/executor/execScan.h
+++ b/src/include/executor/execScan.h
@@ -24,12 +24,12 @@
* This routine substitutes a test tuple if inside an EvalPlanQual recheck.
* Otherwise, it simply executes the access method's next-tuple routine.
*
- * The pg_attribute_always_inline attribute allows the compiler to inline
+ * The pg_always_inline attribute allows the compiler to inline
* this function into its caller. When EPQState is NULL, the EvalPlanQual
* logic is completely eliminated at compile time, avoiding unnecessary
* run-time checks and code for cases where EPQ is not required.
*/
-static pg_attribute_always_inline TupleTableSlot *
+static pg_always_inline TupleTableSlot *
ExecScanFetch(ScanState *node,
EPQState *epqstate,
ExecScanAccessMtd accessMtd,
@@ -145,7 +145,7 @@ ExecScanFetch(ScanState *node,
* conditions enforced by the access method.
*
* This function is an alternative to ExecScan, used when callers may omit
- * 'qual' or 'projInfo'. The pg_attribute_always_inline attribute allows the
+ * 'qual' or 'projInfo'. The pg_always_inline attribute allows the
* compiler to eliminate non-relevant branches at compile time, avoiding
* run-time checks in those cases.
*
@@ -157,7 +157,7 @@ ExecScanFetch(ScanState *node,
* positioned before the first qualifying tuple.
* ----------------------------------------------------------------
*/
-static pg_attribute_always_inline TupleTableSlot *
+static pg_always_inline TupleTableSlot *
ExecScanExtended(ScanState *node,
ExecScanAccessMtd accessMtd, /* function returning a tuple */
ExecScanRecheckMtd recheckMtd,
diff --git a/src/include/portability/instr_time.h b/src/include/portability/instr_time.h
index 92558e234ac..b110008b747 100644
--- a/src/include/portability/instr_time.h
+++ b/src/include/portability/instr_time.h
@@ -368,7 +368,7 @@ pg_rdtscp(void)
* only inlining the function partially.
* See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124795
*/
-static pg_attribute_always_inline instr_time
+static pg_always_inline instr_time
pg_get_ticks(void)
{
if (likely(timing_tsc_enabled))
@@ -382,7 +382,7 @@ pg_get_ticks(void)
return pg_get_ticks_system();
}
-static pg_attribute_always_inline instr_time
+static pg_always_inline instr_time
pg_get_ticks_fast(void)
{
if (likely(timing_tsc_enabled))
@@ -398,13 +398,13 @@ pg_get_ticks_fast(void)
#else
-static pg_attribute_always_inline instr_time
+static pg_always_inline instr_time
pg_get_ticks(void)
{
return pg_get_ticks_system();
}
-static pg_attribute_always_inline instr_time
+static pg_always_inline instr_time
pg_get_ticks_fast(void)
{
return pg_get_ticks_system();
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index abfd8e8970a..4f373b86028 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -519,7 +519,7 @@ heap_setscanlimits(TableScanDesc sscan, BlockNumber startBlk, BlockNumber numBlk
* multiple times, with constant arguments for all_visible,
* check_serializable.
*/
-pg_attribute_always_inline
+pg_always_inline
static int
page_collect_tuples(HeapScanDesc scan, Snapshot snapshot,
Page page, Buffer buffer,
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index f85b5286086..d13c0353dce 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -1143,9 +1143,9 @@ XLogInsertRecord(XLogRecData *rdata,
*
* NB: Testing shows that XLogInsertRecord runs faster if this code is inlined;
* however, because there are two call sites, the compiler is reluctant to
- * inline. We use pg_attribute_always_inline here to try to convince it.
+ * inline. We use pg_always_inline here to try to convince it.
*/
-static pg_attribute_always_inline void
+static pg_always_inline void
ReserveXLogInsertLocation(int size, XLogRecPtr *StartPos, XLogRecPtr *EndPos,
XLogRecPtr *PrevPtr)
{
diff --git a/src/backend/commands/copyfromparse.c b/src/backend/commands/copyfromparse.c
index 65fd5a0ab4f..500810577ad 100644
--- a/src/backend/commands/copyfromparse.c
+++ b/src/backend/commands/copyfromparse.c
@@ -144,22 +144,22 @@ static const char BinarySignature[11] = "PGCOPY\n\377\r\n\0";
/* non-export function prototypes */
static bool CopyReadLine(CopyFromState cstate, bool is_csv);
-static pg_attribute_always_inline bool CopyReadLineText(CopyFromState cstate,
- bool is_csv);
+static pg_always_inline bool CopyReadLineText(CopyFromState cstate,
+ bool is_csv);
static int CopyReadAttributesText(CopyFromState cstate);
static int CopyReadAttributesCSV(CopyFromState cstate);
static Datum CopyReadBinaryAttribute(CopyFromState cstate, FmgrInfo *flinfo,
Oid typioparam, int32 typmod,
bool *isnull);
-static pg_attribute_always_inline bool CopyFromTextLikeOneRow(CopyFromState cstate,
- ExprContext *econtext,
- Datum *values,
- bool *nulls,
- bool is_csv);
-static pg_attribute_always_inline bool NextCopyFromRawFieldsInternal(CopyFromState cstate,
- char ***fields,
- int *nfields,
- bool is_csv);
+static pg_always_inline bool CopyFromTextLikeOneRow(CopyFromState cstate,
+ ExprContext *econtext,
+ Datum *values,
+ bool *nulls,
+ bool is_csv);
+static pg_always_inline bool NextCopyFromRawFieldsInternal(CopyFromState cstate,
+ char ***fields,
+ int *nfields,
+ bool is_csv);
/* Low-level communications functions */
@@ -769,11 +769,11 @@ NextCopyFromRawFields(CopyFromState cstate, char ***fields, int *nfields)
*
* NOTE: force_not_null option are not applied to the returned fields.
*
- * We use pg_attribute_always_inline to reduce function call overhead
+ * We use pg_always_inline to reduce function call overhead
* and to help compilers to optimize away the 'is_csv' condition when called
* by internal functions such as CopyFromTextLikeOneRow().
*/
-static pg_attribute_always_inline bool
+static pg_always_inline bool
NextCopyFromRawFieldsInternal(CopyFromState cstate, char ***fields, int *nfields, bool is_csv)
{
int fldct;
@@ -946,10 +946,10 @@ CopyFromCSVOneRow(CopyFromState cstate, ExprContext *econtext, Datum *values,
/*
* Workhorse for CopyFromTextOneRow() and CopyFromCSVOneRow().
*
- * We use pg_attribute_always_inline to reduce function call overhead
+ * We use pg_always_inline to reduce function call overhead
* and to help compilers to optimize away the 'is_csv' condition.
*/
-static pg_attribute_always_inline bool
+static pg_always_inline bool
CopyFromTextLikeOneRow(CopyFromState cstate, ExprContext *econtext,
Datum *values, bool *nulls, bool is_csv)
{
@@ -1463,7 +1463,7 @@ CopyReadLineTextSIMDHelper(CopyFromState cstate, bool is_csv,
/*
* CopyReadLineText - inner loop of CopyReadLine for text mode
*/
-static pg_attribute_always_inline bool
+static pg_always_inline bool
CopyReadLineText(CopyFromState cstate, bool is_csv)
{
char *copy_input_buf;
diff --git a/src/backend/commands/copyto.c b/src/backend/commands/copyto.c
index f0e0147c665..2d91ca86b3d 100644
--- a/src/backend/commands/copyto.c
+++ b/src/backend/commands/copyto.c
@@ -294,10 +294,10 @@ CopyToCSVOneRow(CopyToState cstate, TupleTableSlot *slot)
/*
* Workhorse for CopyToTextOneRow() and CopyToCSVOneRow().
*
- * We use pg_attribute_always_inline to reduce function call overhead
+ * We use pg_always_inline to reduce function call overhead
* and to help compilers to optimize away the 'is_csv' condition.
*/
-static pg_attribute_always_inline void
+static pg_always_inline void
CopyToTextLikeOneRow(CopyToState cstate,
TupleTableSlot *slot,
bool is_csv)
diff --git a/src/backend/executor/execExprInterp.c b/src/backend/executor/execExprInterp.c
index 3c4843cde86..2bb0a3d1f63 100644
--- a/src/backend/executor/execExprInterp.c
+++ b/src/backend/executor/execExprInterp.c
@@ -178,16 +178,16 @@ static Datum ExecJustHashInnerVarVirt(ExprState *state, ExprContext *econtext, b
static Datum ExecJustHashOuterVarStrict(ExprState *state, ExprContext *econtext, bool *isnull);
/* execution helper functions */
-static pg_attribute_always_inline void ExecAggPlainTransByVal(AggState *aggstate,
- AggStatePerTrans pertrans,
- AggStatePerGroup pergroup,
- ExprContext *aggcontext,
- int setno);
-static pg_attribute_always_inline void ExecAggPlainTransByRef(AggState *aggstate,
- AggStatePerTrans pertrans,
- AggStatePerGroup pergroup,
- ExprContext *aggcontext,
- int setno);
+static pg_always_inline void ExecAggPlainTransByVal(AggState *aggstate,
+ AggStatePerTrans pertrans,
+ AggStatePerGroup pergroup,
+ ExprContext *aggcontext,
+ int setno);
+static pg_always_inline void ExecAggPlainTransByRef(AggState *aggstate,
+ AggStatePerTrans pertrans,
+ AggStatePerGroup pergroup,
+ ExprContext *aggcontext,
+ int setno);
static char *ExecGetJsonValueItemString(JsonbValue *item, bool *resnull);
/*
@@ -2544,7 +2544,7 @@ get_cached_rowtype(Oid type_id, int32 typmod,
*/
/* implementation of ExecJust(Inner|Outer|Scan)Var */
-static pg_attribute_always_inline Datum
+static pg_always_inline Datum
ExecJustVarImpl(ExprState *state, TupleTableSlot *slot, bool *isnull)
{
ExprEvalStep *op = &state->steps[1];
@@ -2582,7 +2582,7 @@ ExecJustScanVar(ExprState *state, ExprContext *econtext, bool *isnull)
}
/* implementation of ExecJustAssign(Inner|Outer|Scan)Var */
-static pg_attribute_always_inline Datum
+static pg_always_inline Datum
ExecJustAssignVarImpl(ExprState *state, TupleTableSlot *inslot, bool *isnull)
{
ExprEvalStep *op = &state->steps[1];
@@ -2677,7 +2677,7 @@ ExecJustConst(ExprState *state, ExprContext *econtext, bool *isnull)
}
/* implementation of ExecJust(Inner|Outer|Scan)VarVirt */
-static pg_attribute_always_inline Datum
+static pg_always_inline Datum
ExecJustVarVirtImpl(ExprState *state, TupleTableSlot *slot, bool *isnull)
{
ExprEvalStep *op = &state->steps[0];
@@ -2720,7 +2720,7 @@ ExecJustScanVarVirt(ExprState *state, ExprContext *econtext, bool *isnull)
}
/* implementation of ExecJustAssign(Inner|Outer|Scan)VarVirt */
-static pg_attribute_always_inline Datum
+static pg_always_inline Datum
ExecJustAssignVarVirtImpl(ExprState *state, TupleTableSlot *inslot, bool *isnull)
{
ExprEvalStep *op = &state->steps[0];
@@ -2799,7 +2799,7 @@ ExecJustHashInnerVarWithIV(ExprState *state, ExprContext *econtext,
}
/* implementation of ExecJustHash(Inner|Outer)Var */
-static pg_attribute_always_inline Datum
+static pg_always_inline Datum
ExecJustHashVarImpl(ExprState *state, TupleTableSlot *slot, bool *isnull)
{
ExprEvalStep *fetchop = &state->steps[0];
@@ -2837,7 +2837,7 @@ ExecJustHashInnerVar(ExprState *state, ExprContext *econtext, bool *isnull)
}
/* implementation of ExecJustHash(Inner|Outer)VarVirt */
-static pg_attribute_always_inline Datum
+static pg_always_inline Datum
ExecJustHashVarVirtImpl(ExprState *state, TupleTableSlot *slot, bool *isnull)
{
ExprEvalStep *var = &state->steps[0];
@@ -5836,7 +5836,7 @@ ExecEvalAggOrderedTransTuple(ExprState *state, ExprEvalStep *op,
}
/* implementation of transition function invocation for byval types */
-static pg_attribute_always_inline void
+static pg_always_inline void
ExecAggPlainTransByVal(AggState *aggstate, AggStatePerTrans pertrans,
AggStatePerGroup pergroup,
ExprContext *aggcontext, int setno)
@@ -5868,7 +5868,7 @@ ExecAggPlainTransByVal(AggState *aggstate, AggStatePerTrans pertrans,
}
/* implementation of transition function invocation for byref types */
-static pg_attribute_always_inline void
+static pg_always_inline void
ExecAggPlainTransByRef(AggState *aggstate, AggStatePerTrans pertrans,
AggStatePerGroup pergroup,
ExprContext *aggcontext, int setno)
diff --git a/src/backend/executor/execTuples.c b/src/backend/executor/execTuples.c
index f08982a43cc..cb47b4fda1b 100644
--- a/src/backend/executor/execTuples.c
+++ b/src/backend/executor/execTuples.c
@@ -72,8 +72,8 @@
static TupleDesc ExecTypeFromTLInternal(List *targetList,
bool skipjunk);
-static pg_attribute_always_inline void slot_deform_heap_tuple(TupleTableSlot *slot, HeapTuple tuple, uint32 *offp,
- int reqnatts, bool support_cstring);
+static pg_always_inline void slot_deform_heap_tuple(TupleTableSlot *slot, HeapTuple tuple, uint32 *offp,
+ int reqnatts, bool support_cstring);
static inline void tts_buffer_heap_store_tuple(TupleTableSlot *slot,
HeapTuple tuple,
Buffer buffer,
@@ -1013,7 +1013,7 @@ tts_buffer_heap_store_tuple(TupleTableSlot *slot, HeapTuple tuple,
* emit code during inlining for cstring deforming when it's required.
* cstrings can exist in MinimalTuples, but not in HeapTuples.
*/
-static pg_attribute_always_inline void
+static pg_always_inline void
slot_deform_heap_tuple(TupleTableSlot *slot, HeapTuple tuple, uint32 *offp,
int reqnatts, bool support_cstring)
{
diff --git a/src/backend/executor/nodeHashjoin.c b/src/backend/executor/nodeHashjoin.c
index 0b365d5b475..202dd866251 100644
--- a/src/backend/executor/nodeHashjoin.c
+++ b/src/backend/executor/nodeHashjoin.c
@@ -221,7 +221,7 @@ static void ExecParallelHashJoinPartitionOuter(HashJoinState *hjstate);
* the other one is "outer".
* ----------------------------------------------------------------
*/
-static pg_attribute_always_inline TupleTableSlot *
+static pg_always_inline TupleTableSlot *
ExecHashJoinImpl(PlanState *pstate, bool parallel)
{
HashJoinState *node = castNode(HashJoinState, pstate);
diff --git a/src/backend/executor/nodeSeqscan.c b/src/backend/executor/nodeSeqscan.c
index 5bcb0a861d7..b8c528ca089 100644
--- a/src/backend/executor/nodeSeqscan.c
+++ b/src/backend/executor/nodeSeqscan.c
@@ -48,7 +48,7 @@ static TupleTableSlot *SeqNext(SeqScanState *node);
* This is a workhorse for ExecSeqScan
* ----------------------------------------------------------------
*/
-static pg_attribute_always_inline TupleTableSlot *
+static pg_always_inline TupleTableSlot *
SeqNext(SeqScanState *node)
{
TableScanDesc scandesc;
@@ -95,7 +95,7 @@ SeqNext(SeqScanState *node)
/*
* SeqRecheck -- access method routine to recheck a tuple in EvalPlanQual
*/
-static pg_attribute_always_inline bool
+static pg_always_inline bool
SeqRecheck(SeqScanState *node, TupleTableSlot *slot)
{
/*
diff --git a/src/backend/nodes/queryjumblefuncs.c b/src/backend/nodes/queryjumblefuncs.c
index 7c63766a51c..2ce27b9e552 100644
--- a/src/backend/nodes/queryjumblefuncs.c
+++ b/src/backend/nodes/queryjumblefuncs.c
@@ -232,7 +232,7 @@ DoJumble(JumbleState *jstate, Node *node)
*
* Note: Callers must ensure that size > 0.
*/
-static pg_attribute_always_inline void
+static pg_always_inline void
AppendJumbleInternal(JumbleState *jstate, const unsigned char *item,
Size size)
{
@@ -308,7 +308,7 @@ AppendJumble(JumbleState *jstate, const unsigned char *value, Size size)
* AppendJumbleNull
* For jumbling NULL pointers
*/
-static pg_attribute_always_inline void
+static pg_always_inline void
AppendJumbleNull(JumbleState *jstate)
{
jstate->pending_nulls++;
@@ -375,7 +375,7 @@ AppendJumble64(JumbleState *jstate, const unsigned char *value)
*
* Note: Callers must ensure that there's at least 1 pending NULL.
*/
-static pg_attribute_always_inline void
+static pg_always_inline void
FlushPendingNulls(JumbleState *jstate)
{
Assert(jstate->pending_nulls > 0);
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index 3cc0b0bdd92..1f1198ec0f7 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -649,10 +649,10 @@ static inline BufferDesc *BufferAlloc(SMgrRelation smgr,
static bool AsyncReadBuffers(ReadBuffersOperation *operation, int *nblocks_progress);
static void CheckReadBuffersOperation(ReadBuffersOperation *operation, bool is_complete);
-static pg_attribute_always_inline void TrackBufferHit(IOObject io_object,
- IOContext io_context,
- Relation rel, char persistence, SMgrRelation smgr,
- ForkNumber forknum, BlockNumber blocknum);
+static pg_always_inline void TrackBufferHit(IOObject io_object,
+ IOContext io_context,
+ Relation rel, char persistence, SMgrRelation smgr,
+ ForkNumber forknum, BlockNumber blocknum);
static Buffer GetVictimBuffer(BufferAccessStrategy strategy, IOContext io_context);
static void FlushUnlockedBuffer(BufferDesc *buf, SMgrRelation reln,
IOObject io_object, IOContext io_context);
@@ -1228,7 +1228,7 @@ ZeroAndLockBuffer(Buffer buffer, ReadBufferMode mode, bool already_valid)
* already present, or false if more work is required to either read it in or
* zero it.
*/
-static pg_attribute_always_inline Buffer
+static pg_always_inline Buffer
PinBufferForBlock(Relation rel,
SMgrRelation smgr,
char persistence,
@@ -1281,7 +1281,7 @@ PinBufferForBlock(Relation rel,
*
* smgr is required, rel is optional unless using P_NEW.
*/
-static pg_attribute_always_inline Buffer
+static pg_always_inline Buffer
ReadBuffer_common(Relation rel, SMgrRelation smgr, char smgr_persistence,
ForkNumber forkNum,
BlockNumber blockNum, ReadBufferMode mode,
@@ -1364,7 +1364,7 @@ ReadBuffer_common(Relation rel, SMgrRelation smgr, char smgr_persistence,
return buffer;
}
-static pg_attribute_always_inline bool
+static pg_always_inline bool
StartReadBuffersImpl(ReadBuffersOperation *operation,
Buffer *buffers,
BlockNumber blockNum,
@@ -1670,7 +1670,7 @@ CheckReadBuffersOperation(ReadBuffersOperation *operation, bool is_complete)
* We track various stats related to buffer hits. Because this is done in a
* few separate places, this helper exists for convenience.
*/
-static pg_attribute_always_inline void
+static pg_always_inline void
TrackBufferHit(IOObject io_object, IOContext io_context,
Relation rel, char persistence, SMgrRelation smgr,
ForkNumber forknum, BlockNumber blocknum)
@@ -2184,7 +2184,7 @@ AsyncReadBuffers(ReadBuffersOperation *operation, int *nblocks_progress)
*
* No locks are held either at entry or exit.
*/
-static pg_attribute_always_inline BufferDesc *
+static pg_always_inline BufferDesc *
BufferAlloc(SMgrRelation smgr, char relpersistence, ForkNumber forkNum,
BlockNumber blockNum,
BufferAccessStrategy strategy,
@@ -8277,7 +8277,7 @@ MarkDirtyAllUnpinnedBuffers(int32 *buffers_dirtied,
* part of error handling, which in turn could lead to the buffer being
* replaced while IO is ongoing.
*/
-static pg_attribute_always_inline void
+static pg_always_inline void
buffer_stage_common(PgAioHandle *ioh, bool is_write, bool is_temp)
{
uint64 *io_data;
@@ -8521,7 +8521,7 @@ buffer_readv_encode_error(PgAioResult *result,
* Helper for AIO readv completion callbacks, supporting both shared and temp
* buffers. Gets called once for each buffer in a multi-page read.
*/
-static pg_attribute_always_inline void
+static pg_always_inline void
buffer_readv_complete_one(PgAioTargetData *td, uint8 buf_off, Buffer buffer,
uint8 flags, bool failed, bool is_temp,
bool *buffer_invalid,
@@ -8672,7 +8672,7 @@ buffer_readv_complete_one(PgAioTargetData *td, uint8 buf_off, Buffer buffer,
*
* Shared between shared and local buffers, to reduce code duplication.
*/
-static pg_attribute_always_inline PgAioResult
+static pg_always_inline PgAioResult
buffer_readv_complete(PgAioHandle *ioh, PgAioResult prior_result,
uint8 cb_data, bool is_temp)
{
diff --git a/src/backend/utils/adt/json.c b/src/backend/utils/adt/json.c
index 0fee1b40d63..dccbe07cd2d 100644
--- a/src/backend/utils/adt/json.c
+++ b/src/backend/utils/adt/json.c
@@ -1528,7 +1528,7 @@ json_object_two_arg(PG_FUNCTION_ARGS)
* escape_json_char
* Inline helper function for escape_json* functions
*/
-static pg_attribute_always_inline void
+static pg_always_inline void
escape_json_char(StringInfo buf, char c)
{
switch (c)
diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c
index 87ed5506460..baa98f18ffa 100644
--- a/src/backend/utils/cache/catcache.c
+++ b/src/backend/utils/cache/catcache.c
@@ -1080,7 +1080,7 @@ RehashCatCacheLists(CatCache *cp)
*
* Call CatalogCacheInitializeCache() if not yet done.
*/
-pg_attribute_always_inline
+pg_always_inline
static void
ConditionalCatalogCacheInitializeCache(CatCache *cache)
{
--
2.53.0.1.gb2826b52eb
--nrl6kihukes5f4e7--
view thread (208+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected]
Subject: Re: [PATCH v1] Shorten pg_attribute_always_inline to pg_always_inline
In-Reply-To: <no-message-id-1258145@localhost>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox