• Tom Lane's avatar
    Add support for more extensive testing of raw_expression_tree_walker(). · 465e09da
    Tom Lane authored
    If RAW_EXPRESSION_COVERAGE_TEST is defined, do a no-op tree walk over
    every basic DML statement submitted to parse analysis.  If we'd had this
    in place earlier, bug #14153 would have been caught by buildfarm testing.
    The difficulty is that raw_expression_tree_walker() is only used in
    limited cases involving CTEs (particularly recursive ones), so it's
    very easy for an oversight in it to not be noticed during testing of a
    seemingly-unrelated feature.
    
    The type of error we can expect to catch with this is complete omission
    of a node type from raw_expression_tree_walker(), and perhaps also
    recursion into a field that doesn't contain a node tree, though that
    would be an unlikely mistake.  It won't catch failure to add new fields
    that need to be recursed into, unfortunately.
    
    I'll go enable this on one or two of my own buildfarm animals once
    bug #14153 is dealt with.
    
    Discussion: <27861.1464040417@sss.pgh.pa.us>
    465e09da
nodeFuncs.c 96.3 KB