1#ifndef ITEM_FUNC_INCLUDED
2#define ITEM_FUNC_INCLUDED
51#include "mysqld_error.h"
119 if (
args ==
nullptr) {
529 bool eq(
const Item *item)
const override;
582 uint nitems,
int item_sep = 1) {
592 uint nitems,
int item_sep = 1) {
608 replace->stack.push_front(
this);
613 pointer_cast<Replace_equal *>(arg)->stack.pop();
801 const MY_BITMAP *fields_to_ignore)
const;
818 pointer_cast<Check_function_as_value_generator_parameters *>(
1090 const char *
func_name()
const override {
return "connection_id"; }
1096 pointer_cast<Check_function_as_value_generator_parameters *>(
1109 const char *
func_name()
const override {
return "cast_as_signed"; }
1122 const char *
func_name()
const override {
return "cast_as_unsigned"; }
1156 const char *
func_name()
const override {
return "cast_as_decimal"; }
1168 obj->
add_alias(
"is_double", create_dom_ptr<Json_boolean>(
1192 const char *
func_name()
const override {
return "cast_as_real"; }
1476 const char *
func_name()
const override {
return "ceiling"; }
1510 return truncate ?
"truncate" :
"round";
1551 pointer_cast<Check_function_as_value_generator_parameters *>(
1588 const char *
func_name()
const override {
return "degrees"; }
1596 const char *
func_name()
const override {
return "radians"; }
1689 const char *
func_name()
const override {
return "greatest"; }
1738 const char *
func_name()
const override {
return "rollup_group_item"; }
1803 const char *
func_name()
const override {
return "vector_dim"; }
1827 const char *
func_name()
const override {
return "bit_length"; }
1837 const char *
func_name()
const override {
return "char_length"; }
1850 const char *
func_name()
const override {
return "coercibility"; }
1889 return "validate_password_strength";
1946 const char *
func_name()
const override {
return "find_in_set"; }
2022 template <
class Char_func,
class Int_func>
2024 template <
class Int_func>
2041 return eval_str_op(
str, std::bit_or<char>(), std::bit_or<ulonglong>());
2054 return eval_str_op(
str, std::bit_and<char>(), std::bit_and<ulonglong>());
2067 return eval_str_op(
str, std::bit_xor<char>(), std::bit_xor<ulonglong>());
2075 const char *
func_name()
const override {
return "bit_count"; }
2092 template <
bool to_left>
2094 template <
bool to_left>
2153 const char *
func_name()
const override {
return "last_insert_id"; }
2166 pointer_cast<Check_function_as_value_generator_parameters *>(
2187 const char *
func_name()
const override {
return "benchmark"; }
2199 pointer_cast<Check_function_as_value_generator_parameters *>(
2228 pointer_cast<Check_function_as_value_generator_parameters *>(
2267 pointer_cast<Check_function_as_value_generator_parameters *>(
2364 const char *end_not_used;
2368 &end_not_used, &err_not_used)
2376 nullptr, &err_not_used)
2381 if (!res)
return nullptr;
2410 const char *
func_name()
const override {
return "get_lock"; }
2424 pointer_cast<Check_function_as_value_generator_parameters *>(
2441 const char *
func_name()
const override {
return "release_lock"; }
2454 pointer_cast<Check_function_as_value_generator_parameters *>(
2469 const char *
func_name()
const override {
return "release_all_locks"; }
2480 pointer_cast<Check_function_as_value_generator_parameters *>(
2503 const char *
func_name()
const override {
return "source_pos_wait"; }
2517 pointer_cast<Check_function_as_value_generator_parameters *>(
2545 const char *
func_name()
const override {
return "can_access_database"; }
2557 const char *
func_name()
const override {
return "can_access_table"; }
2569 const char *
func_name()
const override {
return "can_access_user"; }
2581 const char *
func_name()
const override {
return "can_access_trigger"; }
2594 const char *
func_name()
const override {
return "can_access_routine"; }
2606 const char *
func_name()
const override {
return "can_access_event"; }
2618 const char *
func_name()
const override {
return "can_access_resource_group"; }
2631 const char *
func_name()
const override {
return "can_access_view"; }
2643 const char *
func_name()
const override {
return "can_access_column"; }
2659 const char *
func_name()
const override {
return "is_visible_dd_object"; }
2673 const char *
func_name()
const override {
return "internal_table_rows"; }
2688 const char *
func_name()
const override {
return "internal_avg_row_length"; }
2703 const char *
func_name()
const override {
return "internal_data_length"; }
2718 const char *
func_name()
const override {
return "internal_max_data_length"; }
2733 const char *
func_name()
const override {
return "internal_index_length"; }
2748 const char *
func_name()
const override {
return "internal_data_free"; }
2763 const char *
func_name()
const override {
return "internal_auto_increment"; }
2778 const char *
func_name()
const override {
return "internal_checksum"; }
2791 const char *
func_name()
const override {
return "internal_keys_disabled"; }
2807 return "internal_index_column_cardinality";
2822 const char *
func_name()
const override {
return "internal_dd_char_length"; }
2838 return "internal_get_view_warning_or_error";
2859 return "get_dd_index_sub_part_length";
2870 const char *
func_name()
const override {
return "internal_tablespace_id"; }
2889 return "internal_tablespace_logfile_group_number";
2909 return "internal_tablespace_free_extents";
2929 return "internal_tablespace_total_extents";
2949 return "internal_tablespace_extent_size";
2969 return "internal_tablespace_initial_size";
2989 return "internal_tablespace_maximum_size";
3009 return "internal_tablespace_autoextend_size";
3029 return "internal_tablespace_version";
3049 return "internal_tablespace_data_free";
3083 pointer_cast<Check_function_as_value_generator_parameters *>(
3086 ? ER_CHECK_CONSTRAINT_VARIABLES
3087 : ER_DEFAULT_VAL_GENERATED_VARIABLES;
3287 double val_real(
bool *null_value)
const;
3336 bool check(
bool use_result_field);
3346 const char *
func_name()
const override {
return "set_user_var"; }
3349 bool can_use_result_field);
3360 bool no_conversions)
override {
3395 const char *
func_name()
const override {
return "get_user_var"; }
3451#define GET_SYS_VAR_CACHE_LONG 1
3452#define GET_SYS_VAR_CACHE_DOUBLE 2
3453#define GET_SYS_VAR_CACHE_STRING 4
3498 template <
typename T>
3525 const char *
func_name()
const override {
return "get_system_var"; }
3621 pointer_cast<Check_function_as_value_generator_parameters *>(
3679 double rows_in_table)
override;
3802 assert(tr && tr->
file);
3840 const char *
func_name()
const override {
return "is_free_lock"; }