Marks as IR_ALWAYS_INLINE since this is called in MaskFunctions::MaskHash(). So the caller can also replace GetConstFnAttr() calls in codegen.
| 293 | // Marks as IR_ALWAYS_INLINE since this is called in MaskFunctions::MaskHash(). |
| 294 | // So the caller can also replace GetConstFnAttr() calls in codegen. |
| 295 | IR_ALWAYS_INLINE StringVal StringFunctions::Lower(FunctionContext* context, |
| 296 | const StringVal& str) { |
| 297 | if (str.is_null) return StringVal::null(); |
| 298 | if (context->impl()->GetConstFnAttr(FunctionContextImpl::UTF8_MODE)) { |
| 299 | return LowerUtf8(context, str); |
| 300 | } |
| 301 | return LowerAscii(context, str); |
| 302 | } |
| 303 | |
| 304 | StringVal StringFunctions::LowerAscii(FunctionContext* context, const StringVal& str) { |
| 305 | // Not in UTF-8 mode, only English alphabetic characters will be converted. |
nothing calls this directly
no test coverage detected