diff options
Diffstat (limited to 'sql/item_create.cc')
-rw-r--r-- | sql/item_create.cc | 399 |
1 files changed, 201 insertions, 198 deletions
diff --git a/sql/item_create.cc b/sql/item_create.cc index f4990a8abdf..d11a2f84a0a 100644 --- a/sql/item_create.cc +++ b/sql/item_create.cc @@ -167,7 +167,7 @@ class Create_sp_func : public Create_qfunc { public: virtual Item* create(THD *thd, LEX_STRING db, LEX_STRING name, - List<Item> *item_list); + bool use_explicit_name, List<Item> *item_list); static Create_sp_func s_singleton; @@ -2316,7 +2316,7 @@ Create_qfunc::create(THD *thd, LEX_STRING name, List<Item> *item_list) if (thd->copy_db_to(&db.str, &db.length)) return NULL; - return create(thd, db, name, item_list); + return create(thd, db, name, false, item_list); } @@ -2433,7 +2433,7 @@ Create_sp_func Create_sp_func::s_singleton; Item* Create_sp_func::create(THD *thd, LEX_STRING db, LEX_STRING name, - List<Item> *item_list) + bool use_explicit_name, List<Item> *item_list) { int arg_count= 0; Item *func= NULL; @@ -2458,7 +2458,7 @@ Create_sp_func::create(THD *thd, LEX_STRING db, LEX_STRING name, if (item_list != NULL) arg_count= item_list->elements; - qname= new (thd->mem_root) sp_name(db, name); + qname= new (thd->mem_root) sp_name(db, name, use_explicit_name); qname->init_qname(thd); sp_add_used_routine(lex, thd, qname, TYPE_ENUM_FUNCTION); @@ -2877,9 +2877,6 @@ Create_func_convert_tz Create_func_convert_tz::s_singleton; Item* Create_func_convert_tz::create(THD *thd, Item *arg1, Item *arg2, Item *arg3) { - if (thd->lex->add_time_zone_tables_to_query_tables(thd)) - return NULL; - return new (thd->mem_root) Item_func_convert_tz(arg1, arg2, arg3); } @@ -4684,197 +4681,203 @@ struct Native_func_registry static Native_func_registry func_array[] = { - { { STRING_WITH_LEN("ABS") }, BUILDER(Create_func_abs)}, - { { STRING_WITH_LEN("ACOS") }, BUILDER(Create_func_acos)}, - { { STRING_WITH_LEN("ADDTIME") }, BUILDER(Create_func_addtime)}, - { { STRING_WITH_LEN("AES_DECRYPT") }, BUILDER(Create_func_aes_decrypt)}, - { { STRING_WITH_LEN("AES_ENCRYPT") }, BUILDER(Create_func_aes_encrypt)}, - { { STRING_WITH_LEN("AREA") }, GEOM_BUILDER(Create_func_area)}, - { { STRING_WITH_LEN("ASBINARY") }, GEOM_BUILDER(Create_func_as_wkb)}, - { { STRING_WITH_LEN("ASIN") }, BUILDER(Create_func_asin)}, - { { STRING_WITH_LEN("ASTEXT") }, GEOM_BUILDER(Create_func_as_wkt)}, - { { STRING_WITH_LEN("ASWKB") }, GEOM_BUILDER(Create_func_as_wkb)}, - { { STRING_WITH_LEN("ASWKT") }, GEOM_BUILDER(Create_func_as_wkt)}, - { { STRING_WITH_LEN("ATAN") }, BUILDER(Create_func_atan)}, - { { STRING_WITH_LEN("ATAN2") }, BUILDER(Create_func_atan)}, - { { STRING_WITH_LEN("BENCHMARK") }, BUILDER(Create_func_benchmark)}, - { { STRING_WITH_LEN("BIN") }, BUILDER(Create_func_bin)}, - { { STRING_WITH_LEN("BIT_COUNT") }, BUILDER(Create_func_bit_count)}, - { { STRING_WITH_LEN("BIT_LENGTH") }, BUILDER(Create_func_bit_length)}, - { { STRING_WITH_LEN("CEIL") }, BUILDER(Create_func_ceiling)}, - { { STRING_WITH_LEN("CEILING") }, BUILDER(Create_func_ceiling)}, - { { STRING_WITH_LEN("CENTROID") }, GEOM_BUILDER(Create_func_centroid)}, - { { STRING_WITH_LEN("CHARACTER_LENGTH") }, BUILDER(Create_func_char_length)}, - { { STRING_WITH_LEN("CHAR_LENGTH") }, BUILDER(Create_func_char_length)}, - { { STRING_WITH_LEN("COERCIBILITY") }, BUILDER(Create_func_coercibility)}, - { { STRING_WITH_LEN("COMPRESS") }, BUILDER(Create_func_compress)}, - { { STRING_WITH_LEN("CONCAT") }, BUILDER(Create_func_concat)}, - { { STRING_WITH_LEN("CONCAT_WS") }, BUILDER(Create_func_concat_ws)}, - { { STRING_WITH_LEN("CONNECTION_ID") }, BUILDER(Create_func_connection_id)}, - { { STRING_WITH_LEN("CONV") }, BUILDER(Create_func_conv)}, - { { STRING_WITH_LEN("CONVERT_TZ") }, BUILDER(Create_func_convert_tz)}, - { { STRING_WITH_LEN("COS") }, BUILDER(Create_func_cos)}, - { { STRING_WITH_LEN("COT") }, BUILDER(Create_func_cot)}, - { { STRING_WITH_LEN("CRC32") }, BUILDER(Create_func_crc32)}, - { { STRING_WITH_LEN("CROSSES") }, GEOM_BUILDER(Create_func_crosses)}, - { { STRING_WITH_LEN("DATEDIFF") }, BUILDER(Create_func_datediff)}, - { { STRING_WITH_LEN("DATE_FORMAT") }, BUILDER(Create_func_date_format)}, - { { STRING_WITH_LEN("DAYNAME") }, BUILDER(Create_func_dayname)}, - { { STRING_WITH_LEN("DAYOFMONTH") }, BUILDER(Create_func_dayofmonth)}, - { { STRING_WITH_LEN("DAYOFWEEK") }, BUILDER(Create_func_dayofweek)}, - { { STRING_WITH_LEN("DAYOFYEAR") }, BUILDER(Create_func_dayofyear)}, - { { STRING_WITH_LEN("DECODE") }, BUILDER(Create_func_decode)}, - { { STRING_WITH_LEN("DEGREES") }, BUILDER(Create_func_degrees)}, - { { STRING_WITH_LEN("DES_DECRYPT") }, BUILDER(Create_func_des_decrypt)}, - { { STRING_WITH_LEN("DES_ENCRYPT") }, BUILDER(Create_func_des_encrypt)}, - { { STRING_WITH_LEN("DIMENSION") }, GEOM_BUILDER(Create_func_dimension)}, - { { STRING_WITH_LEN("DISJOINT") }, GEOM_BUILDER(Create_func_disjoint)}, - { { STRING_WITH_LEN("ELT") }, BUILDER(Create_func_elt)}, - { { STRING_WITH_LEN("ENCODE") }, BUILDER(Create_func_encode)}, - { { STRING_WITH_LEN("ENCRYPT") }, BUILDER(Create_func_encrypt)}, - { { STRING_WITH_LEN("ENDPOINT") }, GEOM_BUILDER(Create_func_endpoint)}, - { { STRING_WITH_LEN("ENVELOPE") }, GEOM_BUILDER(Create_func_envelope)}, - { { STRING_WITH_LEN("EQUALS") }, GEOM_BUILDER(Create_func_equals)}, - { { STRING_WITH_LEN("EXP") }, BUILDER(Create_func_exp)}, - { { STRING_WITH_LEN("EXPORT_SET") }, BUILDER(Create_func_export_set)}, - { { STRING_WITH_LEN("EXTERIORRING") }, GEOM_BUILDER(Create_func_exteriorring)}, - { { STRING_WITH_LEN("EXTRACTVALUE") }, BUILDER(Create_func_xml_extractvalue)}, - { { STRING_WITH_LEN("FIELD") }, BUILDER(Create_func_field)}, - { { STRING_WITH_LEN("FIND_IN_SET") }, BUILDER(Create_func_find_in_set)}, - { { STRING_WITH_LEN("FLOOR") }, BUILDER(Create_func_floor)}, - { { STRING_WITH_LEN("FORMAT") }, BUILDER(Create_func_format)}, - { { STRING_WITH_LEN("FOUND_ROWS") }, BUILDER(Create_func_found_rows)}, - { { STRING_WITH_LEN("FROM_DAYS") }, BUILDER(Create_func_from_days)}, - { { STRING_WITH_LEN("FROM_UNIXTIME") }, BUILDER(Create_func_from_unixtime)}, - { { STRING_WITH_LEN("GEOMCOLLFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("GEOMCOLLFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("GEOMETRYCOLLECTIONFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("GEOMETRYCOLLECTIONFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("GEOMETRYFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("GEOMETRYFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("GEOMETRYN") }, GEOM_BUILDER(Create_func_geometryn)}, - { { STRING_WITH_LEN("GEOMETRYTYPE") }, GEOM_BUILDER(Create_func_geometry_type)}, - { { STRING_WITH_LEN("GEOMFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("GEOMFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("GET_LOCK") }, BUILDER(Create_func_get_lock)}, - { { STRING_WITH_LEN("GLENGTH") }, GEOM_BUILDER(Create_func_glength)}, - { { STRING_WITH_LEN("GREATEST") }, BUILDER(Create_func_greatest)}, - { { STRING_WITH_LEN("HEX") }, BUILDER(Create_func_hex)}, - { { STRING_WITH_LEN("IFNULL") }, BUILDER(Create_func_ifnull)}, - { { STRING_WITH_LEN("INET_ATON") }, BUILDER(Create_func_inet_aton)}, - { { STRING_WITH_LEN("INET_NTOA") }, BUILDER(Create_func_inet_ntoa)}, - { { STRING_WITH_LEN("INSTR") }, BUILDER(Create_func_instr)}, - { { STRING_WITH_LEN("INTERIORRINGN") }, GEOM_BUILDER(Create_func_interiorringn)}, - { { STRING_WITH_LEN("INTERSECTS") }, GEOM_BUILDER(Create_func_intersects)}, - { { STRING_WITH_LEN("ISCLOSED") }, GEOM_BUILDER(Create_func_isclosed)}, - { { STRING_WITH_LEN("ISEMPTY") }, GEOM_BUILDER(Create_func_isempty)}, - { { STRING_WITH_LEN("ISNULL") }, BUILDER(Create_func_isnull)}, - { { STRING_WITH_LEN("ISSIMPLE") }, GEOM_BUILDER(Create_func_issimple)}, - { { STRING_WITH_LEN("IS_FREE_LOCK") }, BUILDER(Create_func_is_free_lock)}, - { { STRING_WITH_LEN("IS_USED_LOCK") }, BUILDER(Create_func_is_used_lock)}, - { { STRING_WITH_LEN("LAST_DAY") }, BUILDER(Create_func_last_day)}, - { { STRING_WITH_LEN("LAST_INSERT_ID") }, BUILDER(Create_func_last_insert_id)}, - { { STRING_WITH_LEN("LCASE") }, BUILDER(Create_func_lcase)}, - { { STRING_WITH_LEN("LEAST") }, BUILDER(Create_func_least)}, - { { STRING_WITH_LEN("LENGTH") }, BUILDER(Create_func_length)}, - { { STRING_WITH_LEN("LINEFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("LINEFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("LINESTRINGFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("LINESTRINGFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("LN") }, BUILDER(Create_func_ln)}, - { { STRING_WITH_LEN("LOAD_FILE") }, BUILDER(Create_func_load_file)}, - { { STRING_WITH_LEN("LOCATE") }, BUILDER(Create_func_locate)}, - { { STRING_WITH_LEN("LOG") }, BUILDER(Create_func_log)}, - { { STRING_WITH_LEN("LOG10") }, BUILDER(Create_func_log10)}, - { { STRING_WITH_LEN("LOG2") }, BUILDER(Create_func_log2)}, - { { STRING_WITH_LEN("LOWER") }, BUILDER(Create_func_lcase)}, - { { STRING_WITH_LEN("LPAD") }, BUILDER(Create_func_lpad)}, - { { STRING_WITH_LEN("LTRIM") }, BUILDER(Create_func_ltrim)}, - { { STRING_WITH_LEN("MAKEDATE") }, BUILDER(Create_func_makedate)}, - { { STRING_WITH_LEN("MAKETIME") }, BUILDER(Create_func_maketime)}, - { { STRING_WITH_LEN("MAKE_SET") }, BUILDER(Create_func_make_set)}, - { { STRING_WITH_LEN("MASTER_POS_WAIT") }, BUILDER(Create_func_master_pos_wait)}, - { { STRING_WITH_LEN("MBRCONTAINS") }, GEOM_BUILDER(Create_func_contains)}, - { { STRING_WITH_LEN("MD5") }, BUILDER(Create_func_md5)}, - { { STRING_WITH_LEN("MLINEFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("MLINEFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("MONTHNAME") }, BUILDER(Create_func_monthname)}, - { { STRING_WITH_LEN("MPOINTFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("MPOINTFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("MPOLYFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("MPOLYFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("MULTILINESTRINGFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("MULTILINESTRINGFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("MULTIPOINTFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("MULTIPOINTFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("MULTIPOLYGONFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("MULTIPOLYGONFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("NAME_CONST") }, BUILDER(Create_func_name_const)}, - { { STRING_WITH_LEN("NULLIF") }, BUILDER(Create_func_nullif)}, - { { STRING_WITH_LEN("NUMGEOMETRIES") }, GEOM_BUILDER(Create_func_numgeometries)}, - { { STRING_WITH_LEN("NUMINTERIORRINGS") }, GEOM_BUILDER(Create_func_numinteriorring)}, - { { STRING_WITH_LEN("NUMPOINTS") }, GEOM_BUILDER(Create_func_numpoints)}, - { { STRING_WITH_LEN("OCT") }, BUILDER(Create_func_oct)}, - { { STRING_WITH_LEN("OCTET_LENGTH") }, BUILDER(Create_func_length)}, - { { STRING_WITH_LEN("ORD") }, BUILDER(Create_func_ord)}, - { { STRING_WITH_LEN("OVERLAPS") }, GEOM_BUILDER(Create_func_overlaps)}, - { { STRING_WITH_LEN("PERIOD_ADD") }, BUILDER(Create_func_period_add)}, - { { STRING_WITH_LEN("PERIOD_DIFF") }, BUILDER(Create_func_period_diff)}, - { { STRING_WITH_LEN("PI") }, BUILDER(Create_func_pi)}, - { { STRING_WITH_LEN("POINTFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("POINTFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("POINTN") }, GEOM_BUILDER(Create_func_pointn)}, - { { STRING_WITH_LEN("POLYFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("POLYFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("POLYGONFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, - { { STRING_WITH_LEN("POLYGONFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, - { { STRING_WITH_LEN("POW") }, BUILDER(Create_func_pow)}, - { { STRING_WITH_LEN("POWER") }, BUILDER(Create_func_pow)}, - { { STRING_WITH_LEN("QUOTE") }, BUILDER(Create_func_quote)}, - { { STRING_WITH_LEN("RADIANS") }, BUILDER(Create_func_radians)}, - { { STRING_WITH_LEN("RAND") }, BUILDER(Create_func_rand)}, - { { STRING_WITH_LEN("RELEASE_LOCK") }, BUILDER(Create_func_release_lock)}, - { { STRING_WITH_LEN("REVERSE") }, BUILDER(Create_func_reverse)}, - { { STRING_WITH_LEN("ROUND") }, BUILDER(Create_func_round)}, - { { STRING_WITH_LEN("ROW_COUNT") }, BUILDER(Create_func_row_count)}, - { { STRING_WITH_LEN("RPAD") }, BUILDER(Create_func_rpad)}, - { { STRING_WITH_LEN("RTRIM") }, BUILDER(Create_func_rtrim)}, - { { STRING_WITH_LEN("SEC_TO_TIME") }, BUILDER(Create_func_sec_to_time)}, - { { STRING_WITH_LEN("SHA") }, BUILDER(Create_func_sha)}, - { { STRING_WITH_LEN("SHA1") }, BUILDER(Create_func_sha)}, - { { STRING_WITH_LEN("SIGN") }, BUILDER(Create_func_sign)}, - { { STRING_WITH_LEN("SIN") }, BUILDER(Create_func_sin)}, - { { STRING_WITH_LEN("SLEEP") }, BUILDER(Create_func_sleep)}, - { { STRING_WITH_LEN("SOUNDEX") }, BUILDER(Create_func_soundex)}, - { { STRING_WITH_LEN("SPACE") }, BUILDER(Create_func_space)}, - { { STRING_WITH_LEN("SQRT") }, BUILDER(Create_func_sqrt)}, - { { STRING_WITH_LEN("SRID") }, GEOM_BUILDER(Create_func_srid)}, - { { STRING_WITH_LEN("STARTPOINT") }, GEOM_BUILDER(Create_func_startpoint)}, - { { STRING_WITH_LEN("STRCMP") }, BUILDER(Create_func_strcmp)}, - { { STRING_WITH_LEN("STR_TO_DATE") }, BUILDER(Create_func_str_to_date)}, - { { STRING_WITH_LEN("SUBSTRING_INDEX") }, BUILDER(Create_func_substr_index)}, - { { STRING_WITH_LEN("SUBTIME") }, BUILDER(Create_func_subtime)}, - { { STRING_WITH_LEN("TAN") }, BUILDER(Create_func_tan)}, - { { STRING_WITH_LEN("TIMEDIFF") }, BUILDER(Create_func_timediff)}, - { { STRING_WITH_LEN("TIME_FORMAT") }, BUILDER(Create_func_time_format)}, - { { STRING_WITH_LEN("TIME_TO_SEC") }, BUILDER(Create_func_time_to_sec)}, - { { STRING_WITH_LEN("TOUCHES") }, GEOM_BUILDER(Create_func_touches)}, - { { STRING_WITH_LEN("TO_DAYS") }, BUILDER(Create_func_to_days)}, - { { STRING_WITH_LEN("UCASE") }, BUILDER(Create_func_ucase)}, - { { STRING_WITH_LEN("UNCOMPRESS") }, BUILDER(Create_func_uncompress)}, - { { STRING_WITH_LEN("UNCOMPRESSED_LENGTH") }, BUILDER(Create_func_uncompressed_length)}, - { { STRING_WITH_LEN("UNHEX") }, BUILDER(Create_func_unhex)}, - { { STRING_WITH_LEN("UNIX_TIMESTAMP") }, BUILDER(Create_func_unix_timestamp)}, - { { STRING_WITH_LEN("UPDATEXML") }, BUILDER(Create_func_xml_update)}, - { { STRING_WITH_LEN("UPPER") }, BUILDER(Create_func_ucase)}, - { { STRING_WITH_LEN("UUID") }, BUILDER(Create_func_uuid)}, - { { STRING_WITH_LEN("VERSION") }, BUILDER(Create_func_version)}, - { { STRING_WITH_LEN("WEEKDAY") }, BUILDER(Create_func_weekday)}, - { { STRING_WITH_LEN("WEEKOFYEAR") }, BUILDER(Create_func_weekofyear)}, - { { STRING_WITH_LEN("WITHIN") }, GEOM_BUILDER(Create_func_within)}, - { { STRING_WITH_LEN("X") }, GEOM_BUILDER(Create_func_x)}, - { { STRING_WITH_LEN("Y") }, GEOM_BUILDER(Create_func_y)}, - { { STRING_WITH_LEN("YEARWEEK") }, BUILDER(Create_func_year_week)}, + { { C_STRING_WITH_LEN("ABS") }, BUILDER(Create_func_abs)}, + { { C_STRING_WITH_LEN("ACOS") }, BUILDER(Create_func_acos)}, + { { C_STRING_WITH_LEN("ADDTIME") }, BUILDER(Create_func_addtime)}, + { { C_STRING_WITH_LEN("AES_DECRYPT") }, BUILDER(Create_func_aes_decrypt)}, + { { C_STRING_WITH_LEN("AES_ENCRYPT") }, BUILDER(Create_func_aes_encrypt)}, + { { C_STRING_WITH_LEN("AREA") }, GEOM_BUILDER(Create_func_area)}, + { { C_STRING_WITH_LEN("ASBINARY") }, GEOM_BUILDER(Create_func_as_wkb)}, + { { C_STRING_WITH_LEN("ASIN") }, BUILDER(Create_func_asin)}, + { { C_STRING_WITH_LEN("ASTEXT") }, GEOM_BUILDER(Create_func_as_wkt)}, + { { C_STRING_WITH_LEN("ASWKB") }, GEOM_BUILDER(Create_func_as_wkb)}, + { { C_STRING_WITH_LEN("ASWKT") }, GEOM_BUILDER(Create_func_as_wkt)}, + { { C_STRING_WITH_LEN("ATAN") }, BUILDER(Create_func_atan)}, + { { C_STRING_WITH_LEN("ATAN2") }, BUILDER(Create_func_atan)}, + { { C_STRING_WITH_LEN("BENCHMARK") }, BUILDER(Create_func_benchmark)}, + { { C_STRING_WITH_LEN("BIN") }, BUILDER(Create_func_bin)}, + { { C_STRING_WITH_LEN("BIT_COUNT") }, BUILDER(Create_func_bit_count)}, + { { C_STRING_WITH_LEN("BIT_LENGTH") }, BUILDER(Create_func_bit_length)}, + { { C_STRING_WITH_LEN("CEIL") }, BUILDER(Create_func_ceiling)}, + { { C_STRING_WITH_LEN("CEILING") }, BUILDER(Create_func_ceiling)}, + { { C_STRING_WITH_LEN("CENTROID") }, GEOM_BUILDER(Create_func_centroid)}, + { { C_STRING_WITH_LEN("CHARACTER_LENGTH") }, BUILDER(Create_func_char_length)}, + { { C_STRING_WITH_LEN("CHAR_LENGTH") }, BUILDER(Create_func_char_length)}, + { { C_STRING_WITH_LEN("COERCIBILITY") }, BUILDER(Create_func_coercibility)}, + { { C_STRING_WITH_LEN("COMPRESS") }, BUILDER(Create_func_compress)}, + { { C_STRING_WITH_LEN("CONCAT") }, BUILDER(Create_func_concat)}, + { { C_STRING_WITH_LEN("CONCAT_WS") }, BUILDER(Create_func_concat_ws)}, + { { C_STRING_WITH_LEN("CONNECTION_ID") }, BUILDER(Create_func_connection_id)}, + { { C_STRING_WITH_LEN("CONV") }, BUILDER(Create_func_conv)}, + { { C_STRING_WITH_LEN("CONVERT_TZ") }, BUILDER(Create_func_convert_tz)}, + { { C_STRING_WITH_LEN("COS") }, BUILDER(Create_func_cos)}, + { { C_STRING_WITH_LEN("COT") }, BUILDER(Create_func_cot)}, + { { C_STRING_WITH_LEN("CRC32") }, BUILDER(Create_func_crc32)}, + { { C_STRING_WITH_LEN("CROSSES") }, GEOM_BUILDER(Create_func_crosses)}, + { { C_STRING_WITH_LEN("DATEDIFF") }, BUILDER(Create_func_datediff)}, + { { C_STRING_WITH_LEN("DATE_FORMAT") }, BUILDER(Create_func_date_format)}, + { { C_STRING_WITH_LEN("DAYNAME") }, BUILDER(Create_func_dayname)}, + { { C_STRING_WITH_LEN("DAYOFMONTH") }, BUILDER(Create_func_dayofmonth)}, + { { C_STRING_WITH_LEN("DAYOFWEEK") }, BUILDER(Create_func_dayofweek)}, + { { C_STRING_WITH_LEN("DAYOFYEAR") }, BUILDER(Create_func_dayofyear)}, + { { C_STRING_WITH_LEN("DECODE") }, BUILDER(Create_func_decode)}, + { { C_STRING_WITH_LEN("DEGREES") }, BUILDER(Create_func_degrees)}, + { { C_STRING_WITH_LEN("DES_DECRYPT") }, BUILDER(Create_func_des_decrypt)}, + { { C_STRING_WITH_LEN("DES_ENCRYPT") }, BUILDER(Create_func_des_encrypt)}, + { { C_STRING_WITH_LEN("DIMENSION") }, GEOM_BUILDER(Create_func_dimension)}, + { { C_STRING_WITH_LEN("DISJOINT") }, GEOM_BUILDER(Create_func_disjoint)}, + { { C_STRING_WITH_LEN("ELT") }, BUILDER(Create_func_elt)}, + { { C_STRING_WITH_LEN("ENCODE") }, BUILDER(Create_func_encode)}, + { { C_STRING_WITH_LEN("ENCRYPT") }, BUILDER(Create_func_encrypt)}, + { { C_STRING_WITH_LEN("ENDPOINT") }, GEOM_BUILDER(Create_func_endpoint)}, + { { C_STRING_WITH_LEN("ENVELOPE") }, GEOM_BUILDER(Create_func_envelope)}, + { { C_STRING_WITH_LEN("EQUALS") }, GEOM_BUILDER(Create_func_equals)}, + { { C_STRING_WITH_LEN("EXP") }, BUILDER(Create_func_exp)}, + { { C_STRING_WITH_LEN("EXPORT_SET") }, BUILDER(Create_func_export_set)}, + { { C_STRING_WITH_LEN("EXTERIORRING") }, GEOM_BUILDER(Create_func_exteriorring)}, + { { C_STRING_WITH_LEN("EXTRACTVALUE") }, BUILDER(Create_func_xml_extractvalue)}, + { { C_STRING_WITH_LEN("FIELD") }, BUILDER(Create_func_field)}, + { { C_STRING_WITH_LEN("FIND_IN_SET") }, BUILDER(Create_func_find_in_set)}, + { { C_STRING_WITH_LEN("FLOOR") }, BUILDER(Create_func_floor)}, + { { C_STRING_WITH_LEN("FORMAT") }, BUILDER(Create_func_format)}, + { { C_STRING_WITH_LEN("FOUND_ROWS") }, BUILDER(Create_func_found_rows)}, + { { C_STRING_WITH_LEN("FROM_DAYS") }, BUILDER(Create_func_from_days)}, + { { C_STRING_WITH_LEN("FROM_UNIXTIME") }, BUILDER(Create_func_from_unixtime)}, + { { C_STRING_WITH_LEN("GEOMCOLLFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("GEOMCOLLFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("GEOMETRYCOLLECTIONFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("GEOMETRYCOLLECTIONFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("GEOMETRYFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("GEOMETRYFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("GEOMETRYN") }, GEOM_BUILDER(Create_func_geometryn)}, + { { C_STRING_WITH_LEN("GEOMETRYTYPE") }, GEOM_BUILDER(Create_func_geometry_type)}, + { { C_STRING_WITH_LEN("GEOMFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("GEOMFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("GET_LOCK") }, BUILDER(Create_func_get_lock)}, + { { C_STRING_WITH_LEN("GLENGTH") }, GEOM_BUILDER(Create_func_glength)}, + { { C_STRING_WITH_LEN("GREATEST") }, BUILDER(Create_func_greatest)}, + { { C_STRING_WITH_LEN("HEX") }, BUILDER(Create_func_hex)}, + { { C_STRING_WITH_LEN("IFNULL") }, BUILDER(Create_func_ifnull)}, + { { C_STRING_WITH_LEN("INET_ATON") }, BUILDER(Create_func_inet_aton)}, + { { C_STRING_WITH_LEN("INET_NTOA") }, BUILDER(Create_func_inet_ntoa)}, + { { C_STRING_WITH_LEN("INSTR") }, BUILDER(Create_func_instr)}, + { { C_STRING_WITH_LEN("INTERIORRINGN") }, GEOM_BUILDER(Create_func_interiorringn)}, + { { C_STRING_WITH_LEN("INTERSECTS") }, GEOM_BUILDER(Create_func_intersects)}, + { { C_STRING_WITH_LEN("ISCLOSED") }, GEOM_BUILDER(Create_func_isclosed)}, + { { C_STRING_WITH_LEN("ISEMPTY") }, GEOM_BUILDER(Create_func_isempty)}, + { { C_STRING_WITH_LEN("ISNULL") }, BUILDER(Create_func_isnull)}, + { { C_STRING_WITH_LEN("ISSIMPLE") }, GEOM_BUILDER(Create_func_issimple)}, + { { C_STRING_WITH_LEN("IS_FREE_LOCK") }, BUILDER(Create_func_is_free_lock)}, + { { C_STRING_WITH_LEN("IS_USED_LOCK") }, BUILDER(Create_func_is_used_lock)}, + { { C_STRING_WITH_LEN("LAST_DAY") }, BUILDER(Create_func_last_day)}, + { { C_STRING_WITH_LEN("LAST_INSERT_ID") }, BUILDER(Create_func_last_insert_id)}, + { { C_STRING_WITH_LEN("LCASE") }, BUILDER(Create_func_lcase)}, + { { C_STRING_WITH_LEN("LEAST") }, BUILDER(Create_func_least)}, + { { C_STRING_WITH_LEN("LENGTH") }, BUILDER(Create_func_length)}, + { { C_STRING_WITH_LEN("LINEFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("LINEFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("LINESTRINGFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("LINESTRINGFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("LN") }, BUILDER(Create_func_ln)}, + { { C_STRING_WITH_LEN("LOAD_FILE") }, BUILDER(Create_func_load_file)}, + { { C_STRING_WITH_LEN("LOCATE") }, BUILDER(Create_func_locate)}, + { { C_STRING_WITH_LEN("LOG") }, BUILDER(Create_func_log)}, + { { C_STRING_WITH_LEN("LOG10") }, BUILDER(Create_func_log10)}, + { { C_STRING_WITH_LEN("LOG2") }, BUILDER(Create_func_log2)}, + { { C_STRING_WITH_LEN("LOWER") }, BUILDER(Create_func_lcase)}, + { { C_STRING_WITH_LEN("LPAD") }, BUILDER(Create_func_lpad)}, + { { C_STRING_WITH_LEN("LTRIM") }, BUILDER(Create_func_ltrim)}, + { { C_STRING_WITH_LEN("MAKEDATE") }, BUILDER(Create_func_makedate)}, + { { C_STRING_WITH_LEN("MAKETIME") }, BUILDER(Create_func_maketime)}, + { { C_STRING_WITH_LEN("MAKE_SET") }, BUILDER(Create_func_make_set)}, + { { C_STRING_WITH_LEN("MASTER_POS_WAIT") }, BUILDER(Create_func_master_pos_wait)}, + { { C_STRING_WITH_LEN("MBRCONTAINS") }, GEOM_BUILDER(Create_func_contains)}, + { { C_STRING_WITH_LEN("MBRDISJOINT") }, GEOM_BUILDER(Create_func_disjoint)}, + { { C_STRING_WITH_LEN("MBREQUAL") }, GEOM_BUILDER(Create_func_equals)}, + { { C_STRING_WITH_LEN("MBRINTERSECTS") }, GEOM_BUILDER(Create_func_intersects)}, + { { C_STRING_WITH_LEN("MBROVERLAPS") }, GEOM_BUILDER(Create_func_overlaps)}, + { { C_STRING_WITH_LEN("MBRTOUCHES") }, GEOM_BUILDER(Create_func_touches)}, + { { C_STRING_WITH_LEN("MBRWITHIN") }, GEOM_BUILDER(Create_func_within)}, + { { C_STRING_WITH_LEN("MD5") }, BUILDER(Create_func_md5)}, + { { C_STRING_WITH_LEN("MLINEFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("MLINEFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("MONTHNAME") }, BUILDER(Create_func_monthname)}, + { { C_STRING_WITH_LEN("MPOINTFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("MPOINTFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("MPOLYFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("MPOLYFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("MULTILINESTRINGFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("MULTILINESTRINGFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("MULTIPOINTFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("MULTIPOINTFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("MULTIPOLYGONFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("MULTIPOLYGONFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("NAME_CONST") }, BUILDER(Create_func_name_const)}, + { { C_STRING_WITH_LEN("NULLIF") }, BUILDER(Create_func_nullif)}, + { { C_STRING_WITH_LEN("NUMGEOMETRIES") }, GEOM_BUILDER(Create_func_numgeometries)}, + { { C_STRING_WITH_LEN("NUMINTERIORRINGS") }, GEOM_BUILDER(Create_func_numinteriorring)}, + { { C_STRING_WITH_LEN("NUMPOINTS") }, GEOM_BUILDER(Create_func_numpoints)}, + { { C_STRING_WITH_LEN("OCT") }, BUILDER(Create_func_oct)}, + { { C_STRING_WITH_LEN("OCTET_LENGTH") }, BUILDER(Create_func_length)}, + { { C_STRING_WITH_LEN("ORD") }, BUILDER(Create_func_ord)}, + { { C_STRING_WITH_LEN("OVERLAPS") }, GEOM_BUILDER(Create_func_overlaps)}, + { { C_STRING_WITH_LEN("PERIOD_ADD") }, BUILDER(Create_func_period_add)}, + { { C_STRING_WITH_LEN("PERIOD_DIFF") }, BUILDER(Create_func_period_diff)}, + { { C_STRING_WITH_LEN("PI") }, BUILDER(Create_func_pi)}, + { { C_STRING_WITH_LEN("POINTFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("POINTFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("POINTN") }, GEOM_BUILDER(Create_func_pointn)}, + { { C_STRING_WITH_LEN("POLYFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("POLYFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("POLYGONFROMTEXT") }, GEOM_BUILDER(Create_func_geometry_from_text)}, + { { C_STRING_WITH_LEN("POLYGONFROMWKB") }, GEOM_BUILDER(Create_func_geometry_from_wkb)}, + { { C_STRING_WITH_LEN("POW") }, BUILDER(Create_func_pow)}, + { { C_STRING_WITH_LEN("POWER") }, BUILDER(Create_func_pow)}, + { { C_STRING_WITH_LEN("QUOTE") }, BUILDER(Create_func_quote)}, + { { C_STRING_WITH_LEN("RADIANS") }, BUILDER(Create_func_radians)}, + { { C_STRING_WITH_LEN("RAND") }, BUILDER(Create_func_rand)}, + { { C_STRING_WITH_LEN("RELEASE_LOCK") }, BUILDER(Create_func_release_lock)}, + { { C_STRING_WITH_LEN("REVERSE") }, BUILDER(Create_func_reverse)}, + { { C_STRING_WITH_LEN("ROUND") }, BUILDER(Create_func_round)}, + { { C_STRING_WITH_LEN("ROW_COUNT") }, BUILDER(Create_func_row_count)}, + { { C_STRING_WITH_LEN("RPAD") }, BUILDER(Create_func_rpad)}, + { { C_STRING_WITH_LEN("RTRIM") }, BUILDER(Create_func_rtrim)}, + { { C_STRING_WITH_LEN("SEC_TO_TIME") }, BUILDER(Create_func_sec_to_time)}, + { { C_STRING_WITH_LEN("SHA") }, BUILDER(Create_func_sha)}, + { { C_STRING_WITH_LEN("SHA1") }, BUILDER(Create_func_sha)}, + { { C_STRING_WITH_LEN("SIGN") }, BUILDER(Create_func_sign)}, + { { C_STRING_WITH_LEN("SIN") }, BUILDER(Create_func_sin)}, + { { C_STRING_WITH_LEN("SLEEP") }, BUILDER(Create_func_sleep)}, + { { C_STRING_WITH_LEN("SOUNDEX") }, BUILDER(Create_func_soundex)}, + { { C_STRING_WITH_LEN("SPACE") }, BUILDER(Create_func_space)}, + { { C_STRING_WITH_LEN("SQRT") }, BUILDER(Create_func_sqrt)}, + { { C_STRING_WITH_LEN("SRID") }, GEOM_BUILDER(Create_func_srid)}, + { { C_STRING_WITH_LEN("STARTPOINT") }, GEOM_BUILDER(Create_func_startpoint)}, + { { C_STRING_WITH_LEN("STRCMP") }, BUILDER(Create_func_strcmp)}, + { { C_STRING_WITH_LEN("STR_TO_DATE") }, BUILDER(Create_func_str_to_date)}, + { { C_STRING_WITH_LEN("SUBSTRING_INDEX") }, BUILDER(Create_func_substr_index)}, + { { C_STRING_WITH_LEN("SUBTIME") }, BUILDER(Create_func_subtime)}, + { { C_STRING_WITH_LEN("TAN") }, BUILDER(Create_func_tan)}, + { { C_STRING_WITH_LEN("TIMEDIFF") }, BUILDER(Create_func_timediff)}, + { { C_STRING_WITH_LEN("TIME_FORMAT") }, BUILDER(Create_func_time_format)}, + { { C_STRING_WITH_LEN("TIME_TO_SEC") }, BUILDER(Create_func_time_to_sec)}, + { { C_STRING_WITH_LEN("TOUCHES") }, GEOM_BUILDER(Create_func_touches)}, + { { C_STRING_WITH_LEN("TO_DAYS") }, BUILDER(Create_func_to_days)}, + { { C_STRING_WITH_LEN("UCASE") }, BUILDER(Create_func_ucase)}, + { { C_STRING_WITH_LEN("UNCOMPRESS") }, BUILDER(Create_func_uncompress)}, + { { C_STRING_WITH_LEN("UNCOMPRESSED_LENGTH") }, BUILDER(Create_func_uncompressed_length)}, + { { C_STRING_WITH_LEN("UNHEX") }, BUILDER(Create_func_unhex)}, + { { C_STRING_WITH_LEN("UNIX_TIMESTAMP") }, BUILDER(Create_func_unix_timestamp)}, + { { C_STRING_WITH_LEN("UPDATEXML") }, BUILDER(Create_func_xml_update)}, + { { C_STRING_WITH_LEN("UPPER") }, BUILDER(Create_func_ucase)}, + { { C_STRING_WITH_LEN("UUID") }, BUILDER(Create_func_uuid)}, + { { C_STRING_WITH_LEN("VERSION") }, BUILDER(Create_func_version)}, + { { C_STRING_WITH_LEN("WEEKDAY") }, BUILDER(Create_func_weekday)}, + { { C_STRING_WITH_LEN("WEEKOFYEAR") }, BUILDER(Create_func_weekofyear)}, + { { C_STRING_WITH_LEN("WITHIN") }, GEOM_BUILDER(Create_func_within)}, + { { C_STRING_WITH_LEN("X") }, GEOM_BUILDER(Create_func_x)}, + { { C_STRING_WITH_LEN("Y") }, GEOM_BUILDER(Create_func_y)}, + { { C_STRING_WITH_LEN("YEARWEEK") }, BUILDER(Create_func_year_week)}, { {0, 0}, NULL} }; |