• Andrew Gierth's avatar
    Don't add bailout adjustment for non-strict deserialize calls. · a3367aa3
    Andrew Gierth authored
    When building aggregate expression steps, strict checks need a bailout
    jump for when a null value is encountered, so there is a list of steps
    that require later adjustment. Adding entries to that list for steps
    that aren't actually strict would be harmless, except that there is an
    Assert which catches them. This leads to spurious errors on asserts
    builds, for data sets that trigger parallel aggregation of an
    aggregate with a non-strict deserialization function (no such
    aggregates exist in the core system).
    
    Repair by not adding the adjustment entry when it's not needed.
    
    Backpatch back to 11 where the code was introduced.
    
    Per a report from Darafei (Komzpa) of the PostGIS project; analysis
    and patch by me.
    
    Discussion: https://postgr.es/m/87mty7peb3.fsf@news-spur.riddles.org.uk
    a3367aa3
execExpr.c 101 KB