Re: automatically generating node support functions - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: automatically generating node support functions
Date
Msg-id c091e5cd-45f8-69ee-6a9b-de86912cc7e7@enterprisedb.com
Whole thread Raw
In response to Re: automatically generating node support functions  (Peter Eisentraut <peter.eisentraut@enterprisedb.com>)
Responses Re: automatically generating node support functions  (Jacob Champion <pchampion@vmware.com>)
Re: automatically generating node support functions  (Peter Eisentraut <peter.eisentraut@enterprisedb.com>)
List pgsql-hackers
Here is another set of preparatory patches that clean up various special 
cases and similar in the node support.

0001-Remove-T_Expr.patch

Removes unneeded T_Expr.

0002-Add-COPY_ARRAY_FIELD-and-COMPARE_ARRAY_FIELD.patch
0003-Add-WRITE_INDEX_ARRAY.patch

These add macros to handle a few cases that were previously hand-coded.

0004-Make-node-output-prefix-match-node-structure-name.patch

Some nodes' output/read functions use a label that is slightly different 
from their node name, e.g., "NOTIFY" instead of "NOTIFYSTMT".  This 
cleans that up so that an automated approach doesn't have to deal with 
these special cases.

0005-Add-Cardinality-typedef.patch

Adds a typedef Cardinality for double fields that store an estimated row 
or other count.  Works alongside Cost and Selectivity.

This is useful because it appears that the serialization format for 
these float fields depends on their intent: Cardinality => %.0f, Cost => 
%.2f, Selectivity => %.4f.  The only remaining exception is allvisfrac, 
which uses %.6f.  Maybe that could also be a Selectivity, but I left it 
as is.  I think this improves the clarity in this area.

Attachment

pgsql-hackers by date:

Previous
From: Ranier Vilela
Date:
Subject: Re: Fix uninitialized variable access (src/backend/utils/mmgr/freepage.c)
Next
From: Zhihong Yu
Date:
Subject: Re: Allow parallel DISTINCT