Skip to content
  • Alex Vandiver's avatar
    Improve !=, and note the limitations of NOT LIKE, with multi-value LargeContent · 26bbd612
    Alex Vandiver authored
    When attempting to perform a != or NOT LIKE search on a multi-value CF,
    with a value longer than 255 characters, the search limits the LEFT JOIN
    based on the opposite condition.  However, it assumed the Content column
    unless explicitly instructed; this means that, when checking against a
    long string, it would return false positives.
    
    For the case of !=, we can determine which of Content or LargeContent to
    examine ahead of time.  Unfortunately, for NOT LIKE, we would be forced
    to use a more complex limit to search both:
    
       Content LIKE '%value%' OR
       ((Content = '' OR Content IS NULL) AND LargeContent LIKE '%value%')
    
    ...and such a limit cannot be added to a LEFTJOIN clause using the
    current DBIx::SearchBuilder.
    26bbd612