Breakpoint 1, evaluate_join_record (join=0x8c91ae0, join_tab=0x8c9a448, error=0, report_error=0x8c7211c "") at sql_select.cc:9614 9614 bool not_exists_optimize= join_tab->table->reginfo.not_exists_optimize; (gdb) next 9615 bool not_used_in_distinct=join_tab->not_used_in_distinct; (gdb) 9616 ha_rows found_records=join->found_records; (gdb) 9617 COND *select_cond= join_tab->select_cond; (gdb) 9619 if (error > 0 || (*report_error)) // Fatal error (gdb) 9621 if (error < 0) (gdb) 9623 if (join->thd->killed) // Aborted by user (gdb) 9628 DBUG_PRINT("info", ("select cond 0x%lx", (ulong)select_cond)); (gdb) 9629 if (!select_cond || select_cond->val_int()) (gdb) 9635 bool found= 1; (gdb) 9636 while (join_tab->first_unmatched && found) (gdb) 9642 JOIN_TAB *first_unmatched= join_tab->first_unmatched; (gdb) 9648 first_unmatched->found= 1; (gdb) 9649 for (JOIN_TAB *tab= first_unmatched; tab <= join_tab; tab++) (gdb) 9657 if (tab->select_cond && !tab->select_cond->val_int()) (gdb) 9660 if (tab == join_tab) (gdb) 9661 found= 0; (gdb) p tab $2 = (JOIN_TAB *) 0x8c9a448 (gdb) p join_tab $3 = (JOIN_TAB *) 0x8c9a448 (gdb) p *tab->select_cond $5 = {_vptr.Item = 0x847d3e8, rsize = 0, str_value = {Ptr = 0x0, str_length = 0, Alloced_length = 0, alloced = false, str_charset = 0x8635820}, name = 0x0, orig_name = 0x0, next = 0x8c9a9a8, max_length = 21, name_length = 0, marker = 0 '\0', decimals = 0 '\0', maybe_null = 0 '\0', null_value = 0 '\0', unsigned_flag = 0 '\0', with_sum_func = 0 '\0', fixed = 1 '\001', is_autogenerated_name = 1 '\001', collation = {collation = 0x8635820, derivation = DERIVATION_COERCIBLE}} (gdb) p *join_tab->first_unmatched $7 = {table = 0x8c5a710, keyuse = 0x8c8ce78, select = 0x8c9a830, select_cond = 0x8c9aa18, quick = 0x0, on_expr_ref = 0x8c91338, cond_equal = 0x8c929a8, first_inner = 0x8c9a448, found = true, not_null_compl = true, last_inner = 0x8c9a448, first_upper = 0x0, first_unmatched = 0x8c9a448, info = 0x0, read_first_record = 0x820994e , next_select = 0x820a4a2 , read_record = { table = 0x8c5a710, file = 0x8c8ee98, forms = 0x0, read_record = 0x8209d04 , thd = 0x0, select = 0x0, cache_records = 0, ref_length = 0, struct_length = 0, reclength = 0, rec_cache_size = 0, error_offset = 0, index = 0, ref_pos = 0x0, record = 0x0, rec_buf = 0x0, cache = 0x0, cache_pos = 0x0, cache_end = 0x0, read_positions = 0x0, io_cache = 0x0, print_error = false, ignore_not_found_rows = false}, worst_seeks = 3, const_keys = {map = 0}, checked_keys = {map = 1}, needed_reg = {map = 0}, keys = {map = 1}, records = 61, found_records = 61, read_time = 1, dependent = 1, key_dependent = 1, use_quick = 0, index = 0, status = 0, used_fields = 0, used_fieldlength = 0, used_blobs = 0, type = JT_EQ_REF, cached_eq_ref_table = false, eq_ref_table = false, not_used_in_distinct = false, ref = {key_err = false, key_parts = 1, key_length = 4, key = 0, key_buff = 0x8c92e40 "\b", key_buff2 = 0x8c92e48 "", key_copy = 0x8c92e50, items = 0x8c92e58, null_rejecting = 0, depend_map = 1, null_ref_key = 0x0}, cache = {buff = 0x0, pos = 0x0, end = 0x0, records = 0, record_nr = 0, ptr_record = 0, fields = 0, length = 0, blobs = 0, field = 0x0, blob_ptr = 0x0, select = 0x0}, join = 0x8c91ae0, embedding_map = 0} (gdb) p *join_tab $8 = {table = 0x8c5a710, keyuse = 0x8c8ce78, select = 0x8c9a830, select_cond = 0x8c9aa18, quick = 0x0, on_expr_ref = 0x8c91338, cond_equal = 0x8c929a8, first_inner = 0x8c9a448, found = true, not_null_compl = true, last_inner = 0x8c9a448, first_upper = 0x0, first_unmatched = 0x8c9a448, info = 0x0, read_first_record = 0x820994e , next_select = 0x820a4a2 , read_record = { table = 0x8c5a710, file = 0x8c8ee98, forms = 0x0, read_record = 0x8209d04 , thd = 0x0, select = 0x0, cache_records = 0, ref_length = 0, struct_length = 0, reclength = 0, rec_cache_size = 0, error_offset = 0, index = 0, ref_pos = 0x0, record = 0x0, rec_buf = 0x0, cache = 0x0, cache_pos = 0x0, cache_end = 0x0, read_positions = 0x0, io_cache = 0x0, print_error = false, ignore_not_found_rows = false}, worst_seeks = 3, const_keys = {map = 0}, checked_keys = {map = 1}, needed_reg = {map = 0}, keys = {map = 1}, records = 61, found_records = 61, read_time = 1, dependent = 1, key_dependent = 1, use_quick = 0, index = 0, status = 0, used_fields = 0, used_fieldlength = 0, used_blobs = 0, type = JT_EQ_REF, cached_eq_ref_table = false, eq_ref_table = false, not_used_in_distinct = false, ref = {key_err = false, key_parts = 1, key_length = 4, key = 0, key_buff = 0x8c92e40 "\b", key_buff2 = 0x8c92e48 "", key_copy = 0x8c92e50, items = 0x8c92e58, null_rejecting = 0, depend_map = 1, null_ref_key = 0x0}, cache = {buff = 0x0, pos = 0x0, end = 0x0, records = 0, record_nr = 0, ptr_record = 0, fields = 0, length = 0, blobs = 0, field = 0x0, blob_ptr = 0x0, select = 0x0}, join = 0x8c91ae0, embedding_map = 0} (gdb) p *join_tab->table $9 = {s = 0x8c5ac1c, file = 0x8c8ee98, next = 0x8c5a088, prev = 0x8c5ba28, in_use = 0x8c716c0, field = 0x8c8efc0, record = {0x8c8f2d8 "\b", 0x8c8f3b8 '¥' ...}, insert_values = 0x0, quick_keys = {map = 0}, used_keys = {map = 1}, keys_in_use_for_query = {map = 1}, key_info = 0x8c8ee38, next_number_field = 0x0, found_next_number_field = 0x8c8f028, rowid_field = 0x8c8f028, timestamp_field = 0x0, triggers = 0x0, pos_in_table_list = 0x8c91318, group = 0x0, alias = 0x8c72f50 "mm", null_flags = 0x8c8f2d8 "\b", query_id = 0, quick_rows = {0 }, const_key_parts = {0 }, quick_key_parts = { 0 }, timestamp_field_type = TIMESTAMP_NO_AUTO_SET, map = 2, tablenr = 1, used_fields = 1, temp_pool_slot = 0, status = 0, db_stat = 8231, derived_select_number = 0, current_lock = 0, copy_blobs = 0 '\0', maybe_null = 1, null_row = 0 '\0', force_index = 0 '\0', distinct = 0 '\0', const_table = 0 '\0', no_rows = 0 '\0', key_read = 1 '\001', no_keyread = 0 '\0', locked_by_flush = 0 '\0', locked_by_name = 0 '\0', fulltext_searched = 0 '\0', no_cache = 0 '\0', clear_query_id = 0 '\0', auto_increment_field_not_null = 0 '\0', insert_or_update = 0 '\0', alias_name_used = 0 '\0', reginfo = {join_tab = 0x8c9a448, lock_type = TL_READ, not_exists_optimize = true, impossible_range = false}, mem_root = {free = 0x8c8f1e8, used = 0x8c8ee00, pre_alloc = 0x0, min_malloc = 32, block_size = 968, block_num = 6, first_block_usage = 0, error_handler = 0x81621ba }, grant = {grant_table = 0x0, version = 0, privilege = 1, want_privilege = 0, orig_want_privilege = 1}, sort = {io_cache = 0x0, addon_buf = 0x0, addon_length = 0, addon_field = 0x0, unpack = 0, record_pointers = 0x0, found_records = 0}, share_not_to_be_used = {name_hash = { key_offset = 0, key_length = 0, records = 0, blength = 0, current_record = 0, flags = 0, array = {buffer = 0x0, elements = 0, max_element = 0, alloc_increment = 0, size_of_element = 0}, get_key = 0, free = 0, charset = 0x0}, mem_root = {free = 0x0, used = 0x0, pre_alloc = 0x0, min_malloc = 0, block_size = 0, block_num = 0, first_block_usage = 0, error_handler = 0}, keynames = {count = 1, name = 0x0, type_names = 0x8c8eff0, type_lengths = 0x0}, fieldnames = {count = 5, name = 0x0, type_names = 0x8c8efd8, type_lengths = 0x0}, intervals = 0x0, blob_field = 0x8c8f1a8, default_values = 0x8c8f1f8 "", comment = 0x8c8efb8 "", table_charset = 0x8636840, table_cache_key = 0x8c8f500 "test", db = 0x8c8f500 "test", table_name = 0x8c8ee10 "mail_mails", path = 0x8c8ee20 "./test/mail_mails", connect_string = {str = 0x8c8ee90 "", length = 0}, keys_in_use = {map = 1}, keys_for_keyread = {map = 1}, avg_row_length = 0, raid_chunksize = 0, version = 1, flush_version = 1, mysql_version = 50017, timestamp_offset = 0, reclength = 223, min_rows = 0, max_rows = 0, db_type = DB_TYPE_INNODB, row_type = ROW_TYPE_DEFAULT, tmp_table = NO_TMP_TABLE, blob_ptr_size = 8, null_bytes = 0, last_null_bit_pos = 0, key_length = 16, fields = 5, rec_buff_length = 224, keys = 1, key_parts = 1, max_key_length = 5, max_unique_length = 4, total_key_length = 4, uniques = 0, null_fields = 0, blob_fields = 1, varchar_fields = 1, db_create_options = 9, db_options_in_use = 9, db_record_offset = 1, raid_type = 0, raid_chunks = 0, open_count = 0, primary_key = 0, timestamp_field_offset = 0, next_number_index = 0, next_number_key_offset = 0, frm_version = 10 '\n', system = 0 '\0', crypted = 0 '\0', ---Type to continue, or q to quit--- db_low_byte_first = 1 '\001', crashed = 0 '\0', is_view = 0 '\0', name_lock = 0 '\0', replace_with_name_lock = 0 '\0', system_table = 0 '\0'}} (gdb) p *join $10 = { = {}, join_tab = 0x8c9a2d8, best_ref = 0x90829310, map2table = 0x8c92ca8, join_tab_save = 0x0, table = 0x8c92da0, all_tables = 0x8c92da0, sort_by_table = 0x0, tables = 2, const_tables = 0, send_group_parts = 0, sort_and_group = false, first_record = false, full_join = false, group = false, no_field_update = 143, do_send_rows = true, resume_nested_loop = false, const_table_map = 0, found_const_table_map = 0, outer_join = 2, send_records = 0, found_records = 0, examined_rows = 1, row_limit = 18446744073709551615, select_limit = 18446744073709551615, fetch_limit = 18446744073709551615, positions = {{records_read = 105, read_time = 1, table = 0x8c929c8, key = 0x0}, {records_read = 1, read_time = 105, table = 0x8c92b38, key = 0x8c8ce78}, {records_read = -9.9261575707946013e-234, read_time = -9.9261575707946013e-234, table = 0x8f8f8f8f, key = 0x8f8f8f8f} }, best_positions = {{records_read = 105, read_time = 1, table = 0x8c929c8, key = 0x0}, {records_read = 1, read_time = 105, table = 0x8c92b38, key = 0x8c8ce78}, {records_read = -9.9261575707946013e-234, read_time = -9.9261575707946013e-234, table = 0x8f8f8f8f, key = 0x8f8f8f8f} }, cur_embedding_map = 0, best_read = 126.999, fields = 0x8c719bc, group_fields = { = { = {}, first = 0x86386fc, last = 0x8c9270c, elements = 0}, }, group_fields_cache = { = { = {}, first = 0x86386fc, last = 0x8c92718, elements = 0}, }, tmp_table = 0x0, exec_tmp_table1 = 0x0, exec_tmp_table2 = 0x0, thd = 0x8c716c0, sum_funcs = 0x8c928e8, sum_funcs_end = 0x8c928ec, sum_funcs2 = 0x0, sum_funcs_end2 = 0x8f8f8f8f, procedure = 0x0, having = 0x0, tmp_having = 0x0, having_history = 0x0, select_options = 3498330752, result = 0x8c91aa0, tmp_table_param = { = {}, copy_funcs = { = { = {}, first = 0x86386fc, last = 0x8c92764, elements = 0}, }, save_copy_funcs = { = { = {}, first = 0x86386fc, last = 0x8c92770, elements = 0}, }, copy_field = 0x0, copy_field_end = 0x8f8f8f8f, save_copy_field = 0x8f8f8f8f, save_copy_field_end = 0x8f8f8f8f, group_buff = 0x8f8f8f8f
, items_to_copy = 0x8f8f8f8f, recinfo = 0x8f8f8f8f, start_recinfo = 0x8f8f8f8f, keyinfo = 0x8f8f8f8f, end_write_records = 18446744073709551615, field_count = 0, sum_func_count = 0, func_count = 1, hidden_field_count = 0, group_parts = 0, group_length = 0, group_null_parts = 0, quick_group = 1, using_indirect_summary_function = 143, convert_blob_length = 0, table_charset = 0x8f8f8f8f, schema_table = false}, lock = 0x8c5afe8, unit = 0x8c71710, select_lex = 0x8c71938, tmp_join = 0x0, rollup = {state = STATE_NONE, null_items = 0x8f8f8f8f, ref_pointer_arrays = 0x8f8f8f8f, fields = 0x8f8f8f8f}, select_distinct = false, simple_order = true, simple_group = true, no_order = false, skip_sort_order = false, need_tmp = false, hidden_group_fields = false, keyuse = { buffer = 0x8c8ce78 "\020§Å\b\220\025É\b\001", elements = 1, max_element = 20, alloc_increment = 64, size_of_element = 44}, cond_value = COND_OK, all_fields = { = { = {}, ---Type to continue, or q to quit--- first = 0x8c91a90, last = 0x8c91a90, elements = 1}, }, tmp_all_fields1 = { = { = {}, first = 0x86386fc, last = 0x8c92824, elements = 0}, }, tmp_all_fields2 = { = { = {}, first = 0x86386fc, last = 0x8c92830, elements = 0}, }, tmp_all_fields3 = { = { = {}, first = 0x86386fc, last = 0x8c9283c, elements = 0}, }, tmp_fields_list1 = { = { = {}, first = 0x86386fc, last = 0x8c92848, elements = 0}, }, tmp_fields_list2 = { = { = {}, first = 0x86386fc, last = 0x8c92854, elements = 0}, }, tmp_fields_list3 = { = { = {}, first = 0x86386fc, last = 0x8c92860, elements = 0}, }, fields_list = @0x8c719bc, procedure_fields_list = { = { = {}, first = 0x86386fc, last = 0x8c92870, elements = 0}, }, error = 0, order = 0x0, group_list = 0x0, proc_param = 0x0, conds = 0x8c919a8, conds_history = 0x8f8f8f8f, tables_list = 0x8c91140, join_list = 0x8c71a0c, cond_equal = 0x0, select = 0x8c9a670, return_tab = 0x8c9a448, ref_pointer_array = 0x8c928d0, items0 = 0x0, items1 = 0x0, items2 = 0x0, items3 = 0x0, current_ref_pointer_array = 0x8f8f8f8f, ref_pointer_array_size = 4, zero_result_cause = 0x0, union_part = false, optimized = true} (gdb) next 9649 for (JOIN_TAB *tab= first_unmatched; tab <= join_tab; tab++) (gdb) 9677 if ((first_unmatched= first_unmatched->first_upper) && (gdb) 9680 join_tab->first_unmatched= first_unmatched; (gdb) 9636 while (join_tab->first_unmatched && found) (gdb) 9688 join->examined_rows++; (gdb) 9689 join->thd->row_count++; (gdb) 9691 if (found) (gdb) 9711 join_tab->read_record.file->unlock_row(); (gdb) p found $11 = false (gdb) p join_tab->read_record $12 = {table = 0x8c5a710, file = 0x8c8ee98, forms = 0x0, read_record = 0x8209d04 , thd = 0x0, select = 0x0, cache_records = 0, ref_length = 0, struct_length = 0, reclength = 0, rec_cache_size = 0, error_offset = 0, index = 0, ref_pos = 0x0, record = 0x0, rec_buf = 0x0, cache = 0x0, cache_pos = 0x0, cache_end = 0x0, read_positions = 0x0, io_cache = 0x0, print_error = false, ignore_not_found_rows = false}