• Tom Lane's avatar
    Fix YA text phrase search bug. · db89f0e3
    Tom Lane authored
    checkcondition_str() failed to report multiple matches for a prefix
    pattern correctly: it would dutifully merge the match positions, but
    then after exiting that loop, if the last prefix-matching word had
    had no suitable positions, it would report there were no matches.
    The upshot would be failing to recognize a match that the query
    should match.
    
    It looks like you need all of these conditions to see the bug:
    * a phrase search (else we don't ask for match position details)
    * a prefix search item (else we don't get to this code)
    * a weight restriction (else checkclass_str won't fail)
    
    Noted while investigating a problem report from Pavel Borisov,
    though this is distinct from the issue he was on about.
    
    Back-patch to 9.6 where phrase search was added.
    db89f0e3
tsvector_op.c 61.8 KB