CUBRID Engine  latest
string_opfunc.h File Reference
#include "config.h"
#include "dbtype_def.h"
#include "intl_support.h"
#include "language_support.h"
#include "numeric_opfunc.h"
#include "object_domain.h"
#include "thread_compat.hpp"
#include "string_regex.hpp"
Include dependency graph for string_opfunc.h:

Go to the source code of this file.

Macros

#define QSTR_IS_CHAR(s)
 
#define QSTR_IS_NATIONAL_CHAR(s)
 
#define QSTR_IS_BIT(s)
 
#define QSTR_IS_ANY_CHAR(s)   (QSTR_IS_CHAR(s) || QSTR_IS_NATIONAL_CHAR(s))
 
#define QSTR_IS_ANY_CHAR_OR_BIT(s)
 
#define QSTR_IS_FIXED_LENGTH(s)
 
#define QSTR_IS_VARIABLE_LENGTH(s)
 
#define QSTR_NUM_BYTES(a)   (((a) + 7) / 8)
 
#define QSTR_CHAR_COMPARE(id, string1, size1, string2, size2, ti)   QSTR_COMPARE(id, string1, size1, string2, size2, ti)
 
#define QSTR_NCHAR_COMPARE(id, string1, size1, string2, size2, codeset, ti)   QSTR_COMPARE(id, string1, size1, string2, size2, ti)
 
#define QSTR_COMPARE(id, string1, size1, string2, size2, ti)
 
#define QSTR_MATCH(id, string1, size1, string2, size2, esc, has_last_escape, match_size)
 
#define QSTR_NEXT_ALPHA_CHAR(id, cur_chr, size, next_chr, len)
 
#define QSTR_SPLIT_KEY(id, is_desc, str1, size1, str2, size2, k, s, ti)
 
#define NUM_BUF_SIZE   64
 
#define TIME_BUF_SIZE   64
 
#define DATE_BUF_SIZE   64
 
#define TIMESTAMP_BUF_SIZE   (TIME_BUF_SIZE + DATE_BUF_SIZE)
 
#define DATETIME_BUF_SIZE   (TIMESTAMP_BUF_SIZE + 4)
 
#define TIMEZONE_BUF_SIZE   64
 
#define TIMESTAMPTZ_BUF_SIZE   (TIMESTAMP_BUF_SIZE + TIMEZONE_BUF_SIZE)
 
#define DATETIMETZ_BUF_SIZE   (DATETIME_BUF_SIZE + TIMEZONE_BUF_SIZE)
 
#define NUM_MISC_OPERANDS   12
 
#define LIKE_WILDCARD_MATCH_MANY   '%'
 
#define LIKE_WILDCARD_MATCH_ONE   '_'
 
#define QSTR_IS_LIKE_WILDCARD_CHAR(ch)
 

Enumerations

enum  MISC_OPERAND {
  LEADING, TRAILING, BOTH, YEAR,
  MONTH, DAY, HOUR, MINUTE,
  SECOND, MILLISECOND, SUBSTRING, SUBSTR
}
 
enum  TIMESTAMP_FORMAT {
  DT_END = -2, DT_INVALID = -1, DT_NORMAL, DT_YYYY,
  DT_YY, DT_MM, DT_MONTH, DT_MON,
  DT_DD, DT_CC, DT_Q, DT_DAY,
  DT_DY, DT_AM, DT_A_M, DT_PM,
  DT_P_M, DT_HH, DT_H, DT_HH12,
  DT_HH24, DT_MI, DT_SS, DT_MS,
  DT_TEXT, DT_PUNCTUATION, DT_D, DT_TZR,
  DT_TZD, DT_TZH, DT_TZM
}
 

Functions

int qstr_compare (const unsigned char *string1, int size1, const unsigned char *string2, int size2)
 
int char_compare (const unsigned char *string1, int size1, const unsigned char *string2, int size2)
 
int varnchar_compare (const unsigned char *string1, int size1, const unsigned char *string2, int size2, INTL_CODESET codeset)
 
int nchar_compare (const unsigned char *string1, int size1, const unsigned char *string2, int size2, INTL_CODESET codeset)
 
int bit_compare (const unsigned char *string1, int size1, const unsigned char *string2, int size2)
 
int varbit_compare (const unsigned char *string1, int size1, const unsigned char *string2, int size2)
 
int get_last_day (int month, int year)
 
int get_day (int month, int day, int year)
 
int db_string_compare (const DB_VALUE *string1, const DB_VALUE *string2, DB_VALUE *result)
 
int db_string_unique_prefix (const DB_VALUE *db_string1, const DB_VALUE *db_string2, DB_VALUE *db_result, TP_DOMAIN *key_domain)
 
int db_string_concatenate (const DB_VALUE *string1, const DB_VALUE *string2, DB_VALUE *result, DB_DATA_STATUS *data_status)
 
int db_string_chr (DB_VALUE *res, DB_VALUE *dbval1, DB_VALUE *dbval2)
 
int db_string_instr (const DB_VALUE *src_string, const DB_VALUE *sub_string, const DB_VALUE *start_pos, DB_VALUE *result)
 
int db_string_position (const DB_VALUE *sub_string, const DB_VALUE *src_string, DB_VALUE *result)
 
int db_string_substring (const MISC_OPERAND substr_operand, const DB_VALUE *src_string, const DB_VALUE *start_position, const DB_VALUE *extraction_length, DB_VALUE *sub_string)
 
int db_string_quote (const DB_VALUE *src_string, DB_VALUE *res)
 
int db_string_repeat (const DB_VALUE *src_string, const DB_VALUE *count, DB_VALUE *result)
 
int db_string_substring_index (DB_VALUE *src_string, DB_VALUE *delim_string, const DB_VALUE *count, DB_VALUE *result)
 
int db_string_aes_encrypt (DB_VALUE const *src, DB_VALUE const *key, DB_VALUE *result)
 
int db_string_aes_decrypt (DB_VALUE const *src, DB_VALUE const *key, DB_VALUE *result)
 
int db_string_sha_one (DB_VALUE const *val, DB_VALUE *result)
 
int db_string_sha_two (DB_VALUE const *src, DB_VALUE const *len, DB_VALUE *result)
 
int db_string_md5 (DB_VALUE const *val, DB_VALUE *result)
 
int db_string_space (DB_VALUE const *count, DB_VALUE *result)
 
