• Tom Lane's avatar
    Replace TS_execute's TS_EXEC_CALC_NOT flag with TS_EXEC_SKIP_NOT. · 79d6d1a2
    Tom Lane authored
    It's fairly silly that ignoring NOT subexpressions is TS_execute's
    default behavior.  It's wrong on its face and it encourages errors
    of omission.  Moreover, the only two remaining callers that aren't
    specifying CALC_NOT are in ts_headline calculations, and it's very
    arguable that those are bugs: if you've specified "!foo" in your
    query, why would you want to get a headline that includes "foo"?
    
    Hence, rip that out and change the default behavior to be to calculate
    NOT accurately.  As a concession to the slim chance that there is still
    somebody somewhere who needs the incorrect behavior, provide a new
    SKIP_NOT flag to explicitly request that.
    
    Back-patch into v13, mainly because it seems better to change this
    at the same time as the previous commit's rejiggering of TS_execute
    related APIs.  Any outside callers affected by this change are
    probably also affected by that one.
    
    Discussion: https://postgr.es/m/CALT9ZEE-aLotzBg-pOp2GFTesGWVYzXA3=mZKzRDa_OKnLF7Mg@mail.gmail.com
    79d6d1a2
tsrank.c 21 KB