MySQL 8.0.39
Source Code Documentation
|
Implementation of the regular expression function object. More...
#include "sql/item_regexp_func.h"
#include <optional>
#include "my_dbug.h"
#include "mysql_com.h"
#include "sql/item_func.h"
#include "sql/sql_class.h"
#include "sql/sql_lex.h"
Functions | |
static bool | ParseRegexpOptions (const std::string &options_string, bool case_sensitive_is_default, uint32_t *flags) |
Transforms a textual option string from the user to a bitmask of ICU flags. More... | |
static bool | is_binary_string (Item *item) |
static bool | is_binary_compatible (Item *item) |
Implementation of the regular expression function object.
This file deals only with the function objects and their place in the Item hierarchy. All interactions with the regular expression library are done through a facade object, which is instantiated in fix_fields() and deleted in cleanup().
|
static |
|
static |
|
static |
Transforms a textual option string from the user to a bitmask of ICU flags.
The match_parameter is a string of characters where each character controls some characteristic of the regular expression matching:
means case-sensitive matching. -
'i'means case-insensitive matching. -
'm'activates multi-line matching. -
'n'lets the period match the newline character. -
'u'` means that only UNIX line endings are recognized as line endings.options_string | The options to parse. | |
case_sensitive_is_default | Whether case-sensitive matching is the default. | |
[out] | flags | These flags will be updated (overridden) with the values of flags in options_string. |
false | String parsed successfully and *flags is updated accordingly. |
true | String could not be parsed, *flags is untouched. |