int db_string_insert_substring (DB_VALUE *src_string, const DB_VALUE *position, const DB_VALUE *length, DB_VALUE *sub_string, DB_VALUE *result)
 
int db_string_elt (DB_VALUE *result, DB_VALUE *args[], int const num_args)
 
int db_string_escape_str (const char *src_str, size_t src_size, char **res_string, size_t *dest_size)
 
int db_string_bit_length (const DB_VALUE *string, DB_VALUE *bit_count)
 
int db_string_char_length (const DB_VALUE *string, DB_VALUE *char_count)
 
int db_string_lower (const DB_VALUE *string, DB_VALUE *lower_string)
 
int db_string_upper (const DB_VALUE *string, DB_VALUE *upper_string)
 
int db_string_trim (const MISC_OPERAND tr_operand, const DB_VALUE *trim_charset, const DB_VALUE *src_string, DB_VALUE *trimmed_string)
 
int db_string_pad (const MISC_OPERAND pad_operand, const DB_VALUE *src_string, const DB_VALUE *pad_length, const DB_VALUE *pad_charset, DB_VALUE *padded_string)
 
int db_string_like (const DB_VALUE *src_string, const DB_VALUE *pattern, const DB_VALUE *esc_char, int *result)
 
int db_string_limit_size_string (DB_VALUE *src_string, DB_VALUE *result, const int new_size, int *spare_bytes)
 
int db_string_fix_string_size (DB_VALUE *src_string)
 
int db_string_replace (const DB_VALUE *src_string, const DB_VALUE *srch_string, const DB_VALUE *repl_string, DB_VALUE *replaced_string)
 
int db_string_translate (const DB_VALUE *src_string, const DB_VALUE *from_string, const DB_VALUE *to_string, DB_VALUE *transed_string)
 
int db_bit_string_coerce (const DB_VALUE *src_string, DB_VALUE *dest_string, DB_DATA_STATUS *data_status)
 
int db_char_string_coerce (const DB_VALUE *src_string, DB_VALUE *dest_string, DB_DATA_STATUS *data_status)
 
int db_string_make_empty_typed_string (DB_VALUE *db_val, const DB_TYPE db_type, int precision, int codeset, int collation_id)
 
int db_find_string_in_in_set (const DB_VALUE *needle, const DB_VALUE *stack, DB_VALUE *result)
 
int db_bigint_to_binary_string (const DB_VALUE *src_bigint, DB_VALUE *result)
 
int db_add_time (const DB_VALUE *left, const DB_VALUE *right, DB_VALUE *result, const TP_DOMAIN *domain)
 
int db_tz_offset (const DB_VALUE *src_str, DB_VALUE *result_str, DB_DATETIME *date_time)
 
int db_from_tz (DB_VALUE *time_val, DB_VALUE *tz, DB_VALUE *time_val_with_tz)
 
int db_new_time (DB_VALUE *time_val, DB_VALUE *tz_source, DB_VALUE *tz_dest, DB_VALUE *result_time)
 
int db_conv_tz (DB_VALUE *time_val, DB_VALUE *result_time)
 
int db_json_convert_to_utf8 (DB_VALUE *dbval)
 
int db_json_copy_and_convert_to_utf8 (const DB_VALUE *src_dbval, DB_VALUE *dest_dbval, const DB_VALUE **json_str_dbval)
 
int db_string_convert_to (const DB_VALUE *src_string, DB_VALUE *dest_string, INTL_CODESET dest_codeset, int dest_col)
 
unsigned char * qstr_pad_string (unsigned char *s, int length, INTL_CODESET codeset)
 
int qstr_bin_to_hex (char *dest, int dest_size, const char *src, int src_size)
 
int qstr_hex_to_bin (char *dest, int dest_size, const char *src, int src_size)
 
int qstr_bit_to_bin (char *dest, int dest_size, const char *src, int src_size)
 
void qstr_bit_to_hex_coerce (char *buffer, int buffer_size, const char *src, int src_length, int pad_flag, int *copy_size, int *truncation)
 
int db_get_string_length (const DB_VALUE *value)
 
void qstr_make_typed_string (const DB_TYPE db_type, DB_VALUE *value, const int precision, DB_CONST_C_CHAR src, const int s_unit, const int codeset, const int collation_id)
 
int db_add_months (const DB_VALUE *src_date, const DB_VALUE *nmonth, DB_VALUE *result_date)
 
int db_last_day (const DB_VALUE *src_date, DB_VALUE *result_day)
 
int db_str_to_date (const DB_VALUE *src_date, const DB_VALUE *src_format, const DB_VALUE *date_lang, DB_VALUE *result_date, TP_DOMAIN *domain)
 
int db_time_format (const DB_VALUE *src_time, const DB_VALUE *src_format, const DB_VALUE *date_lang, DB_VALUE *result_time, const TP_DOMAIN *domain)
 
int db_timestamp (const DB_VALUE *src_datetime1, const DB_VALUE *src_time2, DB_VALUE *result_datetime)
 
int db_unix_timestamp (const DB_VALUE *src_date, DB_VALUE *result_timestamp)
 
int db_datetime_to_timestamp (const DB_VALUE *src_datetime, DB_VALUE *result_timestamp)
 
int db_months_between (const DB_VALUE *start_mon, const DB_VALUE *end_mon, DB_VALUE *result_mon)
 
int db_sys_date (DB_VALUE *result_date)
 
int db_sys_time (DB_VALUE *result_time)
 
int db_sys_timestamp (DB_VALUE *result_timestamp)
 
int db_sys_datetime (DB_VALUE *result_datetime)
 
int db_sys_date_and_epoch_time (DB_VALUE *dt_dbval, DB_VALUE *ts_dbval)
 
int db_sys_timezone (DB_VALUE *result_timezone)
 
int db_to_char (const DB_VALUE *src_value, const DB_VALUE *format_or_length, const DB_VALUE *lang_str, DB_VALUE *result_str, const TP_DOMAIN *domain)
 
int db_to_date (const DB_VALUE *src_str, const DB_VALUE *format_str, const DB_VALUE *date_lang, DB_VALUE *result_date)
 
int db_to_time (const DB_VALUE *src_str, const DB_VALUE *format_str, const DB_VALUE *date_lang, const DB_TYPE type, DB_VALUE *result_time)
 
