[Bug] Fix the bug of where condition a in ('A', 'B', 'V') and a in ('A') return error result (#5072)

And Refactor ColumnRangeValue and OlapScanNode

This patch mainly do the following:
- Fix issue #5071
- Change type_min in ColumnRangeValue as static
- Add Class of type_limit make code clear
- Refactor the function of normalize_in_and_eq_predicate
This commit is contained in:
HappenLee
2020-12-15 09:29:10 +08:00
committed by GitHub
parent 90e7f7005e
commit 0a0e46fd53
10 changed files with 398 additions and 267 deletions

View File

@ -59,8 +59,6 @@ static uint32_t calc_days_in_year(uint32_t year) {
return is_leap(year) ? 366 : 365;
}
DateTimeValue DateTimeValue::_s_min_datetime_value(0, TIME_DATETIME, 0, 0, 0, 0, 0, 1, 1);
DateTimeValue DateTimeValue::_s_max_datetime_value(0, TIME_DATETIME, 23, 59, 59, 0, 9999, 12, 31);
RE2 DateTimeValue::time_zone_offset_format_reg("^[+-]{1}\\d{2}\\:\\d{2}$");
bool DateTimeValue::check_range() const {