mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Add COPY_ARRAY_FIELD and COMPARE_ARRAY_FIELD
These handle node fields that are inline arrays (as opposed to dynamically allocated arrays handled by COPY_POINTER_FIELD and COMPARE_POINTER_FIELD). These cases were hand-coded until now. Reviewed-by: Jacob Champion <pchampion@vmware.com> Discussion: https://www.postgresql.org/message-id/c091e5cd-45f8-69ee-6a9b-de86912cc7e7@enterprisedb.com
This commit is contained in:
@@ -74,6 +74,13 @@
|
||||
#define equalstr(a, b) \
|
||||
(((a) != NULL && (b) != NULL) ? (strcmp(a, b) == 0) : (a) == (b))
|
||||
|
||||
/* Compare a field that is an inline array */
|
||||
#define COMPARE_ARRAY_FIELD(fldname) \
|
||||
do { \
|
||||
if (memcmp(a->fldname, b->fldname, sizeof(a->fldname)) != 0) \
|
||||
return false; \
|
||||
} while (0)
|
||||
|
||||
/* Compare a field that is a pointer to a simple palloc'd object of size sz */
|
||||
#define COMPARE_POINTER_FIELD(fldname, sz) \
|
||||
do { \
|
||||
|
Reference in New Issue
Block a user