int db_to_timestamp (const DB_VALUE *src_str, const DB_VALUE *format_str, const DB_VALUE *date_lang, const DB_TYPE type, DB_VALUE *result_timestamp)
 
int db_to_datetime (const DB_VALUE *src_str, const DB_VALUE *format_str, const DB_VALUE *date_lang, const DB_TYPE type, DB_VALUE *result_datetime)
 
int db_to_number (const DB_VALUE *src_str, const DB_VALUE *format_str, const DB_VALUE *number_lang, DB_VALUE *result_num)
 
int db_string_reverse (const DB_VALUE *src_str, DB_VALUE *result_str)
 
int db_format (const DB_VALUE *number_text, const DB_VALUE *decimals, const DB_VALUE *number_lang, DB_VALUE *result, const TP_DOMAIN *domain)
 
int db_date_add_interval_days (DB_VALUE *result, const DB_VALUE *date, const DB_VALUE *days)
 
int db_date_sub_interval_days (DB_VALUE *result, const DB_VALUE *date, const DB_VALUE *days)
 
int db_date_add_interval_expr (DB_VALUE *result, const DB_VALUE *date, const DB_VALUE *expr, const int unit)
 
int db_date_sub_interval_expr (DB_VALUE *result, const DB_VALUE *date, const DB_VALUE *expr, const int unit)
 
int db_date_format (const DB_VALUE *date_value, const DB_VALUE *format, const DB_VALUE *date_lang, DB_VALUE *result, const TP_DOMAIN *domain)
 
int db_date_dbval (DB_VALUE *result, const DB_VALUE *date_value, const TP_DOMAIN *domain)
 
int db_time_dbval (DB_VALUE *result, const DB_VALUE *datetime_value, const TP_DOMAIN *domain)
 
int count_leap_years_up_to (int year)
 
int count_nonleap_years_up_to (int year)
 
int db_date_diff (const DB_VALUE *date_value1, const DB_VALUE *date_value2, DB_VALUE *result)
 
int db_from_unixtime (const DB_VALUE *src_date, const DB_VALUE *format, const DB_VALUE *date_lang, DB_VALUE *result, const TP_DOMAIN *domain)
 
int db_time_diff (const DB_VALUE *datetime_value1, const DB_VALUE *datetime_value2, DB_VALUE *result)
 
int db_bit_to_blob (const DB_VALUE *src_value, DB_VALUE *result_value)
 
int db_char_to_blob (const DB_VALUE *src_value, DB_VALUE *result_value)
 
int db_blob_to_bit (const DB_VALUE *src_value, const DB_VALUE *length_value, DB_VALUE *result_value)
 
int db_blob_from_file (const DB_VALUE *src_value, DB_VALUE *result_value)
 
int db_blob_length (const DB_VALUE *src_value, DB_VALUE *result_value)
 
int db_char_to_clob (const DB_VALUE *src_value, DB_VALUE *result_value)
 
int db_clob_to_char (const DB_VALUE *src_value, const DB_VALUE *codeset_value, DB_VALUE *result_value)
 
int db_clob_from_file (const DB_VALUE *src_value, DB_VALUE *result_value)
 
int db_clob_length (const DB_VALUE *src_value, DB_VALUE *result_value)
 
int db_get_date_quarter (const DB_VALUE *src_date, DB_VALUE *result)
 
int db_get_date_weekday (const DB_VALUE *src_date, const int type, DB_VALUE *result)
 
int db_get_date_dayofyear (const DB_VALUE *src_date, DB_VALUE *result)
 
int db_get_date_totaldays (const DB_VALUE *src_date, DB_VALUE *result)
 
int db_convert_time_to_sec (const DB_VALUE *src_date, DB_VALUE *result)
 
int db_convert_sec_to_time (const DB_VALUE *src, DB_VALUE *result)
 
int db_get_date_from_days (const DB_VALUE *src, DB_VALUE *result)
 
int db_add_days_to_year (const DB_VALUE *src_year, const DB_VALUE *src_days, DB_VALUE *result)
 
int db_convert_to_time (const DB_VALUE *src_hour, const DB_VALUE *src_minute, const DB_VALUE *src_second, DB_VALUE *result)
 
int db_get_date_week (const DB_VALUE *src_date, const DB_VALUE *mode, DB_VALUE *result)
 
int db_get_date_item (const DB_VALUE *src_date, const int item_type, DB_VALUE *result)
 
int db_get_time_item (const DB_VALUE *src_date, const int item_type, DB_VALUE *result)
 
int db_get_info_for_like_optimization (const DB_VALUE *const pattern, const bool has_escape_char, const char *escape_str, int *const num_logical_chars, int *const last_safe_logical_pos, int *const num_match_many, int *const num_match_one)
 
int db_compress_like_pattern (const DB_VALUE *const pattern, DB_VALUE *compressed_pattern, const bool has_escape_char, const char *escape_str)
 
int db_get_like_optimization_bounds (const DB_VALUE *const pattern, DB_VALUE *bound, const bool has_escape_char, const char *escape_str, const bool compute_lower_bound, const int last_safe_logical_pos)
 
int db_like_bound (const DB_VALUE *const src_pattern, const DB_VALUE *const src_escape, DB_VALUE *const result_bound, const bool compute_lower_bound)
 
int db_hex (const DB_VALUE *param, DB_VALUE *result)
 
int db_guid (THREAD_ENTRY *thread_p, DB_VALUE *result)
 
int db_ascii (const DB_VALUE *param, DB_VALUE *result)
 
int db_conv (const DB_VALUE *num, const DB_VALUE *from_base, const DB_VALUE *to_base, DB_VALUE *result)
 
void init_builtin_calendar_names (LANG_LOCALE_DATA *lld)
 
int db_value_to_enumeration_value (const DB_VALUE *src, DB_VALUE *result, const TP_DOMAIN *enum_domain)
 
int db_inet_aton (DB_VALUE *result_numbered_ip, const DB_VALUE *string)
 
int db_inet_ntoa (DB_VALUE *result_ip_string, const DB_VALUE *number)
 
void qstr_trim_trailing (const unsigned char *trim_charset_ptr, int trim_charset_size, const unsigned char *src_ptr, DB_TYPE src_type, int src_length, int src_size, INTL_CODESET codeset, int *trail_trimmed_length, int *trail_trimmed_size, bool skip_spaces)
 
