Hi all,
The following script crashs the server (built with last bb-10.2-ext sources).
use test;
CREATE or replace TABLE `gtfmt` (
`numgtfmt` char(10) COLLATE utf8_bin NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
create or replace view gtfmtl(numgtfmt)
as
select 'x' from gtfmt
union
select 'x' from gtfmt ;
SELECT * FROM gtfmtl WHERE numgtfmt = NAME_CONST('wnumgtfmt',_utf8'QEDITIONS' COLLATE 'utf8_bin');
Stack :
> mysqld.exe!my_sigabrt_handler(int sig) Line 488 C
mysqld.exe!raise(int signum) Line 516 C++
mysqld.exe!abort() Line 64 C++
mysqld.exe!common_assert_to_stderr_direct(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number) Line 123 C++
mysqld.exe!common_assert_to_stderr<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number) Line 142 C++
mysqld.exe!_wassert(const wchar_t * expression, const wchar_t * file_name, unsigned int line_number) Line 404 C++
mysqld.exe!Item_func::fix_fields(THD * thd, Item * * ref) Line 330 C++
mysqld.exe!Item_str_func::fix_fields(THD * thd, Item * * ref) Line 106 C++
mysqld.exe!Item_name_const::fix_fields(THD * thd, Item * * ref) Line 2186 C++
mysqld.exe!Item_func::fix_fields(THD * thd, Item * * ref) Line 361 C++
mysqld.exe!JOIN::optimize_inner() Line 1311 C++
mysqld.exe!JOIN::optimize() Line 1121 C++
mysqld.exe!st_select_lex_unit::optimize() Line 1344 C++
mysqld.exe!mysql_derived_optimize(THD * thd, LEX * lex, TABLE_LIST * derived) Line 887 C++
mysqld.exe!mysql_handle_single_derived(LEX * lex, TABLE_LIST * derived, unsigned int phases) Line 197 C++
mysqld.exe!JOIN::optimize_inner() Line 1356 C++
mysqld.exe!JOIN::optimize() Line 1121 C++
mysqld.exe!mysql_select(THD * thd, TABLE_LIST * tables, unsigned int wild_num, List<Item> & fields, Item * conds, unsigned int og_num, st_order * order, st_order * group, Item * having, st_order * proc_param,
unsigned __int64 select_options, select_result * result, st_select_lex_unit * unit, st_select_lex * select_lex) Line 3758 C++
mysqld.exe!handle_select(THD * thd, LEX * lex, select_result * result, unsigned long setup_tables_done_option) Line 364 C++
mysqld.exe!execute_sqlcom_select(THD * thd, TABLE_LIST * all_tables) Line 6473 C++
mysqld.exe!mysql_execute_command(THD * thd) Line 3717 C++
mysqld.exe!mysql_parse(THD * thd, char * rawbuf, unsigned int length, Parser_state * parser_state, bool is_com_multi, bool is_next_command) Line 7935 C++
mysqld.exe!dispatch_command(enum_server_command command, THD * thd, char * packet, unsigned int packet_length, bool is_com_multi, bool is_next_command) Line 1820 C++
mysqld.exe!do_command(THD * thd) Line 1369 C++
mysqld.exe!threadpool_process_request(THD * thd) Line 366 C++
mysqld.exe!tp_callback(TP_connection * c) Line 192 C++
mysqld.exe!tp_callback(_TP_CALLBACK_INSTANCE * instance, void * context) Line 377 C++
mysqld.exe!work_callback(_TP_CALLBACK_INSTANCE * instance, void * context, _TP_WORK * work) Line 451 C++
Best regard,
Jérôme.