From: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> |
---|---|
To: | Amul Sul <sulamul(at)gmail(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Convert macros to static inline functions |
Date: | 2022-05-23 05:38:32 |
Message-ID: | 756bc03b-3914-dc67-96c0-8431df70f287@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 16.05.22 15:23, Amul Sul wrote:
> +static inline OffsetNumber
> +PageGetMaxOffsetNumber(Page page)
> +{
> + if (((PageHeader) page)->pd_lower <= SizeOfPageHeaderData)
> + return 0;
> + else
> + return ((((PageHeader) page)->pd_lower - SizeOfPageHeaderData)
> / sizeof(ItemIdData));
> +}
>
> The "else" is not necessary, we can have the return statement directly
> which would save some indentation as well. The Similar pattern can be
> considered for 0004 and 0007 patches as well.
I kind of like it better this way. It preserves the functional style of
the original macro.
> +static inline void
> +XLogFromFileName(const char *fname, TimeLineID *tli, XLogSegNo
> *logSegNo, int wal_segsz_bytes)
> +{
> + uint32 log;
> + uint32 seg;
> + sscanf(fname, "%08X%08X%08X", tli, &log, &seg);
> + *logSegNo = (uint64) log * XLogSegmentsPerXLogId(wal_segsz_bytes) + seg;
> +}
>
> Can we have a blank line after variable declarations that we usually have?
done
> 0006 patch:
> +static inline Datum
> +fetch_att(const void *T, bool attbyval, int attlen)
> +{
> + if (attbyval)
> + {
> +#if SIZEOF_DATUM == 8
> + if (attlen == sizeof(Datum))
> + return *((const Datum *) T);
> + else
> +#endif
>
> Can we have a switch case like store_att_byval() instead of if-else,
> code would look more symmetric, IMO.
done
Attachment | Content-Type | Size |
---|---|---|
v2-0001-Convert-macros-to-static-inline-functions-block.h.patch | text/plain | 2.9 KB |
v2-0002-Convert-macros-to-static-inline-functions-bufpage.patch | text/plain | 10.1 KB |
v2-0003-Convert-macros-to-static-inline-functions-itemptr.patch | text/plain | 6.2 KB |
v2-0004-Convert-macros-to-static-inline-functions-bufmgr..patch | text/plain | 2.8 KB |
v2-0005-Convert-macros-to-static-inline-functions-xlog_in.patch | text/plain | 7.0 KB |
v2-0006-Convert-macros-to-static-inline-functions-tupmacs.patch | text/plain | 7.9 KB |
v2-0007-Convert-macros-to-static-inline-functions-itup.h.patch | text/plain | 4.6 KB |
v2-0008-Convert-macros-to-static-inline-functions-pgstat..patch | text/plain | 7.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2022-05-23 05:39:41 | Re: [BUG] Logical replication failure "ERROR: could not map filenode "base/13237/442428" to relation OID" with catalog modifying txns |
Previous Message | Dilip Kumar | 2022-05-23 05:35:33 | Re: postgres_fdw has insufficient support for large object |