1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

fix(mcol-4499): Correct handling of LIKE/NOT LIKE NULL

This commit is contained in:
Alexander Presnyakov
2024-07-10 11:55:23 +00:00
committed by Leonid Fedorov
parent 7bec46e685
commit 5f9ccfa8a1
6 changed files with 105 additions and 8 deletions

View File

@ -1754,6 +1754,14 @@ void filterColumnData(NewColRequestHeader* in, ColResultHeader* out, uint16_t* r
if (parsedColumnFilter.get() == nullptr && filterCount > 0)
parsedColumnFilter = _parseColumnFilter<T>(in->getFilterStringPtr(), dataType, filterCount, in->BOP);
// If the filter is always false, return an empty result
// TODO how can parsedColumnFilter be nullptr here?
if (parsedColumnFilter.get() != nullptr && parsedColumnFilter->columnFilterMode == ALWAYS_FALSE)
{
out->NVALS = 0;
return;
}
// Cache parsedColumnFilter fields in local vars
auto columnFilterMode = filterCount == 0 ? ALWAYS_TRUE : parsedColumnFilter->columnFilterMode;
FT* filterValues = filterCount == 0 ? nullptr : parsedColumnFilter->getFilterVals<FT>();