Details
-
Bug
-
Status: Stalled (View Workflow)
-
Critical
-
Resolution: Unresolved
-
N/A
Description
We've seen this assertion failure before, but this time it seems to be related to
commit b254844ed197cfe0b305ff37442b03a4573ee931
|
Author: Monty
|
Date: Tue May 31 17:36:32 2022 +0300
|
|
Improve pruning in greedy_search by sorting tables during search
|
|
MDEV-28073 Slow query performance in MariaDB when using many tables
|
SET histogram_type= JSON_HB; |
|
CREATE TABLE t1 (a varchar(1)) ENGINE=MyISAM; |
|
INSERT INTO t1 VALUES ('o'),('s'),('j'),('s'),('y'),('s'),('l'), |
('q'),('x'),('m'),('t'),('d'),('v'),('j'),('p'),('t'),('b'),('q'); |
|
CREATE TABLE t2 (b varchar(1), c int, KEY(b), KEY(c)) ENGINE=MyISAM; |
INSERT INTO t2 VALUES ('r',NULL),('a',NULL),('r',1); |
|
ANALYZE TABLE t1, t2 PERSISTENT FOR ALL; |
SELECT * FROM t1 JOIN t2 ON a = b WHERE a > 'y' AND c != 9; |
|
DROP TABLE t1, t2; |
preview-10.10-MDEV-28852-optimizer a81e3e159 |
sql/sql_select.cc:8324: void best_access_path(JOIN*, JOIN_TAB*, table_map, const POSITION*, uint, bool, double, POSITION*, POSITION*): Assertion `tmp >= 0' failed.
|
220617 21:53:29 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f3d62e4d662 in __GI___assert_fail (assertion=0x56272d6d1b2f "tmp >= 0", file=0x56272d6d00c0 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc", line=8324, function=0x56272d6d1a28 "void best_access_path(JOIN*, JOIN_TAB*, table_map, const POSITION*, uint, bool, double, POSITION*, POSITION*)") at assert.c:101
|
No locals.
|
#8 0x000056272bf2dca3 in best_access_path (join=0x7f3d4c0187e0, s=0x7f3d4c064700, remaining_tables=2, join_positions=0x7f3d4c064cd8, idx=1, disable_jbuf=false, record_count=1.7976931348623153e+308, pos=0x7f3d4c0653d8, loose_scan_pos=0x7f3d4c0654d8) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc:8324
|
rows = inf
|
access_cost_factor = 0
|
found_part = 1
|
key = 0
|
keyinfo = 0x7f3d4c05a060
|
key_parts = 1
|
notnull_part = 1
|
found_ref = 1
|
ft_key = false
|
ref_or_null_part = 0
|
key_flags = 64
|
const_part = 0
|
all_parts = 1
|
trace_access_idx = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c308 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
keyuse = 0x7f3d4c065ce8
|
max_key_part = 4294967295
|
start_key = 0x7f3d4c065c90
|
table = 0x7f3d4c203538
|
best_records = 1.7976931348623157e+308
|
thd = 0x7f3d4c000db8
|
use_cond_selectivity = 4
|
best_key = 0x0
|
best_max_key_part = 0
|
found_constraint = 1 '\001'
|
best = 1.7976931348623157e+308
|
best_time = 1.7976931348623157e+308
|
records = 1.5
|
best_ref_depends_map = 0
|
key_dependent = 0
|
best_filter = 0x0
|
tmp = -nan(0x8000000000000)
|
rec = 10
|
best_uses_jbuf = false
|
eq_join_set = 0x7f3d4c2036c8
|
hj_start_key = 0x0
|
spl_plan = 0x0
|
filter = 0x7f3d4c066628
|
cause = 0x0
|
best_type = JT_UNKNOWN
|
type = JT_REF
|
loose_scan_opt = {try_loosescan = false, bound_sj_equalities = 0, handled_sj_equalities = 0, loose_scan_keyparts = 0, max_loose_keypart = 0, part1_conds_met = false, quick_uses_applicable_index = 0, quick_max_loose_keypart = 0, best_loose_scan_key = 0, best_loose_scan_cost = 1.7976931348623157e+308, best_loose_scan_records = 0, best_loose_scan_start_key = 0x0, best_max_loose_keypart = 0, best_ref_depend_map = 0}
|
_db_stack_frame_ = {func = 0x56272d6d1e22 "get_plans_for_tables", file = 0x56272d6d00c0 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc", level = 2147483662, line = -1, prev = 0x7f3d5d7f5d40}
|
trace_wrapper = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c308 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
trace_paths = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c2e8 <vtable for Json_writer_array+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
__PRETTY_FUNCTION__ = "void best_access_path(JOIN*, JOIN_TAB*, table_map, const POSITION*, uint, bool, double, POSITION*, POSITION*)"
|
trace_access_scan = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c308 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
#9 0x000056272bf354d3 in get_costs_for_tables (join=0x7f3d4c0187e0, remaining_tables=2, idx=1, record_count=1.7976931348623153e+308, trace_one_table=0x7f3d5d7f5ef0, pos=0x7f3d4c064ca8, store_position=0x7f3d5d7f5e28, allowed_tables=0x7f3d5d7f5e38, stop_on_eq_ref=false) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc:10036
|
wrapper = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c308 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
real_table_bit = 2
|
thd = 0x7f3d4c000db8
|
sort_position = 0x7f3d4c0653d8
|
sort_end = 0x7f3d5d7f5db0
|
s = 0x7f3d4c064700
|
found_tables = 0
|
found_eq_ref = false
|
disable_jbuf = false
|
_db_stack_frame_ = {func = 0x56272d6d1f70 "best_extension_by_limited_search", file = 0x56272d6d00c0 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc", level = 2147483661, line = -1, prev = 0x7f3d5d7f5ed0}
|
__PRETTY_FUNCTION__ = "bool get_costs_for_tables(JOIN*, table_map, uint, double, Json_writer_object*, JOIN_TAB**, SORT_POSITION**, table_map*, bool)"
|
#10 0x000056272bf36387 in best_extension_by_limited_search (join=0x7f3d4c0187e0, remaining_tables=2, idx=1, record_count=1.7976931348623153e+308, read_time=3.5953862697246305e+307, search_depth=61, prune_level=2, use_cond_selectivity=4, processed_eq_ref_tables=0x7f3d5d7f5ff0) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc:10299
|
table_map = 2
|
trace_one_table = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c308 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
best_ref = 0x7f3d4c064ca8
|
arr = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c2e8 <vtable for Json_writer_array+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
thd = 0x7f3d4c000db8
|
s = 0x4c064cb0
|
best_record_count = 1.7976931348623157e+308
|
best_read_time = 1.7976931348623157e+308
|
best_res = SEARCH_OK
|
tables_left = 1
|
found_tables = 0
|
accepted_tables = 32512
|
found_eq_ref_tables = 0
|
used_eq_ref_table = 0
|
allowed_tables = 2
|
allowed_current_tables = 2
|
sort = 0x7f3d5d7f5db0
|
sort_end = 0x7f3d5d7f5db0
|
_db_stack_frame_ = {func = 0x56272d6d1f70 "best_extension_by_limited_search", file = 0x56272d6d00c0 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc", level = 2147483660, line = -1, prev = 0x7f3d5d7f60a0}
|
__PRETTY_FUNCTION__ = "enum_best_search best_extension_by_limited_search(JOIN*, table_map, uint, double, double, uint, uint, uint, table_map*)"
|
#11 0x000056272bf3751f in best_extension_by_limited_search (join=0x7f3d4c0187e0, remaining_tables=3, idx=0, record_count=1, read_time=0, search_depth=62, prune_level=2, use_cond_selectivity=4, processed_eq_ref_tables=0x7f3d5d7f6178) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc:10446
|
trace_rest = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c2e8 <vtable for Json_writer_array+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
trace_one_table = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c308 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
filter_cmp_gain = 0
|
pushdown_cond_selectivity = 1
|
real_table_bit = 1
|
current_record_count = 1.7976931348623153e+308
|
current_read_time = 3.5953862697246305e+307
|
partial_join_cardinality = 1.7976931348623153e+308
|
position = 0x7f3d4c064cd8
|
loose_scan_pos = 0x7f3d4c0652d8
|
pos = 0x7f3d5d7f5f70
|
thd = 0x7f3d4c000db8
|
s = 0x7f3d4c064348
|
best_record_count = 1.7976931348623153e+308
|
best_read_time = 3.5953862697246305e+307
|
best_res = 1275071712
|
tables_left = 2
|
found_tables = 2
|
accepted_tables = 1
|
found_eq_ref_tables = 0
|
used_eq_ref_table = 0
|
allowed_tables = 3
|
allowed_current_tables = 3
|
sort = 0x7f3d5d7f5f70
|
sort_end = 0x7f3d5d7f5f90
|
_db_stack_frame_ = {func = 0x56272d6d1d33 "greedy_search", file = 0x56272d6d00c0 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc", level = 2147483659, line = -1, prev = 0x7f3d5d7f61b0}
|
__PRETTY_FUNCTION__ = "enum_best_search best_extension_by_limited_search(JOIN*, table_map, uint, double, double, uint, uint, uint, table_map*)"
|
#12 0x000056272bf322c9 in greedy_search (join=0x7f3d4c0187e0, remaining_tables=3, search_depth=62, prune_level=2, use_cond_selectivity=4) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc:9282
|
is_interleave_error = false
|
pos = 0x7f3d5d7f61c0
|
record_count = 1
|
read_time = 0
|
idx = 0
|
best_idx = 0
|
size_remain = 2
|
usable_tables = 3
|
eq_ref_tables = 0
|
best_pos = {table = 0x0, records_read = 0, cond_selectivity = 0, read_time = 0, prefix_record_count = 0, prefix_cost = 2.7519649000858304e-314, key = 0x0, spl_plan = 0x0, range_rowid_filter_info = 0x0, ref_depend_map = 0, key_dependent = 0, dups_producing_tables = 0, inner_tables_handled_with_other_sjs = 0, dups_weedout_picker = {<Semi_join_strategy_picker> = {_vptr.Semi_join_strategy_picker = 0x56272e03ad80 <vtable for Duplicate_weedout_picker+16>}, first_dupsweedout_table = 61, dupsweedout_tables = 0, is_used = false}, firstmatch_picker = {<Semi_join_strategy_picker> = {_vptr.Semi_join_strategy_picker = 0x56272e03adc0 <vtable for Firstmatch_picker+16>}, first_firstmatch_table = 61, first_firstmatch_rtbl = 139901538362208, firstmatch_need_tables = 139901538362032, is_used = false}, loosescan_picker = {<Semi_join_strategy_picker> = {_vptr.Semi_join_strategy_picker = 0x56272e03ae00 <vtable for LooseScan_picker+16>}, first_loosescan_table = 61, loosescan_need_tables = 0, loosescan_key = 1568629600, loosescan_parts = 32573, is_used = false}, sjmat_picker = {<Semi_join_strategy_picker> = {_vptr.Semi_join_strategy_picker = 0x56272e03ae40 <vtable for Sj_materialization_picker+16>}, is_used = false, sjm_scan_last_inner = 0, sjm_scan_need_tables = 0}, sj_strategy = SJ_OPT_NONE, type = JT_UNKNOWN, n_sj_tables = 0, use_join_buffer = false}
|
best_table = 0x56272d73ce4f
|
n_tables = 2
|
_db_stack_frame_ = {func = 0x56272d6d1c2f "choose_plan", file = 0x56272d6d00c0 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc", level = 2147483658, line = -1, prev = 0x7f3d5d7f6320}
|
__PRETTY_FUNCTION__ = "bool greedy_search(JOIN*, table_map, uint, uint, uint)"
|
#13 0x000056272bf30ea5 in choose_plan (join=0x7f3d4c0187e0, join_tables=3) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc:8847
|
search_depth = 62
|
prune_level = 2
|
use_cond_selectivity = 4
|
straight_join = false
|
thd = 0x7f3d4c000db8
|
_db_stack_frame_ = {func = 0x56272d6d137b "make_join_statistics", file = 0x56272d6d00c0 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc", level = 2147483657, line = -1, prev = 0x7f3d5d7f6570}
|
jtab_sort_func = 0x56272bf3130f <join_tab_cmp(void const*, void const*, void const*)>
|
wrapper = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c308 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
trace_plan = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c2e8 <vtable for Json_writer_array+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
__PRETTY_FUNCTION__ = "bool choose_plan(JOIN*, table_map)"
|
#14 0x000056272bf2213b in make_join_statistics (join=0x7f3d4c0187e0, tables_list=@0x7f3d4c015750: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7f3d4c018db8, last = 0x7f3d4c018dc8, elements = 2}, <No data fields>}, keyuse_array=0x7f3d4c018b20) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc:5968
|
records = 1
|
unit = 0x7f3d4c0051e8
|
error = 0
|
table = 0x7f3d4c203538
|
i = 2
|
table_count = 2
|
const_count = 0
|
key = 0
|
sort_space = 6
|
found_const_table_map = 0
|
all_table_map = 3
|
const_ref = {buffer = {0}}
|
eq_part = {buffer = {1}}
|
has_expensive_keyparts = false
|
table_vector = 0x7f3d4c064cb8
|
stat = 0x7f3d4c064348
|
stat_end = 0x7f3d4c064ab8
|
s = 0x7f3d4c064ab8
|
stat_ref = 0x7f3d4c064ab8
|
stat_vector = 0x7f3d4c064ca0
|
keyuse = 0x7f3d4c065ce8
|
start_keyuse = 0x7f3d4c065c90
|
outer_join = 0
|
no_rows_const_tables = 0
|
sargables = 0x7f3d4c065c80
|
ti = {<base_list_iterator> = {list = 0x7f3d4c015750, el = 0x56272ed103e0 <end_of_list>, prev = 0x7f3d4c018dc8, current = 0x56272ed103e0 <end_of_list>}, <No data fields>}
|
tables = 0x0
|
thd = 0x7f3d4c000db8
|
_db_stack_frame_ = {func = 0x56272d6d085d "JOIN::optimize_inner", file = 0x56272d6d00c0 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc", level = 2147483656, line = -1, prev = 0x7f3d5d7f66c0}
|
ref_changed = 0
|
__PRETTY_FUNCTION__ = "bool make_join_statistics(JOIN*, List<TABLE_LIST>&, DYNAMIC_ARRAY*)"
|
#15 0x000056272bf0b1cc in JOIN::optimize_inner (this=0x7f3d4c0187e0) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc:2511
|
_db_stack_frame_ = {func = 0x56272d6d12ff "mysql_select", file = 0x56272d6d00c0 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc", level = 2147483655, line = -1, prev = 0x7f3d5d7f6820}
|
trace_wrapper = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c308 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
trace_prepare = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c308 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
trace_steps = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x56272e01c2e8 <vtable for Json_writer_array+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
|
sel = 0x7f3d4c015538
|
eq_list = {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x56272ed103e0 <end_of_list>, last = 0x7f3d5d7f66a0, elements = 0}, <No data fields>}
|
ignore_on_expr = false
|
__PRETTY_FUNCTION__ = "int JOIN::optimize_inner()"
|
#16 0x000056272bf068f9 in JOIN::optimize (this=0x7f3d4c0187e0) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc:1850
|
res = 0
|
init_state = JOIN::NOT_OPTIMIZED
|
#17 0x000056272bf1c20b in mysql_select (thd=0x7f3d4c000db8, tables=0x7f3d4c015b10, fields=@0x7f3d4c0157d8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7f3d4c015ac8, last = 0x7f3d4c019178, elements = 3}, <No data fields>}, conds=0x7f3d4c017d28, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f3d4c0187b8, unit=0x7f3d4c0051e8, select_lex=0x7f3d4c015538) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc:5038
|
err = 0
|
free_join = true
|
_db_stack_frame_ = {func = 0x56272d6d01d0 "handle_select", file = 0x56272d6d00c0 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc", level = 2147483654, line = -1, prev = 0x7f3d5d7f68e0}
|
join = 0x7f3d4c0187e0
|
#18 0x000056272befcedf in handle_select (thd=0x7f3d4c000db8, lex=0x7f3d4c005110, result=0x7f3d4c0187b8, setup_tables_done_option=0) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_select.cc:583
|
unit = 0x7f3d4c0051e8
|
res = false
|
select_lex = 0x7f3d4c015538
|
_db_stack_frame_ = {func = 0x56272d6bb8a8 "mysql_execute_command", file = 0x56272d6bab40 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_parse.cc", level = 2147483653, line = -1, prev = 0x7f3d5d7f6f30}
|
#19 0x000056272be5384a in execute_sqlcom_select (thd=0x7f3d4c000db8, all_tables=0x7f3d4c015b10) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_parse.cc:6260
|
save_protocol = 0x0
|
lex = 0x7f3d4c005110
|
result = 0x7f3d4c0187b8
|
res = false
|
__PRETTY_FUNCTION__ = "bool execute_sqlcom_select(THD*, TABLE_LIST*)"
|
#20 0x000056272be4029f in mysql_execute_command (thd=0x7f3d4c000db8, is_called_from_prepared_stmt=false) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_parse.cc:3944
|
privileges_requested = SELECT_ACL
|
res = 0
|
up_result = 0
|
lex = 0x7f3d4c005110
|
select_lex = 0x7f3d4c015538
|
first_table = 0x7f3d4c015b10
|
all_tables = 0x7f3d4c015b10
|
unit = 0x7f3d4c0051e8
|
have_table_map_for_update = false
|
rpl_filter = 0x56272e021310 <vtable for Internal_error_handler+16>
|
_db_stack_frame_ = {func = 0x56272d6bcc3f "mysql_parse", file = 0x56272d6bab40 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_parse.cc", level = 2147483652, line = -1, prev = 0x7f3d5d7f7380}
|
__PRETTY_FUNCTION__ = "int mysql_execute_command(THD*, bool)"
|
ots = {ctx = 0x7f3d4c004da8, traceable = false}
|
orig_binlog_format = BINLOG_FORMAT_MIXED
|
orig_current_stmt_binlog_format = BINLOG_FORMAT_STMT
|
#21 0x000056272be5cc04 in mysql_parse (thd=0x7f3d4c000db8, rawbuf=0x7f3d4c015460 "SELECT * FROM t1 JOIN t2 ON a = b WHERE a > 'y' AND c != 9", length=58, parser_state=0x7f3d5d7f7500) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_parse.cc:8036
|
found_semicolon = 0x0
|
error = 32573
|
lex = 0x7f3d4c005110
|
err = false
|
_db_stack_frame_ = {func = 0x56272d6bb0e9 "dispatch_command", file = 0x56272d6bab40 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_parse.cc", level = 2147483651, line = -1, prev = 0x7f3d5d7f74e0}
|
__PRETTY_FUNCTION__ = "void mysql_parse(THD*, char*, uint, Parser_state*)"
|
#22 0x000056272be33f05 in dispatch_command (command=COM_QUERY, thd=0x7f3d4c000db8, packet=0x7f3d4c00b9e9 "SELECT * FROM t1 JOIN t2 ON a = b WHERE a > 'y' AND c != 9", packet_length=58, blocking=true) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_parse.cc:1894
|
packet_end = 0x7f3d4c01549a ""
|
parser_state = {m_lip = {lookahead_token = -1, lookahead_yylval = 0x0, m_thd = 0x7f3d4c000db8, m_ptr = 0x7f3d4c01549b "\004", m_tok_start = 0x7f3d4c01549b "\004", m_tok_end = 0x7f3d4c01549b "\004", m_end_of_query = 0x7f3d4c01549a "", m_tok_start_prev = 0x7f3d4c01549a "", m_buf = 0x7f3d4c015460 "SELECT * FROM t1 JOIN t2 ON a = b WHERE a > 'y' AND c != 9", m_buf_length = 58, m_echo = true, m_echo_saved = false, m_cpp_buf = 0x7f3d4c0154f8 "SELECT * FROM t1 JOIN t2 ON a = b WHERE a > 'y' AND c != 9", m_cpp_ptr = 0x7f3d4c015532 "", m_cpp_tok_start = 0x7f3d4c015532 "", m_cpp_tok_start_prev = 0x7f3d4c015532 "", m_cpp_tok_end = 0x7f3d4c015532 "", m_body_utf8 = 0x0, m_body_utf8_ptr = 0x14c000cb8 <error: Cannot access memory at address 0x14c000cb8>, m_cpp_utf8_processed_ptr = 0x0, next_state = MY_LEX_END, found_semicolon = 0x0, ignore_space = false, stmt_prepare_mode = false, multi_statements = true, yylineno = 1, m_digest = 0x0, in_comment = NO_COMMENT, in_comment_saved = (unknown: 0x10000), m_cpp_text_start = 0x7f3d4c015531 "9", m_cpp_text_end = 0x7f3d4c015532 "", m_underscore_cs = 0x0}, m_yacc = {yacc_yyss = 0x0, yacc_yyvs = 0x0, m_set_signal_info = {m_item = {0x0 <repeats 13 times>}}, m_lock_type = TL_READ_DEFAULT, m_mdl_type = MDL_SHARED_READ}, m_digest_psi = 0x7f3d4c004b38}
|
net = 0x7f3d4c0010f0
|
error = false
|
do_end_of_statement = true
|
_db_stack_frame_ = {func = 0x56272d6bad6d "do_command", file = 0x56272d6bab40 "/data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_parse.cc", level = 2147483650, line = -1, prev = 0x7f3d5d7f7dc0}
|
drop_more_results = false
|
__PRETTY_FUNCTION__ = "dispatch_command_return dispatch_command(enum_server_command, THD*, char*, uint, bool)"
|
__FUNCTION__ = "dispatch_command"
|
res = <optimized out>
|
#23 0x000056272be310de in do_command (thd=0x7f3d4c000db8, blocking=true) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_parse.cc:1407
|
return_value = DISPATCH_COMMAND_SUCCESS
|
packet = 0x7f3d4c00b9e8 "\003SELECT * FROM t1 JOIN t2 ON a = b WHERE a > 'y' AND c != 9"
|
packet_length = 59
|
net = 0x7f3d4c0010f0
|
command = COM_QUERY
|
_db_stack_frame_ = {func = 0x56272db40749 "?func", file = 0x56272db4074f "?file", level = 2147483649, line = -1, prev = 0x0}
|
__PRETTY_FUNCTION__ = "dispatch_command_return do_command(THD*, bool)"
|
__FUNCTION__ = "do_command"
|
#24 0x000056272c19b9f7 in do_handle_one_connection (connect=0x562731f08f78, put_in_cache=true) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_connect.cc:1418
|
create_user = true
|
thr_create_utime = 1914121414503
|
thd = 0x7f3d4c000db8
|
__PRETTY_FUNCTION__ = "void do_handle_one_connection(CONNECT*, bool)"
|
#25 0x000056272c19b1fe in handle_one_connection (arg=0x562731f0b958) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/sql/sql_connect.cc:1312
|
connect = 0x562731f0b958
|
#26 0x000056272caa9fe7 in pfs_spawn_thread (arg=0x562731f08ae8) at /data/src/preview-10.10-MDEV-28852-optimizer-gcov-Jun17/storage/perfschema/pfs.cc:2201
|
typed_arg = 0x562731f08ae8
|
user_arg = 0x562731f0b958
|
user_start_routine = 0x56272c19b149 <handle_one_connection(void*)>
|
pfs = 0x7f3d627415c0
|
klass = 0x562731941540
|
#27 0x00007f3d63317ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
ret = <optimized out>
|
pd = <optimized out>
|
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139901538371328, -2832153553564932155, 140736454476238, 140736454476239, 139901538369408, 311296, 2794643718716975045, 2794744409914927045}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
|
not_first_call = 0
|
#28 0x00007f3d62f16def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Attachments
Issue Links
- relates to
-
MDEV-28852 Improve optimization of joins with many tables, including eq_ref tables
- Closed