| 238 | } |
| 239 | |
| 240 | BooleanVal LikePredicate::ConstantSubstringFn(FunctionContext* context, |
| 241 | const StringVal& val, const StringVal& pattern) { |
| 242 | if (val.is_null) return BooleanVal::null(); |
| 243 | LikePredicateState* state = reinterpret_cast<LikePredicateState*>( |
| 244 | context->GetFunctionState(FunctionContext::THREAD_LOCAL)); |
| 245 | if (state->search_string_sv_.Len() == 0) return BooleanVal(true); |
| 246 | StringValue pattern_value = StringValue::FromStringVal(val); |
| 247 | return BooleanVal(state->substring_pattern_.Search(&pattern_value) != -1); |
| 248 | } |
| 249 | |
| 250 | BooleanVal LikePredicate::ConstantStartsWithFn(FunctionContext* context, |
| 251 | const StringVal& val, const StringVal& pattern) { |
nothing calls this directly
no test coverage detected