int db_get_date_format (const DB_VALUE *format_str, TIMESTAMP_FORMAT *format)
 
int db_get_time_from_dbvalue (const DB_VALUE *src_date, int *hour, int *minute, int *second, int *millisecond)
 
int db_get_datetime_from_dbvalue (const DB_VALUE *src_date, int *year, int *month, int *day, int *hour, int *minute, int *second, int *millisecond, const char **endp)
 
int db_get_cs_coll_info (DB_VALUE *result, const DB_VALUE *val, const int mode)
 
int db_string_index_prefix (const DB_VALUE *string1, const DB_VALUE *string2, const DB_VALUE *index_type, DB_VALUE *prefix_index)
 
int db_string_to_base64 (DB_VALUE const *val, DB_VALUE *result)
 
int db_string_from_base64 (DB_VALUE const *val, DB_VALUE *result)
 
int db_string_extract_dbval (const MISC_OPERAND extr_operand, DB_VALUE *dbval_p, DB_VALUE *result_p, TP_DOMAIN *domain_p)
 

Macro Definition Documentation

#define DATE_BUF_SIZE   64

Definition at line 90 of file string_opfunc.h.

Referenced by coerce_date_to_dbvalue(), and db_value_get().

#define DATETIME_BUF_SIZE   (TIMESTAMP_BUF_SIZE + 4)
#define DATETIMETZ_BUF_SIZE   (DATETIME_BUF_SIZE + TIMEZONE_BUF_SIZE)

Definition at line 95 of file string_opfunc.h.

Referenced by csql_db_value_as_string(), date_to_char(), and tp_value_cast_internal().

#define LIKE_WILDCARD_MATCH_MANY   '%'
#define LIKE_WILDCARD_MATCH_ONE   '_'
#define NUM_MISC_OPERANDS   12

Definition at line 103 of file string_opfunc.h.

Referenced by db_string_extract_dbval().

#define QSTR_CHAR_COMPARE (   id,
  string1,
  size1,
  string2,
  size2,
  ti 
)    QSTR_COMPARE(id, string1, size1, string2, size2, ti)

Definition at line 60 of file string_opfunc.h.

Referenced by mr_cmpdisk_char_internal(), and mr_cmpval_char().

#define QSTR_COMPARE (   id,
  string1,
  size1,
  string2,
  size2,
  ti 
)
Value:
(LANG_GET_COLLATION (id))->fastcmp ((LANG_GET_COLLATION (id)), (string1), \
(size1), (string2), (size2), ti)
#define LANG_GET_COLLATION(i)

Definition at line 66 of file string_opfunc.h.

Referenced by db_string_compare(), db_string_prefix_compare(), mr_cmpval_string(), mr_data_cmpdisk_string(), pt_check_enum_data_type(), tp_domain_select(), and tp_value_cast_internal().

#define QSTR_IS_LIKE_WILDCARD_CHAR (   ch)
Value:
#define LIKE_WILDCARD_MATCH_MANY
#define LIKE_WILDCARD_MATCH_ONE

Definition at line 163 of file string_opfunc.h.

Referenced by is_safe_last_char_for_like_optimization().

#define QSTR_IS_VARIABLE_LENGTH (   s)
Value:

Definition at line 54 of file string_opfunc.h.

Referenced by pr_midxkey_element_disk_size(), and qstr_coerce().

#define QSTR_MATCH (   id,
  string1,
  size1,
  string2,
  size2,
  esc,
  has_last_escape,
  match_size 
)
Value:
(LANG_GET_COLLATION (id))->strmatch ((LANG_GET_COLLATION (id)), true, \
(string1), (size1), \
(string2), (size2), (esc), \
(has_last_escape), (match_size), false)
#define LANG_GET_COLLATION(i)

Definition at line 69 of file string_opfunc.h.

Referenced by db_find_string_in_in_set(), qstr_position(), and qstr_replace().

#define QSTR_NCHAR_COMPARE (   id,
  string1,
  size1,
  string2,
  size2,
  codeset,
  ti 
)    QSTR_COMPARE(id, string1, size1, string2, size2, ti)
#define QSTR_NEXT_ALPHA_CHAR (   id,
  cur_chr,
  size,
  next_chr,
  len 
)
Value:
(LANG_GET_COLLATION (id))->next_coll_seq ((LANG_GET_COLLATION (id)), \
(cur_chr), (size), (next_chr), (len), false)
#define LANG_GET_COLLATION(i)

Definition at line 75 of file string_opfunc.h.

Referenced by db_get_like_optimization_bounds().

#define QSTR_SPLIT_KEY (   id,
  is_desc,
  str1,
  size1,
  str2,
  size2,
  k,
  s,
  ti 
)
Value:
(LANG_GET_COLLATION (id))->split_key ((LANG_GET_COLLATION (id)), is_desc, \
(str1), (size1), (str2), (size2), \
(k), (s), ti)
#define LANG_GET_COLLATION(i)

Definition at line 78 of file string_opfunc.h.

Referenced by db_string_unique_prefix().

#define TIME_BUF_SIZE   64

Definition at line 89 of file string_opfunc.h.

#define TIMESTAMP_BUF_SIZE   (TIME_BUF_SIZE + DATE_BUF_SIZE)
#define TIMESTAMPTZ_BUF_SIZE   (TIMESTAMP_BUF_SIZE + TIMEZONE_BUF_SIZE)

Definition at line 94 of file string_opfunc.h.

Referenced by csql_db_value_as_string(), and date_to_char().

#define TIMEZONE_BUF_SIZE   64

Definition at line 93 of file string_opfunc.h.

Enumeration Type Documentation

Enumerator
LEADING 
TRAILING 
BOTH 
YEAR 
MONTH 
DAY 
HOUR 
MINUTE 
SECOND 
MILLISECOND 
SUBSTRING 
SUBSTR 

Definition at line 105 of file string_opfunc.h.

Enumerator
DT_END 
DT_INVALID 
DT_NORMAL 
DT_YYYY 
DT_YY 
DT_MM 
DT_MONTH 
DT_MON 
DT_DD 
DT_CC 
DT_Q 
DT_DAY 
DT_DY 
DT_AM 
DT_A_M 
DT_PM 
DT_P_M 
DT_HH 
DT_H 
DT_HH12 
DT_HH24 
DT_MI 
DT_SS 
DT_MS 
DT_TEXT 
DT_PUNCTUATION 
DT_D 
DT_TZR 
DT_TZD 
DT_TZH 
DT_TZM 

