Files
doris/be/src/runtime/string_value.cpp
HappenLee 0a0e46fd53 [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
2020-12-15 09:29:10 +08:00

55 lines
1.6 KiB
C++

// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
#include "runtime/string_value.h"
#include <cstring>
#include "exec/olap_utils.h"
namespace doris {
std::string StringValue::debug_string() const {
return std::string(ptr, len);
}
std::string StringValue::to_string() const {
return std::string(ptr, len);
}
std::ostream& operator<<(std::ostream& os, const StringValue& string_value) {
return os << string_value.debug_string();
}
std::size_t operator-(const StringValue& v1, const StringValue& v2) {
return 0;
}
constexpr char StringValue::MIN_CHAR = 0x00;
constexpr char StringValue::MAX_CHAR = 0xff;
StringValue StringValue::min_string_val() {
return StringValue((char*)(&StringValue::MIN_CHAR), 0);
}
StringValue StringValue::max_string_val() {
return StringValue((char*)(&StringValue::MAX_CHAR), 1);
}
} // namespace doris