• Tom Lane's avatar
    Restructure the code in copyfuncs and equalfuncs to put much heavier · 2eafcf68
    Tom Lane authored
    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.
    2eafcf68
equalfuncs.c 42 KB