Definition at line 125 of file string_opfunc.h.

Function Documentation

int bit_compare ( const unsigned char *  string1,
int  size1,
const unsigned char *  string2,
int  size2 
)

Definition at line 8958 of file string_opfunc.c.

References assert, cmp, and i.

Referenced by mr_cmpdisk_bit_internal(), mr_cmpval_bit(), and mr_cmpval_bit2().

Here is the caller graph for this function:

int char_compare ( const unsigned char *  string1,
int  size1,
const unsigned char *  string2,
int  size2 
)

Referenced by is_number().

Here is the caller graph for this function:

int count_leap_years_up_to ( int  year)

Definition at line 24656 of file string_opfunc.c.

Referenced by count_nonleap_years_up_to(), db_date_diff(), db_get_date_totaldays(), and db_time_diff().

Here is the caller graph for this function:

int count_nonleap_years_up_to ( int  year)

Definition at line 24667 of file string_opfunc.c.

References count_leap_years_up_to().

Referenced by db_date_diff().

Here is the caller graph for this function:

int db_add_time ( const DB_VALUE left,
const DB_VALUE right,
DB_VALUE result,
const TP_DOMAIN domain 
)

Definition at line 7318 of file string_opfunc.c.

References add_and_normalize_date_time(), ARG_FILE_LINE, assert, db_datetime::date, db_datetimetz::datetime, db_date_parse_datetime_parts(), db_date_parse_time(), db_datetime_decode(), db_datetime_encode(), db_datetime_to_string(), db_get_date(), db_get_datetime(), db_get_datetimetz(), db_get_string(), db_get_string_size(), db_get_time(), db_get_time_from_dbvalue(), db_get_timestamp(), db_get_timestamptz(), DB_IS_NULL, db_make_datetime(), db_make_datetimeltz(), db_make_datetimetz(), db_make_null(), db_make_time(), db_make_varchar(), db_private_alloc, db_private_free, db_string_to_datetimetz_ex(), db_time_decode(), db_time_encode(), db_time_to_string(), db_timestamp_decode_utc(), DB_TYPE_CHAR, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_TYPE, ER_ATTEMPT_TO_USE_ZERODATE, er_clear(), ER_DATE_CONVERSION, ER_ERROR_SEVERITY, ER_QSTR_INVALID_DATA_TYPE, er_set(), ER_TIME_CONVERSION, error(), db_value::need_clear, NO_ERROR, NULL, prm_get_bool_value(), PRM_ID_RETURN_NULL_ON_FUNCTION_ERRORS, QSTR_DATETIME_LENGTH, QSTR_TIME_LENGTH, strlen, db_datetime::time, db_timestamptz::timestamp, TP_DOMAIN_CODESET, TP_DOMAIN_COLLATION, TP_DOMAIN_TYPE, tz_create_datetimetz_from_parts(), tz_datetimeltz_to_local(), db_timestamptz::tz_id, and db_datetimetz::tz_id.

Referenced by fetch_peek_arith(), and pt_evaluate_db_value_expr().

Here is the caller graph for this function:

int db_blob_length ( const DB_VALUE src_value,
DB_VALUE result_value 
)
int db_blob_to_bit ( const DB_VALUE src_value,
const DB_VALUE length_value,
DB_VALUE result_value 
)
int db_clob_length ( const DB_VALUE src_value,
DB_VALUE result_value 
)
int db_convert_time_to_sec ( const DB_VALUE src_date,
DB_VALUE result 
)
int db_convert_to_time ( const DB_VALUE src_hour,
const DB_VALUE src_minute,
const DB_VALUE src_second,
DB_VALUE result 
)
int db_date_add_interval_days ( DB_VALUE result,
const DB_VALUE date,
const DB_VALUE days 
)

Definition at line 21499 of file string_opfunc.c.

References db_date_add_sub_interval_days().

Referenced by fetch_peek_arith(), and pt_evaluate_db_value_expr().

Here is the caller graph for this function:

int db_date_add_interval_expr ( DB_VALUE result,
const DB_VALUE date,
const DB_VALUE expr,
const int  unit 
)

Definition at line 22580 of file string_opfunc.c.

References db_date_add_sub_interval_expr().

Referenced by fetch_peek_arith(), and pt_evaluate_db_value_expr().

Here is the caller graph for this function:

int db_date_format ( const DB_VALUE date_value,
const DB_VALUE format,
const DB_VALUE date_lang,
DB_VALUE result,
const TP_DOMAIN domain 
)

Definition at line 22621 of file string_opfunc.c.

References AM_NAME, lang_locale_data::am_pm, ARG_FILE_LINE, assert, tp_domain::collation_flag, db_datetimetz::datetime, lang_locale_data::day_name, lang_locale_data::day_short_name, db_date_decode(), db_datetime_decode(), db_get_date(), db_get_datetime(), db_get_datetimetz(), db_get_day_of_week(), db_get_int(), db_get_string(), db_get_string_codeset(), db_get_string_collation(), db_get_string_size(), db_get_timestamp(), db_get_timestamptz(), DB_IS_NULL, db_make_null(), db_make_string(), db_private_alloc, db_private_free_and_init, db_string_put_cs_and_collation(), db_time_decode(), db_timestamp_decode_ses(), db_timestamp_decode_w_tz_id(), DB_TYPE_CHAR, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_INTEGER, DB_TYPE_NCHAR, DB_TYPE_STRING, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, db_type_to_db_domain(), DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, DOMAIN_COMPATIBLE, er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_LANG_CODESET_NOT_AVAILABLE, ER_OUT_OF_VIRTUAL_MEMORY, ER_QSTR_INVALID_DATA_TYPE, er_set(), ER_TZ_LOAD_ERROR, error(), i, INTL_LANG_ENGLISH, is_char_string(), lang_charset_name(), lang_get_lang_id_from_flag(), lang_get_lang_name_from_id(), lang_get_specific_locale(), LEAP, lang_locale_data::month_name, lang_locale_data::month_short_name, db_value::need_clear, NO_ERROR, NULL, PM_NAME, STRCHCAT, strlen, db_timestamptz::timestamp, TP_DOMAIN_CODESET, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLLATION, tp_value_cast(), tz_create_session_tzid_for_datetime(), tz_create_session_tzid_for_timestamp(), TZ_DS_STRING_SIZE, tz_explain_tz_id(), db_timestamptz::tz_id, db_datetimetz::tz_id, tz_utc_datetimetz_to_local(), and TZR_SIZE.

