24#ifndef MYSQL_SERVER_STRING_SERVICE_H
25#define MYSQL_SERVER_STRING_SERVICE_H
310 size_t *buffer_length,
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:168
Definition: item_cmpfunc.h:1644
The string functions as a service to the mysql_server component.
Definition: mysql_string_service_imp.h:46
static mysql_service_status_t convert_to_buffer_v2(my_h_string src_string, char *dest_buffer, uint64 dest_length, CHARSET_INFO_h dest_charset) noexcept
Definition: mysql_string_service.cc:221
static mysql_service_status_t get_byte_length(my_h_string string, uint *out_length) noexcept
Gets length of specified string expressed as number of bytes.
Definition: mysql_string_service.cc:303
static mysql_service_status_t convert_from_buffer_v2(my_h_string dest_string, const char *src_buffer, uint64 src_length, CHARSET_INFO_h src_charset) noexcept
Definition: mysql_string_service.cc:202
static void destroy(my_h_string string) noexcept
Destroys specified string object and data contained by it.
Definition: mysql_string_service.cc:242
static mysql_service_status_t create(my_h_string *out_string) noexcept
Creates a new instance of string object.
Definition: mysql_string_service.cc:85
static mysql_service_status_t is_lower(my_h_string_iterator iter, bool *out) noexcept
Checks if character on current position the iterator points to is a lower case.
Definition: mysql_string_service.cc:391
static CHARSET_INFO_h get_charset_utf8mb4() noexcept
Definition: mysql_string_service.cc:75
static mysql_service_status_t tolower(my_h_string *out_string, my_h_string in_string) noexcept
Convert a String pointed by handle to lower case.
Definition: mysql_string_service.cc:97
static mysql_service_status_t is_digit(my_h_string_iterator iter, bool *out) noexcept
Checks if character on current position the iterator points to is a digit.
Definition: mysql_string_service.cc:404
static mysql_service_status_t convert_from_buffer(my_h_string *out_string, const char *in_buffer, uint64 length, const char *charset_name) noexcept
Allocates a string object and converts the character buffer to string and just sets the specified cha...
Definition: mysql_string_service.cc:150
static mysql_service_status_t get(my_h_string_iterator iter, ulong *out) noexcept
Retrieves character value at current iterator position.
Definition: mysql_string_service.cc:417
static mysql_service_status_t is_upper(my_h_string_iterator iter, bool *out) noexcept
Checks if character on current position the iterator points to is an upper case.
Definition: mysql_string_service.cc:378
static mysql_service_status_t get_data(my_h_string s, const char **buffer_pointer, size_t *buffer_length, CHARSET_INFO_h *buffer_charset) noexcept
Definition: mysql_string_service.cc:493
static mysql_service_status_t iterator_create(my_h_string string, my_h_string_iterator *out_iterator) noexcept
Creates an iterator for a specified string to allow iteration through all characters in the string.
Definition: mysql_string_service.cc:316
static mysql_service_status_t convert_to_buffer(my_h_string in_string, char *out_buffer, uint64 length, const char *charset_name) noexcept
Converts the mysql_string to the character set specified by charset_name parameter.
Definition: mysql_string_service.cc:174
static mysql_service_status_t iterator_get_next(my_h_string_iterator iter, int *out_char) noexcept
Retrieves character code at current iterator position and advances the iterator.
Definition: mysql_string_service.cc:335
static void iterator_destroy(my_h_string_iterator iter) noexcept
Releases the string iterator object specified.
Definition: mysql_string_service.cc:368
static mysql_service_status_t get_char(my_h_string string, uint index, ulong *out_char) noexcept
Gets character code of character on specified index position in string to a specified buffer.
Definition: mysql_string_service.cc:254
static mysql_service_status_t get_byte(my_h_string string, uint index, uint *out_char) noexcept
Gets byte code of string at specified index position to a specified 32-bit buffer.
Definition: mysql_string_service.cc:287
static mysql_service_status_t compare(my_h_string s1, my_h_string s2, int *cmp) noexcept
Definition: mysql_string_service.cc:475
static mysql_service_status_t get_char_length(my_h_string string, uint *out_length) noexcept
Gets length of specified string expressed as number of characters.
Definition: mysql_string_service.cc:274
static mysql_service_status_t reset(my_h_string s) noexcept
Definition: mysql_string_service.cc:430
static mysql_service_status_t toupper(my_h_string *out_string, my_h_string in_string) noexcept
Convert a String pointed by handle to upper case.
Definition: mysql_string_service.cc:122
static CHARSET_INFO_h get_charset_by_name(const char *name) noexcept
Definition: mysql_string_service.cc:80
static mysql_service_status_t substr(my_h_string in_string, uint offset, uint count, my_h_string *out_string) noexcept
Allocates a string object and sets it value as substring of the input string.
Definition: mysql_string_service.cc:458
static mysql_service_status_t append(my_h_string s1, my_h_string s2) noexcept
Definition: mysql_string_service.cc:442
Specifies macros to define Components.
static int cmp(Bigint *a, Bigint *b)
Definition: dtoa.cc:1062
uint64_t uint64
Definition: my_inttypes.h:69
static int count
Definition: myisam_ftdump.cc:43
struct CHARSET_INFO_h_imp * CHARSET_INFO_h
Definition: mysql_string.h:41
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
Specifies macros to define Service Implementations.
#define DEFINE_BOOL_METHOD(name, args)
A short macro to define method that returns bool, which is the most common case.
Definition: service_implementation.h:88
#define DEFINE_METHOD(retval, name, args)
A macro to ensure method implementation has required properties, that is it does not throw exceptions...
Definition: service_implementation.h:79
case opt name
Definition: sslopt-case.h:33
Definition: mysql_string_service.cc:59
Definition: mysql_string_service.cc:61
unsigned int uint
Definition: uca9-dump.cc:75