![]() |
MySQL 8.0.43
Source Code Documentation
|
Classes | |
| class | Regexp_engine |
| This class exposes high-level regular expression operations to the facade. More... | |
| class | Regexp_facade |
| This class handles. More... | |
| struct | UErrorCodeHash |
Functions | |
| bool | check_icu_status (UErrorCode status, const UParseError *parse_error) |
| UBool | QueryNotKilled (const void *context, int32_t steps) |
| Implements a match callback function for icu that aborts execution if the query was killed. More... | |
| const char * | icu_version_string () |
| static bool | EvalExprToCharset (Item *expr, std::u16string *out, int skip=0) |
| Evaluates an expression to an output buffer, performing character set conversion to regexp_lib_charset if necessary. More... | |
Variables | |
| std::unordered_map< UErrorCode, int, UErrorCodeHash > | error_map |
| Map from ICU error codes to MySQL dittos. More... | |
| static constexpr CHARSET_INFO * | regexp_lib_charset |
| static const CHARSET_INFO * | faux_binary_charset = &my_charset_latin1 |
| When dealing with the binary character set, we tell ICU that we're using CP-1252. More... | |
| bool regexp::check_icu_status | ( | UErrorCode | status, |
| const UParseError * | parse_error | ||
| ) |
|
static |
Evaluates an expression to an output buffer, performing character set conversion to regexp_lib_charset if necessary.
The procedure supports the optimization that code points before the start position are not converted to UTF-16.
| expr | The expression to be printed. | |
| [out] | out | Will be cleared, and the result stored. |
| skip | If present, this number of code points will be exempted from conversion. If the string is smaller than that, an out of bounds error is raised. |
| const char * regexp::icu_version_string | ( | ) |
| UBool regexp::QueryNotKilled | ( | const void * | context, |
| int32_t | steps | ||
| ) |
Implements a match callback function for icu that aborts execution if the query was killed.
| context | The session to check for killed query. |
| steps | Not used. |
| false | Query was killed in the session and the match should abort. |
| true | Query was not killed, matching should continue. |
| std::unordered_map<UErrorCode, int, UErrorCodeHash> regexp::error_map |
Map from ICU error codes to MySQL dittos.
We strive to keep this list in the same order as the enum UErrorCode in common/unicode/utypes.h.
|
static |
When dealing with the binary character set, we tell ICU that we're using CP-1252.
This way, comparisons will happen as the user expects; each octet value is equal to itself, and only to itself. And of course, CP-1252 is known as "latin1" in MySQL.
|
staticconstexpr |