Referenced by db_from_unixtime(), fetch_peek_arith(), and pt_evaluate_db_value_expr().

Here is the caller graph for this function:

int db_date_sub_interval_days ( DB_VALUE result,
const DB_VALUE date,
const DB_VALUE days 
)

Definition at line 21505 of file string_opfunc.c.

References db_date_add_sub_interval_days().

Referenced by fetch_peek_arith(), and pt_evaluate_db_value_expr().

Here is the caller graph for this function:

int db_date_sub_interval_expr ( DB_VALUE result,
const DB_VALUE date,
const DB_VALUE expr,
const int  unit 
)

Definition at line 22599 of file string_opfunc.c.

References db_date_add_sub_interval_expr().

Referenced by fetch_peek_arith(), and pt_evaluate_db_value_expr().

Here is the caller graph for this function:

int db_datetime_to_timestamp ( const DB_VALUE src_datetime,
DB_VALUE result_timestamp 
)
int db_get_date_from_days ( const DB_VALUE src,
DB_VALUE result 
)

Definition at line 11635 of file string_opfunc.c.

References DB_IS_NULL, db_make_date(), db_make_null(), db_round_dbvalue_to_int(), julian_decode(), julian_encode(), and NO_ERROR.

Referenced by fetch_peek_arith(), and pt_evaluate_db_value_expr().

Here is the caller graph for this function:

int db_get_date_item ( const DB_VALUE src_date,
const int  item_type,
DB_VALUE result 
)
int db_get_info_for_like_optimization ( const DB_VALUE *const  pattern,
const bool  has_escape_char,
const char *  escape_str,
int *const  num_logical_chars,
int *const  last_safe_logical_pos,
int *const  num_match_many,
int *const  num_match_one 
)
int db_get_string_length ( const DB_VALUE value)

Definition at line 8247 of file string_opfunc.c.

References db_char::buf, db_data::ch, db_char::codeset, db_value::data, DB_TYPE_BIT, DB_TYPE_VARBIT, db_value::domain, db_domain_info::general_info, if(), db_char::info, intl_char_count(), LARGE_STRING, db_char::medium, MEDIUM_STRING, NULL, db_char::size, SMALL_STRING, db_char::style, and db_domain_info::general_info::type.

Referenced by bit_to_string(), catcls_get_or_value_from_partition(), coerce_char_to_dbvalue(), date_to_char(), db_bit_string_coerce(), db_char_string_coerce(), db_like_bound(), db_string_aes_decrypt(), db_string_aes_encrypt(), db_string_bit_length(), db_string_char_length(), db_string_concatenate(), db_string_insert_substring(), db_string_instr(), db_string_lower(), db_string_md5(), db_string_pad(), db_string_position(), db_string_repeat(), db_string_replace(), db_string_reverse(), db_string_sha_two(), db_string_substring(), db_string_substring_index(), db_string_translate(), db_string_trim(), db_string_truncate(), db_string_upper(), db_value_get(), fetch_peek_arith(), fprint_special_strings(), heap_object_upgrade_domain(), mr_data_lengthval_nchar(), mr_lengthval_varbit_internal(), mr_lengthval_varnchar_internal(), mr_setmem_varbit(), mr_setval_varbit(), mr_writeval_bit_internal(), mr_writeval_nchar_internal(), mr_writeval_varbit_internal(), mr_writeval_varnchar_internal(), pt_evaluate_db_value_expr(), qdata_get_tuple_value_size_from_dbval(), qstr_grow_string(), scan_regu_key_to_index_key(), tp_can_steal_string(), tp_check_value_size(), tp_value_cast_internal(), transfer_bit_string(), and valcnv_convert_bit_to_string().

int db_get_time_item ( const DB_VALUE src_date,
const int  item_type,
DB_VALUE result 
)
int db_json_convert_to_utf8 ( DB_VALUE dbval)

Definition at line 7677 of file string_opfunc.c.

References assert, db_get_string_codeset(), DB_IS_STRING, db_string_convert_to(), INTL_CODESET_UTF8, LANG_COLL_UTF8_BINARY, NO_ERROR, NULL, and pr_clear_value().

Referenced by pt_check_json_table_node().

Here is the caller graph for this function:

int db_json_copy_and_convert_to_utf8 ( const DB_VALUE src_dbval,
DB_VALUE dest_dbval,
const DB_VALUE **  json_str_dbval 
)
int db_months_between ( const DB_VALUE start_mon,
const DB_VALUE end_mon,
DB_VALUE result_mon 
)
int db_str_to_date ( const DB_VALUE src_date,
const DB_VALUE src_format,
const DB_VALUE date_lang,
DB_VALUE result_date,
TP_DOMAIN domain 
)
int db_string_char_length ( const DB_VALUE string,
DB_VALUE char_count 
)
int db_string_escape_str ( const char *  src_str,
size_t  src_size,
char **  res_string,
size_t *  dest_size 
)
int db_sys_date_and_epoch_time ( DB_VALUE dt_dbval,
DB_VALUE ts_dbval 
)
int db_sys_timestamp ( DB_VALUE result_timestamp)
int db_sys_timezone ( DB_VALUE result_timezone)

Definition at line 13282 of file string_opfunc.c.

References assert, DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_make_int(), DB_TYPE_INTEGER, db_value_domain_init(), NO_ERROR, NULL, and tz_get_offset_in_mins().

Referenced by fetch_peek_arith(), and pt_evaluate_db_value_expr().

Here is the caller graph for this function:

int db_time_format ( const DB_VALUE src_time,
const DB_VALUE src_format,
const DB_VALUE date_lang,
DB_VALUE result_time,
const TP_DOMAIN domain 
)

Definition at line 12256 of file string_opfunc.c.

