Very low visibility for InnoDB symbols in 5.5

Bug #1091158 reported by Raghavendra D Prabhu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Won't Fix
Undecided
Unassigned

Bug Description

The visibility of ha_innobase and other innodb symbols is
limited. This limits the ability to use userspace tracepoints
(like with perf probe -- http://lxr.free-electrons.com/source/tools/perf/Documentation/perf-probe.txt#L171 ). It may be helpful in other situations as well.

Following is with 5.5 mysqld:

nm -D -C =mysqld | grep -i inno
00000000007f2ca0 T ha_innobase::is_fake_change_enabled(THD*)
0000000000801d80 W ha_innobase_add_index::~ha_innobase_add_index()
0000000000801d70 W ha_innobase_add_index::~ha_innobase_add_index()
0000000000801d70 W ha_innobase_add_index::~ha_innobase_add_index()
0000000000f33180 V vtable for ha_innobase
0000000000f33620 V vtable for ha_innobase_add_index
0000000000f5fac0 D builtin_innobase_plugin
0000000000f5fa64 D builtin_innobase_plugin_interface_version
0000000000f5fa60 D builtin_innobase_sizeof_struct_st_plugin
0000000000f5a168 D have_innodb
0000000000571270 T increment_thd_innodb_stats
00000000007f9590 T innobase_get_slow_log
00000000007f9550 T innobase_get_trx
00000000007ff950 T innobase_thd_get_start_time
00000000007ff970 T innobase_thd_get_thread_id
00000000007ff930 T innobase_thd_is_idle
00000000007ff960 T innobase_thd_kill
0000000000fd6260 B opt_ignore_builtin_innodb
0000000000ffadc8 B srv_innodb_stats_method

nm -D -C =mysqld | grep -i ' ha_'

00000000006896a0 T ha_prepare(THD*)
00000000006897d0 T ha_recover(st_hash*)
000000000093ecc0 T heap_panic(handlerton*, ha_panic_function)
000000000068cdb0 T ha_discover(THD*, char const*, char const*, unsigned char**, unsigned long*)
0000000000688220 T ha_checktype(THD*, legacy_db_type, bool, bool)
0000000000689fe0 T ha_savepoint(THD*, st_savepoint*)
00000000007a22c0 T myisam_panic(handlerton*, ha_panic_function)
000000000068d090 T ha_find_files(THD*, char const*, char const*, char const*, bool, List<st_mysql_lex_string>*)
000000000068a1f0 T ha_flush_logs(handlerton*)
000000000068d310 T ha_known_exts()
0000000000580b30 T mysql_ha_read(THD*, TABLE_LIST*, enum_ha_read_modes, char*, List<Item>*, ha_rkey_function, Item*, unsigned long long, unsigned long long)
0000000000688470 T ha_init_errors()
0000000000688190 T ha_lock_engine(THD*, handlerton const*)
000000000068d470 T ha_show_status(THD*, handlerton*, ha_stat_type)
0000000000689210 T ha_commit_trans(THD*, bool)
000000000068c8e0 T ha_create_table(THD*, char const*, char const*, char const*, st_ha_create_information*, bool)
000000000068bdf0 T ha_delete_table(THD*, handlerton*, char const*, char const*, char const*, bool)
000000000094b0f0 T myisammrg_panic(handlerton*, ha_panic_function)
00000000007e8920 T pfs_show_status(handlerton*, THD*, bool (*)(THD*, char const*, unsigned int, char const*, unsigned int, char const*, unsigned int), ha_stat_type)
0000000000688d40 T ha_drop_database(char*)
0000000000688f70 T ha_rollback_trans(THD*, bool)
0000000000688000 T ha_resolve_by_name(THD*, st_mysql_lex_string const*)
000000000068cda0 T ha_change_key_cache(st_key_cache*, st_key_cache*)
0000000000688d60 T ha_close_connection(THD*)
0000000000688e10 T ha_commit_one_phase(THD*, bool)
000000000068cc70 T ha_resize_key_cache(st_key_cache*)
000000000068a0d0 T ha_release_savepoint(THD*, st_savepoint*)
0000000000687fc0 T ha_default_handlerton(THD*)
000000000068c310 T ha_enable_transaction(THD*, bool)
0000000000688120 T ha_enforce_handlerton(THD*)
0000000000688800 T ha_finalize_handlerton(st_plugin_int*)
000000000068ce20 T ha_check_if_table_exists(THD*, char const*, char const*, bool*)
0000000000688890 T ha_initialize_handlerton(st_plugin_int*)
0000000000689e90 T ha_rollback_to_savepoint(THD*, st_savepoint*)
0000000000565130 T wait_while_table_is_used(THD*, TABLE*, ha_extra_function)
000000000068cd20 T ha_change_key_cache_param(st_key_cache*)
0000000000951a00 T ha_data_partition_destroy(st_ha_data_partition*)
00000000006881c0 T ha_resolve_by_legacy_type(THD*, legacy_db_type)
000000000068d0d0 T ha_table_exists_in_engine(THD*, char const*, char const*)
000000000068ce60 T ha_create_table_from_engine(THD*, char const*, char const*)
0000000000689780 T ha_commit_or_rollback_by_xid(xid_t*, bool)
0000000000689e40 T ha_release_temporary_latches(THD*)
000000000068a150 T ha_start_consistent_snapshot(THD*)
000000000068cac0 T ha_check_if_supported_system_table(handlerton*, char const*, char const*)
0000000000688d10 T ha_end()
0000000000688b10 T ha_init()
000000000093a050 T ha_archive::free_share()
0000000000938f10 T ha_archive::index_init(unsigned int, bool)
000000000093b920 T ha_archive::index_next(unsigned char*)
0000000000938f20 T ha_archive::index_read(unsigned char*, unsigned char const*, unsigned int, ha_rkey_function)
000000000093bc20 W ha_archive::index_type(unsigned int)
0000000000939010 T ha_archive::store_lock(THD*, st_thr_lock_data**, thr_lock_type)
000000000093acd0 T ha_archive::unpack_row(azio_stream*, unsigned char*)
000000000093a820 T ha_archive::fix_rec_buff(unsigned int)
000000000093b980 T ha_archive::index_read_idx(unsigned char*, unsigned int, unsigned char const*, unsigned int, ha_rkey_function)
000000000093a760 T ha_archive::max_row_length(unsigned char const*)
000000000093aa10 T ha_archive::real_write_row(unsigned char*, azio_stream*)
0000000000938f80 T ha_archive::end_bulk_insert()
0000000000938fc0 T ha_archive::check_and_repair(THD*)
000000000093ae90 T ha_archive::get_row_version2(azio_stream*, unsigned char*)
000000000093ae80 T ha_archive::get_row_version3(azio_stream*, unsigned char*)
0000000000939c30 T ha_archive::read_data_header(azio_stream*)
0000000000938f70 T ha_archive::start_bulk_insert(unsigned long long)
0000000000938ef0 T ha_archive::get_auto_increment(unsigned long long, unsigned long long, unsigned long long, unsigned long long*, unsigned long long*)
000000000093a5e0 T ha_archive::update_create_info(st_ha_create_information*)
000000000093a220 T ha_archive::init_archive_reader()
000000000093a1d0 T ha_archive::init_archive_writer()
000000000093ba60 T ha_archive::create_record_buffer(unsigned int)
000000000093bb90 T ha_archive::destroy_record_buffer(st_archive_record_buffer*)
000000000093a2a0 T ha_archive::info(unsigned int)
000000000093bac0 T ha_archive::open(char const*, int, unsigned int)
000000000093b150 T ha_archive::check(THD*, st_ha_check_opt*)
000000000093bbb0 T ha_archive::close()
0000000000939110 T ha_archive::create(char const*, TABLE*, st_ha_create_information*)
0000000000938f40 T ha_archive::repair(THD*, st_ha_check_opt*)
000000000093b130 T ha_archive::get_row(azio_stream*, unsigned char*)
000000000093bc80 W ha_archive::records()
000000000093b7f0 T ha_archive::rnd_pos(unsigned char*, unsigned char*)
000000000093a6c0 T ha_archive::frm_copy(azio_stream*, azio_stream*)
000000000093b480 T ha_archive::optimize(THD*, st_ha_check_opt*)
000000000093a8a0 T ha_archive::pack_row(unsigned char*)
00000000009390f0 T ha_archive::position(unsigned char const*)
000000000093a650 T ha_archive::rnd_init(bool)
000000000093b880 T ha_archive::rnd_next(unsigned char*)
0000000000938fa0 T ha_archive::truncate()
0000000000939ca0 T ha_archive::get_share(char const*, int*)
000000000093aa90 T ha_archive::write_row(unsigned char*)
0000000000939950 T ha_archive::ha_archive(handlerton*, TABLE_SHARE*)
0000000000939950 T ha_archive::ha_archive(handlerton*, TABLE_SHARE*)
000000000093bd10 W ha_archive::~ha_archive()
000000000093bcb0 W ha_archive::~ha_archive()
000000000093bcb0 W ha_archive::~ha_archive()
00000000007f2ca0 T ha_innobase::is_fake_change_enabled(THD*)
000000000094a6e0 T ha_blackhole::delete_row(unsigned char const*)
000000000094a540 T ha_blackhole::index_last(unsigned char*)
000000000094a4e0 T ha_blackhole::index_next(unsigned char*)
000000000094a500 T ha_blackhole::index_prev(unsigned char*)
000000000094a450 T ha_blackhole::index_type(unsigned int)
000000000094a760 T ha_blackhole::store_lock(THD*, st_thr_lock_data**, thr_lock_type)
000000000094a720 T ha_blackhole::update_row(unsigned char const*, unsigned char*)
000000000094a520 T ha_blackhole::index_first(unsigned char*)
000000000094a4d0 T ha_blackhole::external_lock(THD*, int)
000000000094a640 T ha_blackhole::index_read_map(unsigned char*, unsigned char const*, unsigned long, ha_rkey_function)
000000000094a5f0 T ha_blackhole::index_read_idx_map(unsigned char*, unsigned int, unsigned char const*, unsigned long, ha_rkey_function)
000000000094a5a0 T ha_blackhole::index_read_last_map(unsigned char*, unsigned char const*, unsigned long)
000000000094a820 T ha_blackhole::info(unsigned int)
000000000094aa20 T ha_blackhole::open(char const*, int, unsigned int)
000000000094a940 T ha_blackhole::close()
000000000094a430 T ha_blackhole::create(char const*, TABLE*, st_ha_create_information*)
000000000094a4b0 T ha_blackhole::rnd_pos(unsigned char*, unsigned char*)
000000000094a4c0 T ha_blackhole::position(unsigned char const*)
000000000094a4a0 T ha_blackhole::rnd_init(bool)
000000000094a690 T ha_blackhole::rnd_next(unsigned char*)
000000000094a440 T ha_blackhole::truncate()
000000000094a8d0 T ha_blackhole::write_row(unsigned char*)
000000000094abf0 T ha_blackhole::ha_blackhole(handlerton*, TABLE_SHARE*)
000000000094abf0 T ha_blackhole::ha_blackhole(handlerton*, TABLE_SHARE*)
000000000094af70 W ha_blackhole::~ha_blackhole()
000000000094af60 W ha_blackhole::~ha_blackhole()
000000000094af60 W ha_blackhole::~ha_blackhole()
000000000094b890 T ha_myisammrg::delete_row(unsigned char const*)
000000000094b570 T ha_myisammrg::index_last(unsigned char*)
000000000094b690 T ha_myisammrg::index_next(unsigned char*)
000000000094b630 T ha_myisammrg::index_prev(unsigned char*)
000000000094b010 T ha_myisammrg::index_type(unsigned int)
000000000094b070 T ha_myisammrg::store_lock(THD*, st_thr_lock_data**, thr_lock_type)
000000000094b8d0 T ha_myisammrg::update_row(unsigned char const*, unsigned char*)
000000000094b5d0 T ha_myisammrg::index_first(unsigned char*)
000000000094bce0 T ha_myisammrg::external_lock(THD*, int)
000000000094b800 T ha_myisammrg::index_read_map(unsigned char*, unsigned char const*, unsigned long, ha_rkey_function)
000000000094d040 T ha_myisammrg::attach_children()
000000000094ce90 T ha_myisammrg::detach_children()
000000000094b510 T ha_myisammrg::index_next_same(unsigned char*, unsigned char const*, unsigned int)
000000000094b400 T ha_myisammrg::records_in_range(unsigned int, st_key_range*, st_key_range*)
000000000094cb40 T ha_myisammrg::add_children_list()
000000000094c2d0 T ha_myisammrg::append_create_info(String*)
000000000094b770 T ha_myisammrg::index_read_idx_map(unsigned char*, unsigned int, unsigned char const*, unsigned long, ha_rkey_function)
000000000094c520 T ha_myisammrg::update_create_info(st_ha_create_information*)
000000000094b6f0 T ha_myisammrg::index_read_last_map(unsigned char*, unsigned char const*, unsigned long)
000000000094b080 T ha_myisammrg::check_if_incompatible_data(st_ha_create_information*, unsigned int)
000000000094b260 T ha_myisammrg::info(unsigned int)
000000000094bbd0 T ha_myisammrg::open(char const*, int, unsigned int)
000000000094b090 T ha_myisammrg::check(THD*, st_ha_check_opt*)
000000000094b940 T ha_myisammrg::clone(char const*, st_mem_root*)
000000000094d010 T ha_myisammrg::close()
000000000094d3e0 T ha_myisammrg::extra(ha_extra_function)
000000000094b240 T ha_myisammrg::reset()
000000000094c130 T ha_myisammrg::create(char const*, TABLE*, st_ha_create_information*)
000000000094b100 T ha_myisammrg::records()
000000000094b440 T ha_myisammrg::rnd_pos(unsigned char*, unsigned char*)
000000000094b410 T ha_myisammrg::position(unsigned char const*)
000000000094b250 T ha_myisammrg::rnd_init(bool)
000000000094b4b0 T ha_myisammrg::rnd_next(unsigned char*)
000000000094b3a0 T ha_myisammrg::truncate()
000000000094b200 T ha_myisammrg::extra_opt(ha_extra_function, unsigned long)
000000000094d560 W ha_myisammrg::scan_time()
000000000094bd00 T ha_myisammrg::write_row(unsigned char*)
000000000094c730 T ha_myisammrg::ha_myisammrg(handlerton*, TABLE_SHARE*)
000000000094c730 T ha_myisammrg::ha_myisammrg(handlerton*, TABLE_SHARE*)
000000000094bbc0 T ha_myisammrg::~ha_myisammrg()
000000000094bb90 T ha_myisammrg::~ha_myisammrg()
000000000094bb90 T ha_myisammrg::~ha_myisammrg()
0000000000951810 T ha_partition::delete_row(unsigned char const*)
0000000000956280 T ha_partition::index_init(unsigned int, bool)
0000000000956d60 T ha_partition::index_last(unsigned char*)
00000000009571b0 T ha_partition::index_next(unsigned char*)
00000000009572a0 T ha_partition::index_prev(unsigned char*)
0000000000950480 T ha_partition::index_type(unsigned int)
00000000009572b0 T ha_partition::loop_extra(ha_extra_function)
0000000000950010 T ha_partition::start_stmt(THD*, thr_lock_type)
000000000094ffd0 T ha_partition::store_lock(THD*, st_thr_lock_data**, thr_lock_type)
0000000000950060 T ha_partition::unlock_row()
0000000000955c30 T ha_partition::update_row(unsigned char const*, unsigned char*)
0000000000956d70 T ha_partition::index_first(unsigned char*)
0000000000952260 T ha_partition::print_error(int, int)
0000000000955900 T ha_partition::delete_table(char const*)
0000000000958890 W ha_partition::get_no_parts(char const*, unsigned int*)
00000000009535c0 T ha_partition::preload_keys(THD*, st_ha_check_opt*)
00000000009558f0 T ha_partition::rename_table(char const*, char const*)
00000000009518b0 T ha_partition::external_lock(THD*, int)
0000000000954410 T ha_partition::read_par_file(char const*)
0000000000958870 W ha_partition::set_part_info(partition_info*)
00000000009508b0 T ha_partition::enable_indexes(unsigned int)
0000000000956ff0 T ha_partition::index_read_map(unsigned char*, unsigned char const*, unsigned long, ha_rkey_function)
00000000009588a0 W ha_partition::is_fatal_error(int, unsigned int)
0000000000957b80 T ha_partition::copy_partitions(unsigned long long*, unsigned long long*)
0000000000954160 T ha_partition::create_handlers(st_mem_root*)
00000000009517e0 T ha_partition::delete_all_rows()
0000000000950900 T ha_partition::disable_indexes(unsigned int)
0000000000952040 T ha_partition::drop_partitions(char const*)
0000000000951120 T ha_partition::end_bulk_insert()
0000000000950ab0 T ha_partition::final_add_index(handler_add_index*, bool)
0000000000957190 T ha_partition::index_next_same(unsigned char*, unsigned char const*, unsigned int)
0000000000957160 T ha_partition::read_range_next()
000000000094ff30 T ha_partition::change_table_ptr(TABLE*, TABLE_SHARE*)
0000000000951a50 T ha_partition::check_and_repair(THD*)
0000000000950690 T ha_partition::final_drop_index(TABLE*)
0000000000957400 T ha_partition::late_extra_cache(unsigned int)
0000000000956ec0 T ha_partition::read_range_first(st_key_range const*, st_key_range const*, bool, bool)
0000000000958640 T ha_partition::records_in_range(unsigned int, st_key_range*, st_key_range*)
0000000000950460 T ha_partition::table_cache_type()
0000000000950500 T ha_partition::alter_table_flags(unsigned int)
0000000000957d70 T ha_partition::change_partitions(st_ha_create_information*, char const*, unsigned long long*, unsigned long long*, unsigned char const*, unsigned long)
0000000000956ce0 T ha_partition::common_first_last(unsigned char*)
0000000000956d90 T ha_partition::common_index_read(unsigned char*, bool)
0000000000955490 T ha_partition::del_ren_cre_table(char const*, char const*, TABLE*, st_ha_create_information*)
0000000000952230 T ha_partition::get_error_message(int, String*)
0000000000951b40 T ha_partition::rename_partitions(char const*)
00000000009569e0 T ha_partition::return_top_record(unsigned char*)
0000000000952940 T ha_partition::rnd_pos_by_record(unsigned char*)
0000000000951070 T ha_partition::start_bulk_insert(unsigned long long)
0000000000a23cd4 R ha_partition::NO_CURRENT_PART_ID
00000000009535d0 T ha_partition::assign_to_keycache(THD*, st_ha_check_opt*)
0000000000950420 T ha_partition::can_switch_engines()
0000000000954110 T ha_partition::clear_handler_file()
0000000000950e20 T ha_partition::get_auto_increment(unsigned long long, unsigned long long, unsigned long long, unsigned long long*, unsigned long long*)
0000000000952330 T ha_partition::index_read_idx_map(unsigned char*, unsigned int, unsigned char const*, unsigned long, ha_rkey_function)
0000000000950620 T ha_partition::prepare_drop_index(TABLE*, unsigned int*, unsigned int)
0000000000957370 T ha_partition::prepare_for_rename()
0000000000954940 T ha_partition::setup_engine_array(st_mem_root*)
0000000000955910 T ha_partition::truncate_partition(Alter_info*, bool*)
000000000094fec0 T ha_partition::update_create_info(st_ha_create_information*)
0000000000953980 T ha_partition::create_handler_file(char const*)
0000000000957030 T ha_partition::handle_ordered_next(unsigned char*, bool)
00000000009571d0 T ha_partition::handle_ordered_prev(unsigned char*)
0000000000956fb0 T ha_partition::index_read_last_map(unsigned char*, unsigned char const*, unsigned long)
00000000009578c0 T ha_partition::late_extra_no_cache(unsigned int)
0000000000958a90 W ha_partition::lock_auto_increment()
00000000009574c0 T ha_partition::prepare_extra_cache(unsigned int)
00000000009540b0 T ha_partition::create_handler_files(char const*, char const*, int, st_ha_create_information*)
0000000000950870 T ha_partition::indexes_are_disabled()
00000000009552a0 T ha_partition::initialize_partition(st_mem_root*)
0000000000950ff0 T ha_partition::reset_auto_increment(unsigned long long)
000000000094ffc0 T ha_partition::update_table_comment(char const*)
0000000000953620 T ha_partition::cleanup_new_partition(unsigned int)
0000000000951750 T ha_partition::column_bitmaps_signal()
0000000000954aa0 T ha_partition::get_from_handler_file(char const*, st_mem_root*, bool)
0000000000953340 T ha_partition::handle_opt_partitions(THD*, st_ha_check_opt*, unsigned int)
0000000000956940 T ha_partition::handle_unordered_next(unsigned char*, bool)
0000000000958580 T ha_partition::min_rows_for_estimate()
00000000009566d0 T ha_partition::partition_scan_set_up(unsigned char*, bool)
0000000000953880 T ha_partition::prepare_new_partition(TABLE*, st_ha_create_information*, handler*, char const*, partition_element*)
0000000000958a10 W ha_partition::unlock_auto_increment()
00000000009536b0 T ha_partition::find_partition_element(unsigned int)
0000000000955ae0 T ha_partition::guess_bulk_insert_rows()
00000000009529b0 T ha_partition::init_handler_variables()
0000000000952470 T ha_partition::release_auto_increment()
0000000000955b40 T ha_partition::start_part_bulk_insert(THD*, unsigned int)
0000000000950250 T ha_partition::keys_to_use_for_scanning()
0000000000958920 W ha_partition::primary_key_is_clustered()
00000000009500a0 T ha_partition::try_semi_consistent_read(bool)
0000000000950080 T ha_partition::was_semi_consistent_read()
0000000000950170 T ha_partition::compare_number_of_records(ha_partition*, unsigned int const*, unsigned int const*)
0000000000955a90 T ha_partition::estimate_read_buffer_size(long)
0000000000950310 T ha_partition::estimate_rows_upper_bound()
0000000000956a40 T ha_partition::handle_ordered_index_scan(unsigned char*, bool)
00000000009505d0 T ha_partition::check_if_incompatible_data(st_ha_create_information*, unsigned int)
00000000009585e0 T ha_partition::get_biggest_used_partition(unsigned int*)
00000000009501a0 T ha_partition::get_dynamic_partition_info(PARTITION_STATS*, unsigned int)
0000000000956150 T ha_partition::init_record_priority_queue()
00000000009588d0 W ha_partition::register_query_cache_table(THD*, char*, unsigned int, char (**)(THD*, char*, unsigned int, unsigned long long*), unsigned long long*)
0000000000953770 T ha_partition::set_up_table_before_create(TABLE*, char const*, st_ha_create_information*, unsigned int, partition_element*)
0000000000954260 T ha_partition::new_handlers_from_part_info(st_mem_root*)
0000000000958930 W ha_partition::set_auto_increment_if_higher(Field*)
0000000000956490 T ha_partition::destroy_record_priority_queue()
0000000000950860 T ha_partition::init_table_handle_for_HANDLER()
0000000000956790 T ha_partition::handle_unordered_scan_next_partition(unsigned char*)
00000000009511d0 T ha_partition::info(unsigned int)
0000000000954b20 T ha_partition::open(char const*, int, unsigned int)
00000000009535f0 T ha_partition::check(THD*, st_ha_check_opt*)
0000000000952e00 T ha_partition::clone(char const*, st_mem_root*)
0000000000956580 T ha_partition::close()
0000000000957510 T ha_partition::extra(ha_extra_function)
00000000009510c0 T ha_partition::reset()
0000000000955850 T ha_partition::create(char const*, TABLE*, st_ha_create_information*)
00000000009535e0 T ha_partition::repair(THD*, st_ha_check_opt*)
0000000000953600 T ha_partition::analyze(THD*, st_ha_check_opt*)
00000000009507e0 T ha_partition::cmp_ref(unsigned char const*, unsigned char const*)
00000000009503d0 T ha_partition::records()
0000000000957a90 T ha_partition::rnd_end()
0000000000950130 T ha_partition::rnd_pos(unsigned char*, unsigned char*)
0000000000953610 T ha_partition::optimize(THD*, st_ha_check_opt*)
00000000009516c0 T ha_partition::position(unsigned char const*)
0000000000957660 T ha_partition::rnd_init(bool)
0000000000957900 T ha_partition::rnd_next(unsigned char*)
0000000000951780 T ha_partition::truncate()
0000000000950950 T ha_partition::add_index(TABLE*, st_key*, unsigned int, handler_add_index**)
00000000009574f0 T ha_partition::extra_opt(ha_extra_function, unsigned long)
00000000009564d0 T ha_partition::index_end()
00000000009503b0 T ha_partition::read_time(unsigned int, unsigned int, unsigned long long)
0000000000950270 T ha_partition::scan_time()
0000000000955f00 T ha_partition::write_row(unsigned char*)
0000000000953130 T ha_partition::ha_partition(handlerton*, TABLE_SHARE*)
0000000000952b90 T ha_partition::ha_partition(handlerton*, TABLE_SHARE*, partition_info*, ha_partition*, st_mem_root*)
0000000000952ed0 T ha_partition::ha_partition(handlerton*, partition_info*)
0000000000953130 T ha_partition::ha_partition(handlerton*, TABLE_SHARE*)
0000000000952b90 T ha_partition::ha_partition(handlerton*, TABLE_SHARE*, partition_info*, ha_partition*, st_mem_root*)
0000000000952ed0 T ha_partition::ha_partition(handlerton*, partition_info*)
00000000009566c0 T ha_partition::~ha_partition()
0000000000956630 T ha_partition::~ha_partition()
0000000000956630 T ha_partition::~ha_partition()
00000000007e4ec0 W ha_perfschema::index_type(unsigned int)
00000000007e4820 T ha_perfschema::store_lock(THD*, st_thr_lock_data**, thr_lock_type)
00000000007e4900 T ha_perfschema::update_row(unsigned char const*, unsigned char*)
00000000007e4a80 T ha_perfschema::print_error(int, int)
00000000007e4860 T ha_perfschema::delete_table(char const*)
00000000007e4870 T ha_perfschema::rename_table(char const*, char const*)
00000000007e47f0 T ha_perfschema::delete_all_rows()
00000000007e4f50 W ha_perfschema::table_cache_type()
00000000007e4710 T ha_perfschema::use_hidden_primary_key()
00000000007e4f30 W ha_perfschema::estimate_rows_upper_bound()
00000000007e4f60 W ha_perfschema::register_query_cache_table(THD*, char*, unsigned int, char (**)(THD*, char*, unsigned int, unsigned long long*), unsigned long long*)
00000000007e47c0 T ha_perfschema::info(unsigned int)
00000000007e4990 T ha_perfschema::open(char const*, int, unsigned int)
00000000007e46b0 T ha_perfschema::close()
00000000007e4bc0 T ha_perfschema::create(char const*, TABLE*, st_ha_create_information*)
00000000007e4790 T ha_perfschema::rnd_end()
00000000007e4ae0 T ha_perfschema::rnd_pos(unsigned char*, unsigned char*)
00000000007e48f0 T ha_perfschema::position(unsigned char const*)
00000000007e4730 T ha_perfschema::rnd_init(bool)
00000000007e4b50 T ha_perfschema::rnd_next(unsigned char*)
00000000007e4810 T ha_perfschema::truncate()
00000000007e4f40 W ha_perfschema::scan_time()
00000000007e4920 T ha_perfschema::write_row(unsigned char*)
00000000007e4c20 T ha_perfschema::ha_perfschema(handlerton*, TABLE_SHARE*)
00000000007e4c20 T ha_perfschema::ha_perfschema(handlerton*, TABLE_SHARE*)
00000000007e4690 T ha_perfschema::~ha_perfschema()
00000000007e4680 T ha_perfschema::~ha_perfschema()
00000000007e4680 T ha_perfschema::~ha_perfschema()
0000000000801d80 W ha_innobase_add_index::~ha_innobase_add_index()
0000000000801d70 W ha_innobase_add_index::~ha_innobase_add_index()
0000000000801d70 W ha_innobase_add_index::~ha_innobase_add_index()
00000000009589c0 W ha_partition_add_index::~ha_partition_add_index()
00000000009589b0 W ha_partition_add_index::~ha_partition_add_index()
00000000009589b0 W ha_partition_add_index::~ha_partition_add_index()
0000000000687570 T Ha_delete_table_error_handler::handle_condition(THD*, unsigned int, char const*, MYSQL_ERROR::enum_warning_level, char const*, MYSQL_ERROR**)
000000000068e370 W Ha_delete_table_error_handler::~Ha_delete_table_error_handler()
000000000068e360 W Ha_delete_table_error_handler::~Ha_delete_table_error_handler()
000000000068e360 W Ha_delete_table_error_handler::~Ha_delete_table_error_handler()
000000000093ee00 T ha_heap::delete_row(unsigned char const*)
000000000093ddb0 T ha_heap::drop_table(char const*)
000000000093e840 T ha_heap::index_last(unsigned char*)
000000000093e950 T ha_heap::index_next(unsigned char*)
000000000093e900 T ha_heap::index_prev(unsigned char*)
000000000093f6f0 W ha_heap::index_type(unsigned int)
000000000093dd70 T ha_heap::store_lock(THD*, st_thr_lock_data**, thr_lock_type)
000000000093ee80 T ha_heap::update_row(unsigned char const*, unsigned char*)
000000000093e8a0 T ha_heap::index_first(unsigned char*)
000000000093e720 T ha_heap::delete_table(char const*)
000000000093e710 T ha_heap::rename_table(char const*, char const*)
000000000093dd60 T ha_heap::external_lock(THD*, int)
000000000093f280 T ha_heap::enable_indexes(unsigned int)
000000000093eab0 T ha_heap::index_read_map(unsigned char*, unsigned char const*, unsigned long, ha_rkey_function)
000000000093eda0 T ha_heap::delete_all_rows()
000000000093f2d0 T ha_heap::disable_indexes(unsigned int)
000000000093e690 T ha_heap::records_in_range(unsigned int, st_key_range*, st_key_range*)
000000000093f4b0 T ha_heap::update_key_stats()
000000000093f650 T ha_heap::get_auto_increment(unsigned long long, unsigned long long, unsigned long long, unsigned long long*, unsigned long long*)
000000000093e9a0 T ha_heap::index_read_idx_map(unsigned char*, unsigned int, unsigned char const*, unsigned long, ha_rkey_function)
000000000093ed00 T ha_heap::update_create_info(st_ha_create_information*)
000000000093ea30 T ha_heap::index_read_last_map(unsigned char*, unsigned char const*, unsigned long)
000000000093e740 T ha_heap::indexes_are_disabled()
000000000093dd40 T ha_heap::reset_auto_increment(unsigned long long)
000000000093f1e0 T ha_heap::set_keys_for_scanning()
000000000093f760 W ha_heap::keys_to_use_for_scanning()
000000000093ddd0 T ha_heap::check_if_incompatible_data(st_ha_create_information*, unsigned int)
000000000093f5a0 T ha_heap::info(unsigned int)
000000000093f320 T ha_heap::open(char const*, int, unsigned int)
000000000093ebf0 T ha_heap::clone(char const*, st_mem_root*)
000000000093ef20 T ha_heap::close()
000000000093e760 T ha_heap::extra(ha_extra_function)
000000000093e750 T ha_heap::reset()
000000000093e5e0 T ha_heap::create(char const*, TABLE*, st_ha_create_information*)
000000000093f820 W ha_heap::cmp_ref(unsigned char const*, unsigned char const*)
000000000093e790 T ha_heap::rnd_pos(unsigned char*, unsigned char*)
000000000093e770 T ha_heap::position(unsigned char const*)
000000000093ede0 T ha_heap::rnd_init(bool)
000000000093e7f0 T ha_heap::rnd_next(unsigned char*)
000000000093ecd0 T ha_heap::truncate()
000000000093f7e0 W ha_heap::read_time(unsigned int, unsigned int, unsigned long long)
000000000093f7a0 W ha_heap::scan_time()
000000000093eb40 T ha_heap::write_row(unsigned char*)
000000000093ef40 T ha_heap::ha_heap(handlerton*, TABLE_SHARE*)
000000000093ef40 T ha_heap::ha_heap(handlerton*, TABLE_SHARE*)
000000000093f6b0 W ha_heap::~ha_heap()
000000000093f6a0 W ha_heap::~ha_heap()
000000000093f6a0 W ha_heap::~ha_heap()
0000000000947bc0 T ha_tina::delete_row(unsigned char const*)
00000000009484a0 T ha_tina::get_status()
0000000000949d30 W ha_tina::index_type(unsigned int)
0000000000945760 T ha_tina::store_lock(THD*, st_thr_lock_data**, thr_lock_type)
00000000009489f0 T ha_tina::update_row(unsigned char const*, unsigned char*)
0000000000947a00 T ha_tina::chain_append()
0000000000947400 T ha_tina::encode_quote(unsigned char*)
0000000000949da0 W ha_tina::fast_key_read()
00000000009495b0 T ha_tina::get_write_pos(unsigned long long*, tina_set*)
00000000009485d0 T ha_tina::update_status()
0000000000948b60 T ha_tina::init_data_file()
0000000000946e00 T ha_tina::delete_all_rows()
00000000009457c0 T ha_tina::check_and_repair(THD*)
0000000000947ce0 T ha_tina::find_current_row(unsigned char*)
0000000000946ce0 T ha_tina::init_tina_writer()
0000000000949db0 W ha_tina::estimate_rows_upper_bound()
0000000000945790 T ha_tina::check_if_incompatible_data(st_ha_create_information*, unsigned int)
0000000000948890 T ha_tina::open_update_temp_file_if_needed()
0000000000945810 T ha_tina::info(unsigned int)
0000000000946b50 T ha_tina::open(char const*, int, unsigned int)
0000000000948d20 T ha_tina::check(THD*, st_ha_check_opt*)
0000000000946a80 T ha_tina::close()
0000000000945990 T ha_tina::extra(ha_extra_function)
0000000000946110 T ha_tina::create(char const*, TABLE*, st_ha_create_information*)
0000000000948ea0 T ha_tina::repair(THD*, st_ha_check_opt*)
0000000000949630 T ha_tina::rnd_end()
00000000009483c0 T ha_tina::rnd_pos(unsigned char*, unsigned char*)
00000000009457a0 T ha_tina::position(unsigned char const*)
0000000000949550 T ha_tina::rnd_init(bool)
0000000000948420 T ha_tina::rnd_next(unsigned char*)
0000000000949d60 W ha_tina::scan_time()
00000000009485f0 T ha_tina::write_row(unsigned char*)
00000000009470b0 T ha_tina::ha_tina(handlerton*, TABLE_SHARE*)
00000000009470b0 T ha_tina::ha_tina(handlerton*, TABLE_SHARE*)
0000000000949e90 W ha_tina::~ha_tina()
0000000000949dd0 W ha_tina::~ha_tina()
0000000000949dd0 W ha_tina::~ha_tina()
000000000068e280 W handler::index_read(unsigned char*, unsigned char const*, unsigned int, ha_rkey_function)
000000000068e5a0 W handler::index_read_map(unsigned char*, unsigned char const*, unsigned long, ha_rkey_function)
0000000000686d60 T handler::index_read_idx_map(unsigned char*, unsigned int, unsigned char const*, unsigned long, ha_rkey_function)
00000000007a25d0 T ha_myisam::delete_row(unsigned char const*)
00000000007a2bc0 T ha_myisam::index_last(unsigned char*)
00000000007a2da0 T ha_myisam::index_next(unsigned char*)
00000000007a2d00 T ha_myisam::index_prev(unsigned char*)
00000000007a2060 T ha_myisam::index_type(unsigned int)
00000000007a2120 T ha_myisam::store_lock(THD*, st_thr_lock_data**, thr_lock_type)
00000000007a2620 T ha_myisam::update_row(unsigned char const*, unsigned char*)
00000000007a6cc0 W ha_myisam::ft_init_ext(unsigned int, unsigned int, String*)
00000000007a2c60 T ha_myisam::index_first(unsigned char*)
00000000007a2330 T ha_myisam::delete_table(char const*)
00000000007a4da0 T ha_myisam::preload_keys(THD*, st_ha_check_opt*)
00000000007a22e0 T ha_myisam::rename_table(char const*, char const*)
00000000007a22f0 T ha_myisam::external_lock(THD*, int)
00000000007a65d0 T ha_myisam::enable_indexes(unsigned int)
00000000007a2a20 T ha_myisam::index_read_map(unsigned char*, unsigned char const*, unsigned long, ha_rkey_function)
00000000007a2340 T ha_myisam::delete_all_rows()
00000000007a2e40 T ha_myisam::disable_indexes(unsigned int)
00000000007a2fd0 T ha_myisam::end_bulk_insert()
00000000007a2b20 T ha_myisam::index_next_same(unsigned char*, unsigned char const*, unsigned int)
00000000007a26a0 T ha_myisam::check_and_repair(THD*)
00000000007a22d0 T ha_myisam::records_in_range(unsigned int, st_key_range*, st_key_range*)
00000000007a20f0 T ha_myisam::restart_rnd_next(unsigned char*, unsigned char*)
00000000007a2e90 T ha_myisam::start_bulk_insert(unsigned long long)
00000000007a4f50 T ha_myisam::assign_to_keycache(THD*, st_ha_check_opt*)
00000000007a35f0 T ha_myisam::get_auto_increment(unsigned long long, unsigned long long, unsigned long long, unsigned long long*, unsigned long long*)
00000000007a2410 T ha_myisam::index_read_idx_map(unsigned char*, unsigned int, unsigned char const*, unsigned long, ha_rkey_function)
00000000007a3590 T ha_myisam::update_create_info(st_ha_create_information*)
00000000007a2950 T ha_myisam::index_read_last_map(unsigned char*, unsigned char const*, unsigned long)
00000000007a2840 T ha_myisam::indexes_are_disabled()
00000000007a2100 T ha_myisam::reset_auto_increment(unsigned long long)
00000000007a2170 T ha_myisam::check_if_incompatible_data(st_ha_create_information*, unsigned int)
00000000007a21c0 T ha_myisam::register_query_cache_table(THD*, char*, unsigned int, char (**)(THD*, char*, unsigned int, unsigned long long*), unsigned long long*)
00000000007a31a0 T ha_myisam::info(unsigned int)
00000000007a4a20 T ha_myisam::open(char const*, int, unsigned int)
00000000007a5630 T ha_myisam::check(THD*, st_ha_check_opt*)
00000000007a28f0 T ha_myisam::clone(char const*, st_mem_root*)
00000000007a28d0 T ha_myisam::close()
00000000007a2390 T ha_myisam::extra(ha_extra_function)
00000000007a23d0 T ha_myisam::reset()
00000000007a41d0 T ha_myisam::create(char const*, TABLE*, st_ha_create_information*)
00000000007a6990 T ha_myisam::repair(THD*, st_ha_check_opt*)
00000000007a5df0 T ha_myisam::repair(THD*, st_mi_check_param&, bool)
00000000007a53d0 T ha_myisam::analyze(THD*, st_ha_check_opt*)
00000000007a6c80 W ha_myisam::ft_init()
00000000007a3070 T ha_myisam::ft_read(unsigned char*)
00000000007a24c0 T ha_myisam::rnd_pos(unsigned char*, unsigned char*)
00000000007a6850 T ha_myisam::optimize(THD*, st_ha_check_opt*)
00000000007a23e0 T ha_myisam::position(unsigned char const*)
00000000007a2b00 T ha_myisam::rnd_init(bool)
00000000007a2550 T ha_myisam::rnd_next(unsigned char*)
00000000007a2920 T ha_myisam::truncate()
00000000007a2350 T ha_myisam::extra_opt(ha_extra_function, unsigned long)
00000000007a2850 T ha_myisam::write_row(unsigned char*)
00000000007a5b50 T ha_myisam::ha_myisam(handlerton*, TABLE_SHARE*)
00000000007a5b50 T ha_myisam::ha_myisam(handlerton*, TABLE_SHARE*)
00000000007a6bf0 W ha_myisam::~ha_myisam()
00000000007a6be0 W ha_myisam::~ha_myisam()
00000000007a6be0 W ha_myisam::~ha_myisam()
0000000000938fb0 T ha_archive::is_crashed() const
000000000093bc10 W ha_archive::table_type() const
000000000093bc90 W ha_archive::auto_repair() const
000000000093bc40 W ha_archive::index_flags(unsigned int, unsigned int, bool) const
000000000093bc30 W ha_archive::table_flags() const
000000000093bca0 W ha_archive::get_row_type() const
000000000093bc50 W ha_archive::max_supported_keys() const
000000000093bc60 W ha_archive::max_supported_key_length() const
000000000093bc70 W ha_archive::max_supported_key_part_length() const
0000000000938ee0 T ha_archive::bas_ext() const
000000000094af80 W ha_blackhole::table_type() const
000000000094afa0 W ha_blackhole::index_flags(unsigned int, unsigned int, bool) const
000000000094af90 W ha_blackhole::table_flags() const
000000000094afd0 W ha_blackhole::max_supported_keys() const
000000000094afe0 W ha_blackhole::max_supported_key_length() const
000000000094aff0 W ha_blackhole::max_supported_key_part_length() const
000000000094a420 T ha_blackhole::bas_ext() const
000000000094b060 T ha_myisammrg::lock_count() const
000000000094d4e0 W ha_myisammrg::table_type() const
000000000094d500 W ha_myisammrg::index_flags(unsigned int, unsigned int, bool) const
000000000094d4f0 W ha_myisammrg::table_flags() const
000000000094d530 W ha_myisammrg::max_supported_keys() const
000000000094d540 W ha_myisammrg::max_supported_key_length() const
000000000094d550 W ha_myisammrg::max_supported_key_part_length() const
000000000094b000 T ha_myisammrg::bas_ext() const
000000000094fe80 T ha_partition::is_crashed() const
0000000000950050 T ha_partition::lock_count() const
000000000094fe40 T ha_partition::table_type() const
000000000094fe60 T ha_partition::auto_repair() const
00000000009588f0 W ha_partition::index_flags(unsigned int, unsigned int, bool) const
00000000009589d0 W ha_partition::table_flags() const
00000000009504a0 T ha_partition::get_row_type() const
0000000000958910 W ha_partition::low_byte_first() const
0000000000950760 T ha_partition::min_record_length(unsigned int) const
00000000009587d0 T ha_partition::max_supported_keys() const
0000000000958710 T ha_partition::min_of_the_max_uint(unsigned int (handler::*)() const) const
00000000009506f0 T ha_partition::extra_rec_buf_length() const
0000000000958850 T ha_partition::max_supported_key_parts() const
0000000000958830 T ha_partition::max_supported_key_length() const
00000000009587f0 T ha_partition::max_supported_record_length() const
0000000000958810 T ha_partition::max_supported_key_part_length() const
00000000009506e0 T ha_partition::bas_ext() const
00000000007e4eb0 W ha_perfschema::table_type() const
00000000007e4ee0 W ha_perfschema::index_flags(unsigned int, unsigned int, bool) const
00000000007e4ed0 W ha_perfschema::table_flags() const
00000000007e4f00 W ha_perfschema::max_supported_keys() const
00000000007e4f10 W ha_perfschema::max_supported_key_parts() const
00000000007e4f20 W ha_perfschema::max_supported_key_length() const
00000000007e4ef0 W ha_perfschema::max_supported_record_length() const
00000000007e46a0 T ha_perfschema::bas_ext() const
000000000093f6c0 W ha_heap::table_type() const
000000000093f730 W ha_heap::index_flags(unsigned int, unsigned int, bool) const
000000000093f720 W ha_heap::table_flags() const
000000000093dd20 T ha_heap::get_row_type() const
000000000093f770 W ha_heap::max_supported_keys() const
000000000093f780 W ha_heap::max_supported_key_length() const
000000000093f790 W ha_heap::max_supported_key_part_length() const
000000000093dd10 T ha_heap::bas_ext() const
0000000000945730 T ha_tina::is_crashed() const
0000000000949d20 W ha_tina::table_type() const
0000000000949dc0 W ha_tina::auto_repair() const
0000000000949d50 W ha_tina::index_flags(unsigned int, unsigned int, bool) const
0000000000949d40 W ha_tina::table_flags() const
0000000000945740 T ha_tina::bas_ext() const
00000000007a20b0 T ha_myisam::is_crashed() const
00000000007a6c00 W ha_myisam::table_type() const
00000000007a6cb0 W ha_myisam::auto_repair() const
00000000007a6c20 W ha_myisam::index_flags(unsigned int, unsigned int, bool) const
00000000007a6c10 W ha_myisam::table_flags() const
00000000007a6c50 W ha_myisam::max_supported_keys() const
00000000007a6c60 W ha_myisam::max_supported_key_length() const
00000000007a6c70 W ha_myisam::max_supported_key_part_length() const
00000000007a2040 T ha_myisam::bas_ext() const
00000000007a2160 T ha_myisam::checksum() const
0000000000f33640 V vtable for ha_archive
0000000000f33180 V vtable for ha_innobase
0000000000f343c0 V vtable for ha_blackhole
0000000000f34840 V vtable for ha_myisammrg
0000000000f34cc0 V vtable for ha_partition
0000000000f322e0 V vtable for ha_perfschema
0000000000f33620 V vtable for ha_innobase_add_index
0000000000f35160 V vtable for ha_partition_add_index
0000000000edb000 V vtable for Ha_delete_table_error_handler
0000000000f33ac0 V vtable for ha_heap
0000000000f33f40 V vtable for ha_tina
0000000000f31e60 V vtable for ha_myisam
0000000000958b60 T ha_compare_text
000000000068cbc0 T ha_init_key_cache
0000000000958ba0 T ha_key_cmp
0000000000fd6070 B ha_open_options
0000000000f5ad40 D ha_row_type

Revision history for this message
Stewart Smith (stewart) wrote :

This is by design of MySQL code. Less visible symbols mean that you can start to enforce some idea of an API a lot more effectively than has been done in the past.

Changed in percona-server:
status: New → Won't Fix
Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

The 'ha_*' symbols are exported for the storage engine interface
by innodb as by rest of the storage engines (as in the nm output). Atleast those should not be hidden.

Only InnoDB seems to be using the "hidden" attribute (on those symbols):

    # define UNIV_INTERN __attribute__((visibility ("hidden")))

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-2858

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.