• Tom Lane's avatar
    First cut at doing LIKE/regex indexing optimization in · 9e7e29e6
    Tom Lane authored
    optimizer rather than parser.  This has many advantages, such as not
    getting fooled by chance uses of operator names ~ and ~~ (the operators
    are identified by OID now), and not creating useless comparison operations
    in contexts where the comparisons will not actually be used as indexquals.
    The new code also recognizes exact-match LIKE and regex patterns, and
    produces an = indexqual instead of >= and <=.
    
    This change does NOT fix the problem with non-ASCII locales: the code
    still doesn't know how to generate an upper bound indexqual for non-ASCII
    collation order.  But it's no worse than before, just the same deficiency
    in a different place...
    
    Also, dike out loc_restrictinfo fields in Plan nodes.  These were doing
    nothing useful in the absence of 'expensive functions' optimization,
    and they took a considerable amount of processing to fill in.
    9e7e29e6
clauses.h 2.04 KB