References AM_NAME, lang_locale_data::am_pm, ARG_FILE_LINE, assert, tp_domain::collation_flag, db_datetimetz::datetime, db_datetime_decode(), db_get_datetime(), db_get_datetimetz(), db_get_int(), db_get_string(), db_get_string_codeset(), db_get_string_collation(), db_get_string_size(), db_get_time(), db_get_timestamp(), db_get_timestamptz(), DB_IS_NULL, db_make_null(), db_make_string(), db_private_alloc, db_private_free_and_init, db_string_put_cs_and_collation(), db_time_decode(), db_timestamp_decode_ses(), db_timestamp_decode_w_tz_id(), DB_TYPE_CHAR, DB_TYPE_DATE, DB_TYPE_DATETIME, DB_TYPE_DATETIMELTZ, DB_TYPE_DATETIMETZ, DB_TYPE_INTEGER, DB_TYPE_NCHAR, DB_TYPE_STRING, DB_TYPE_TIME, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPLTZ, DB_TYPE_TIMESTAMPTZ, db_type_to_db_domain(), DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, DB_VALUE_DOMAIN_TYPE, DB_VALUE_TYPE, DOMAIN_COMPATIBLE, er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_LANG_CODESET_NOT_AVAILABLE, ER_OUT_OF_VIRTUAL_MEMORY, ER_QSTR_INVALID_DATA_TYPE, er_set(), ER_TZ_LOAD_ERROR, error(), lang_charset_name(), lang_get_lang_id_from_flag(), lang_get_lang_name_from_id(), lang_get_specific_locale(), db_value::need_clear, NO_ERROR, NULL, PM_NAME, pr_clear_value(), STRCHCAT, strlen, db_timestamptz::timestamp, TP_DOMAIN_CODESET, TP_DOMAIN_COLL_LEAVE, TP_DOMAIN_COLLATION, tp_domain_resolve_default(), TP_IS_CHAR_TYPE, TP_IS_DATE_OR_TIME_TYPE, tp_value_auto_cast(), tp_value_cast(), tz_create_session_tzid_for_datetime(), tz_create_session_tzid_for_time(), tz_create_session_tzid_for_timestamp(), TZ_DS_STRING_SIZE, tz_explain_tz_id(), db_timestamptz::tz_id, db_datetimetz::tz_id, tz_utc_datetimetz_to_local(), and TZR_SIZE.

Referenced by fetch_peek_arith(), and pt_evaluate_db_value_expr().

Here is the caller graph for this function:

int db_to_date ( const DB_VALUE src_str,
const DB_VALUE format_str,
const DB_VALUE date_lang,
DB_VALUE result_date 
)
int db_to_datetime ( const DB_VALUE src_str,
const DB_VALUE format_str,
const DB_VALUE date_lang,
const DB_TYPE  type,
DB_VALUE result_datetime 
)

Definition at line 15813 of file string_opfunc.c.

References ARG_FILE_LINE, assert, CAST_BUFLEN, char_isdigit(), cmp, db_check_or_create_null_term_string(), db_datetime_encode(), db_get_day_of_week(), db_get_int(), db_get_string_codeset(), db_get_string_size(), DB_IS_NULL, db_make_char(), db_make_datetime(), db_make_datetimetz(), db_make_null(), db_private_free, db_string_to_datetime_ex(), db_string_to_datetimetz_ex(), DB_TYPE_DATETIME, DB_TYPE_DATETIMETZ, DB_TYPE_INTEGER, DB_VALUE_TYPE, DT_A_M, DT_AM, DT_CC, DT_D, DT_DAY, DT_DD, DT_DY, DT_H, DT_HH, DT_HH12, DT_HH24, DT_INVALID, DT_MI, DT_MM, DT_MON, DT_MONTH, DT_MS, DT_NORMAL, DT_P_M, DT_PM, DT_PUNCTUATION, DT_Q, DT_SS, DT_TEXT, DT_TZD, DT_TZH, DT_TZM, DT_TZR, DT_YY, DT_YYYY, ER_DATE_CONVERSION, ER_ERROR_SEVERITY, ER_LANG_CODESET_NOT_AVAILABLE, ER_OBJ_INVALID_ARGUMENTS, ER_QSTR_EMPTY_STRING, ER_QSTR_FORMAT_DUPLICATION, ER_QSTR_FORMAT_TOO_LONG, ER_QSTR_INCOMPATIBLE_CODE_SETS, ER_QSTR_INVALID_DATA_TYPE, ER_QSTR_INVALID_FORMAT, ER_QSTR_MISMATCHING_ARGUMENTS, ER_QSTR_SRC_TOO_LONG, er_set(), ER_SYSTEM_DATE, ER_TIME_CONVERSION, ER_TIMESTAMP_CONVERSION, get_cur_month(), get_cur_year(), get_next_format(), get_string_date_token_id(), i, intl_backskip_spaces(), intl_case_match_tok(), is_char_string(), lang_charset_name(), lang_date_format_parse(), LANG_GET_BINARY_COLLATION, lang_get_lang_id_from_flag(), lang_get_lang_name_from_id(), lang_get_specific_locale(), MAX_TOKEN_SIZE, NO_ERROR, NULL, p, parse_digits(), parse_tzd(), SDT_AM_PM, SDT_DAY, SDT_DAY_SHORT, SDT_MONTH, SDT_MONTH_SHORT, strlen, tz_create_datetimetz_from_offset(), tz_create_datetimetz_from_zoneid_and_tzd(), tz_get_best_match_zone(), tz_get_session_tz_region(), TZD_MAX_EXPECTED_LEN, and WHITE_CHARS.

Referenced by fetch_peek_arith(), and pt_evaluate_db_value_expr().

Here is the caller graph for this function:

int db_to_time ( const DB_VALUE src_str,
const DB_VALUE format_str,
const DB_VALUE date_lang,
const DB_TYPE  type,
DB_VALUE result_time 
)
int db_to_timestamp ( const DB_VALUE src_str,
const DB_VALUE format_str,
const DB_VALUE date_lang,
const DB_TYPE  type,
DB_VALUE result_timestamp 
)

Definition at line 14900 of file string_opfunc.c.

