pgsql-server/src/backend/nodes copyfuncs.c equ ... - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql-server/src/backend/nodes copyfuncs.c equ ...
Date
Msg-id 20021125033327.658FC475AD7@postgresql.org
Whole thread Raw
List pgsql-committers
CVSROOT:    /cvsroot
Module name:    pgsql-server
Changes by:    tgl@postgresql.org    02/11/24 22:33:27

Modified files:
    src/backend/nodes: copyfuncs.c equalfuncs.c

Log message:
    Restructure the code in copyfuncs and equalfuncs to put much heavier
    reliance on macros, in hopes of eliminating silly typos (like copying
    to the wrong field) and just generally making it easier to see the forest
    instead of the trees.  As an example, here is the new code for A_Indices:

    static A_Indices *
    _copyAIndices(A_Indices *from)
    {
    A_Indices  *newnode = makeNode(A_Indices);

    COPY_NODE_FIELD(lidx);
    COPY_NODE_FIELD(uidx);

    return newnode;
    }

    static bool
    _equalAIndices(A_Indices *a, A_Indices *b)
    {
    COMPARE_NODE_FIELD(lidx);
    COMPARE_NODE_FIELD(uidx);

    return true;
    }

    I plan to redo outfuncs/readfuncs in a similar style, but am committing
    what I've got.


pgsql-committers by date:

Previous
From: darcy@postgresql.org (D'Arcy Cain)
Date:
Subject: pgsql-server/src/interfaces/python pgdb.py
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql-server/src backend/commands/trigger.c ba ...