References ARG_FILE_LINE, assert, CAST_BUFLEN, cmp, db_check_or_create_null_term_string(), db_date_encode(), db_get_day_of_week(), db_get_int(), db_get_string_codeset(), db_get_string_size(), DB_IS_NULL, db_make_char(), db_make_null(), db_make_timestamp(), db_make_timestamptz(), db_private_free, db_string_to_timestamp_ex(), db_string_to_timestamptz_ex(), db_time_encode(), db_timestamp_encode_ses(), DB_TYPE_INTEGER, DB_TYPE_TIMESTAMP, DB_TYPE_TIMESTAMPTZ, DB_VALUE_TYPE, DT_A_M, DT_AM, DT_CC, DT_D, DT_DAY, DT_DD, DT_DY, DT_HH, DT_HH12, DT_HH24, DT_INVALID, DT_MI, DT_MM, DT_MON, DT_MONTH, DT_NORMAL, DT_P_M, DT_PM, DT_PUNCTUATION, DT_Q, DT_SS, DT_TEXT, DT_TZD, DT_TZH, DT_TZM, DT_TZR, DT_YY, DT_YYYY, ER_DATE_CONVERSION, ER_ERROR_SEVERITY, ER_LANG_CODESET_NOT_AVAILABLE, ER_OBJ_INVALID_ARGUMENTS, ER_QSTR_EMPTY_STRING, ER_QSTR_FORMAT_DUPLICATION, ER_QSTR_FORMAT_TOO_LONG, ER_QSTR_INCOMPATIBLE_CODE_SETS, ER_QSTR_INVALID_DATA_TYPE, ER_QSTR_INVALID_FORMAT, ER_QSTR_MISMATCHING_ARGUMENTS, ER_QSTR_SRC_TOO_LONG, er_set(), ER_SYSTEM_DATE, ER_TIME_CONVERSION, ER_TIMESTAMP_CONVERSION, get_cur_month(), get_cur_year(), get_next_format(), get_string_date_token_id(), i, intl_backskip_spaces(), intl_case_match_tok(), is_char_string(), lang_charset_name(), lang_date_format_parse(), LANG_GET_BINARY_COLLATION, lang_get_lang_id_from_flag(), lang_get_lang_name_from_id(), lang_get_specific_locale(), MAX_TOKEN_SIZE, NO_ERROR, NULL, p, parse_digits(), parse_tzd(), SDT_AM_PM, SDT_DAY, SDT_DAY_SHORT, SDT_MONTH, SDT_MONTH_SHORT, strlen, tz_create_timestamptz_from_offset(), tz_create_timestamptz_from_zoneid_and_tzd(), tz_get_best_match_zone(), tz_get_session_tz_region(), TZD_MAX_EXPECTED_LEN, and WHITE_CHARS.

Referenced by fetch_peek_arith(), and pt_evaluate_db_value_expr().

Here is the caller graph for this function:

int db_value_to_enumeration_value ( const DB_VALUE src,
DB_VALUE result,
const TP_DOMAIN enum_domain 
)
int get_day ( int  month,
int  day,
int  year 
)

Definition at line 20423 of file string_opfunc.c.

References day_of_week(), and julian_encode().

Referenced by date_to_char().

Here is the caller graph for this function:

int get_last_day ( int  month,
int  year 
)

Definition at line 13297 of file string_opfunc.c.

Referenced by db_add_months(), db_last_day(), and db_months_between().

Here is the caller graph for this function:

int nchar_compare ( const unsigned char *  string1,
int  size1,
const unsigned char *  string2,
int  size2,
INTL_CODESET  codeset 
)

Referenced by is_number(), and mr_cmpval_nchar().

Here is the caller graph for this function:

int qstr_bin_to_hex ( char *  dest,
int  dest_size,
const char *  src,
int  src_size 
)

Definition at line 7985 of file string_opfunc.c.

References i.

Referenced by db_conv(), and qstr_bit_to_hex_coerce().

Here is the caller graph for this function:

int qstr_bit_to_bin ( char *  dest,
int  dest_size,
const char *  src,
int  src_size 
)

Definition at line 8096 of file string_opfunc.c.

Referenced by ldr_bstr_elem(), pt_db_value_initialize(), and cubload::to_db_varbit_from_bin_str().

Here is the caller graph for this function:

void qstr_bit_to_hex_coerce ( char *  buffer,
int  buffer_size,
const char *  src,
int  src_length,
int  pad_flag,
int *  copy_size,
int *  truncation 
)

Definition at line 8168 of file string_opfunc.c.

References NULL, qstr_bin_to_hex(), and QSTR_NUM_BYTES.

Referenced by db_value_get().

Here is the caller graph for this function:

int qstr_compare ( const unsigned char *  string1,
int  size1,
const unsigned char *  string2,
int  size2 
)

Referenced by is_number().

Here is the caller graph for this function:

int qstr_hex_to_bin ( char *  dest,
int  dest_size,
const char *  src,
int  src_size 
)

Definition at line 8028 of file string_opfunc.c.

References hextoi(), and i.

Referenced by ldr_xstr_elem(), pt_db_value_initialize(), cubload::to_db_varbit_from_hex_str(), and tp_value_cast_internal().

Here is the caller graph for this function:

unsigned char* qstr_pad_string ( unsigned char *  s,
int  length,
INTL_CODESET  codeset 
)

Definition at line 7929 of file string_opfunc.c.

References assert, i, and intl_pad_char().

Referenced by db_string_convert_to(), print_string_date_token(), qstr_coerce(), qstr_concatenate(), qstr_grow_string(), and transfer_string().

Here is the caller graph for this function:

void qstr_trim_trailing ( const unsigned char *  trim_charset_ptr,
int  trim_charset_size,
const unsigned char *  src_ptr,
DB_TYPE  src_type,
int  src_length,
int  src_size,
INTL_CODESET  codeset,
int *  trail_trimmed_length,
int *  trail_trimmed_size,
bool  skip_spaces 
)

Definition at line 3984 of file string_opfunc.c.

References intl_prev_char().

Referenced by pt_check_enum_data_type(), qstr_trim(), and varchar_truncated().

Here is the caller graph for this function:

int varbit_compare ( const unsigned char *  string1,
int  size1,
const unsigned char *  string2,
int  size2 
)

Definition at line 9002 of file string_opfunc.c.

References cmp, and i.

Referenced by db_string_compare(), db_string_prefix_compare(), mr_cmpval_varbit(), mr_cmpval_varbit2(), and mr_data_cmpdisk_varbit().

Here is the caller graph for this function:

int varnchar_compare ( const unsigned char *  string1,
int  size1,
const unsigned char *  string2,
int  size2,
INTL_CODESET  codeset 
)

Referenced by is_number(), and mr_cmpval_varnchar().

Here is the caller graph for this function: