2a2834
# symbols exported from mysql 5.1
2a2834
libmysqlclient_16 {
2a2834
  global:
2a2834
	_fini;
2a2834
	_init;
2a2834
	my_init;
2a2834
	myodbc_remove_escape;
2a2834
	mysql_affected_rows;
2a2834
	mysql_autocommit;
2a2834
	mysql_change_user;
2a2834
	mysql_character_set_name;
2a2834
	mysql_close;
2a2834
	mysql_commit;
2a2834
	mysql_data_seek;
2a2834
	mysql_debug;
2a2834
	mysql_dump_debug_info;
2a2834
	mysql_embedded;
2a2834
	mysql_eof;
2a2834
	mysql_errno;
2a2834
	mysql_error;
2a2834
	mysql_escape_string;
2a2834
	mysql_fetch_field;
2a2834
	mysql_fetch_field_direct;
2a2834
	mysql_fetch_fields;
2a2834
	mysql_fetch_lengths;
2a2834
	mysql_fetch_row;
2a2834
	mysql_field_count;
2a2834
	mysql_field_seek;
2a2834
	mysql_field_tell;
2a2834
	mysql_free_result;
2a2834
	mysql_get_character_set_info;
2a2834
	mysql_get_client_info;
2a2834
	mysql_get_client_version;
2a2834
	mysql_get_host_info;
2a2834
	mysql_get_parameters;
2a2834
	mysql_get_proto_info;
2a2834
	mysql_get_server_info;
2a2834
	mysql_get_server_version;
2a2834
	mysql_get_ssl_cipher;
2a2834
	mysql_hex_string;
2a2834
	mysql_info;
2a2834
	mysql_init;
2a2834
	mysql_insert_id;
2a2834
	mysql_kill;
2a2834
	mysql_list_dbs;
2a2834
	mysql_list_fields;
2a2834
	mysql_list_processes;
2a2834
	mysql_list_tables;
2a2834
	mysql_more_results;
2a2834
	mysql_next_result;
2a2834
	mysql_num_fields;
2a2834
	mysql_num_rows;
2a2834
	mysql_options;
2a2834
	mysql_ping;
2a2834
	mysql_query;
2a2834
	mysql_read_query_result;
2a2834
	mysql_real_connect;
2a2834
	mysql_real_escape_string;
2a2834
	mysql_real_query;
2a2834
	mysql_refresh;
2a2834
	mysql_rollback;
2a2834
	mysql_row_seek;
2a2834
	mysql_row_tell;
2a2834
	mysql_select_db;
2a2834
	mysql_send_query;
2a2834
	mysql_server_end;
2a2834
	mysql_server_init;
2a2834
	mysql_set_character_set;
2a2834
	mysql_set_local_infile_default;
2a2834
	mysql_set_local_infile_handler;
2a2834
	mysql_set_server_option;
2a2834
	mysql_shutdown;
2a2834
	mysql_sqlstate;
2a2834
	mysql_ssl_set;
2a2834
	mysql_stat;
2a2834
	mysql_stmt_affected_rows;
2a2834
	mysql_stmt_attr_get;
2a2834
	mysql_stmt_attr_set;
2a2834
	mysql_stmt_bind_param;
2a2834
	mysql_stmt_bind_result;
2a2834
	mysql_stmt_close;
2a2834
	mysql_stmt_data_seek;
2a2834
	mysql_stmt_errno;
2a2834
	mysql_stmt_error;
2a2834
	mysql_stmt_execute;
2a2834
	mysql_stmt_fetch;
2a2834
	mysql_stmt_fetch_column;
2a2834
	mysql_stmt_field_count;
2a2834
	mysql_stmt_free_result;
2a2834
	mysql_stmt_init;
2a2834
	mysql_stmt_insert_id;
2a2834
	mysql_stmt_num_rows;
2a2834
	mysql_stmt_param_count;
2a2834
	mysql_stmt_param_metadata;
2a2834
	mysql_stmt_prepare;
2a2834
	mysql_stmt_reset;
2a2834
	mysql_stmt_result_metadata;
2a2834
	mysql_stmt_row_seek;
2a2834
	mysql_stmt_row_tell;
2a2834
	mysql_stmt_send_long_data;
2a2834
	mysql_stmt_sqlstate;
2a2834
	mysql_stmt_store_result;
2a2834
	mysql_store_result;
2a2834
	mysql_thread_end;
2a2834
	mysql_thread_id;
2a2834
	mysql_thread_init;
2a2834
	mysql_thread_safe;
2a2834
	mysql_use_result;
2a2834
	mysql_warning_count;
2a2834
# These are documented in Paul DuBois' MySQL book, so we treat them as part
2a2834
# of the de-facto API.
2a2834
	free_defaults;
2a2834
	handle_options;
2a2834
	load_defaults;
2a2834
	my_print_help;
2a2834
# This isn't really documented anywhere, but it seems to be part of the
2a2834
# de-facto API as well.  We're not going to export the deprecated version
2a2834
# make_scrambled_password, however.
2a2834
	my_make_scrambled_password;
2a2834
# This really shouldn't be exported, but some applications use it as a
2a2834
# workaround for inadequate threading support; see bug #846602
2a2834
	THR_KEY_mysys;
2a2834
  local:
2a2834
	*;
2a2834
};
2a2834
# symbols added in mysql 5.5
2a2834
libmysqlclient_18 {
2a2834
  global:
2a2834
	mysql_client_find_plugin;
2a2834
	mysql_client_register_plugin;
2a2834
	mysql_load_plugin;
2a2834
	mysql_load_plugin_v;
2a2834
	mysql_plugin_options;
2a2834
	mysql_stmt_next_result;
2a2834
#
2a2834
# Ideally the following symbols wouldn't be exported, but various applications
2a2834
# require them.  We limit the namespace damage by prefixing mysql_
2a2834
# (see mysql-dubious-exports.patch), which means the symbols are not present
2a2834
# in libmysqlclient_16.
2a2834
#
2a2834
# mysql-connector-odbc requires these
2a2834
	mysql_default_charset_info;
2a2834
	mysql_get_charset;
2a2834
	mysql_get_charset_by_csname;
2a2834
	mysql_net_realloc;
2a2834
# PHP's mysqli.so requires this (via the ER() macro)
2a2834
	mysql_client_errors;
2a2834
};
2a2834
2a2834
# symbols specific for mariadb
2a2834
libmysqlclient_18_mariadb {
2a2834
  global:
2a2834
    # symbols related to non-blocking operations
2a2834
    # documented here: https://kb.askmonty.org/en/non-blocking-api-reference/
2a2834
	mysql_get_socket;
2a2834
	mysql_get_timeout_value;
2a2834
	mysql_get_timeout_value_ms;
2a2834
	mysql_real_connect_start;
2a2834
	mysql_real_connect_cont;
2a2834
	mysql_real_query_start;
2a2834
	mysql_real_query_cont;
2a2834
	mysql_fetch_row_start;
2a2834
	mysql_fetch_row_cont;
2a2834
	mysql_set_character_set_start;
2a2834
	mysql_set_character_set_cont;
2a2834
	mysql_select_db_start;
2a2834
	mysql_select_db_cont;
2a2834
	mysql_send_query_start;
2a2834
	mysql_send_query_cont;
2a2834
	mysql_store_result_start;
2a2834
	mysql_store_result_cont;
2a2834
	mysql_free_result_start;
2a2834
	mysql_free_result_cont;
2a2834
	mysql_close_start;
2a2834
	mysql_close_cont;
2a2834
	mysql_change_user_start;
2a2834
	mysql_change_user_cont;
2a2834
	mysql_query_start;
2a2834
	mysql_query_cont;
2a2834
	mysql_shutdown_start;
2a2834
	mysql_shutdown_cont;
2a2834
	mysql_dump_debug_info_start;
2a2834
	mysql_dump_debug_info_cont;
2a2834
	mysql_refresh_start;
2a2834
	mysql_refresh_cont;
2a2834
	mysql_kill_start;
2a2834
	mysql_kill_cont;
2a2834
	mysql_set_server_option_start;
2a2834
	mysql_set_server_option_cont;
2a2834
	mysql_ping_start;
2a2834
	mysql_ping_cont;
2a2834
	mysql_stat_start;
2a2834
	mysql_stat_cont;
2a2834
	mysql_list_dbs_start;
2a2834
	mysql_list_dbs_cont;
2a2834
	mysql_list_tables_start;
2a2834
	mysql_list_tables_cont;
2a2834
	mysql_list_processes_start;
2a2834
	mysql_list_processes_cont;
2a2834
	mysql_list_fields_start;
2a2834
	mysql_list_fields_cont;
2a2834
	mysql_read_query_result_start;
2a2834
	mysql_read_query_result_cont;
2a2834
	mysql_stmt_prepare_start;
2a2834
	mysql_stmt_prepare_cont;
2a2834
	mysql_stmt_execute_start;
2a2834
	mysql_stmt_execute_cont;
2a2834
	mysql_stmt_fetch_start;
2a2834
	mysql_stmt_fetch_cont;
2a2834
	mysql_stmt_store_result_start;
2a2834
	mysql_stmt_store_result_cont;
2a2834
	mysql_stmt_close_start;
2a2834
	mysql_stmt_close_cont;
2a2834
	mysql_stmt_reset_start;
2a2834
	mysql_stmt_reset_cont;
2a2834
	mysql_stmt_free_result_start;
2a2834
	mysql_stmt_free_result_cont;
2a2834
	mysql_stmt_send_long_data_start;
2a2834
	mysql_stmt_send_long_data_cont;
2a2834
	mysql_commit_start;
2a2834
	mysql_commit_cont;
2a2834
	mysql_rollback_start;
2a2834
	mysql_rollback_cont;
2a2834
	mysql_autocommit_start;
2a2834
	mysql_autocommit_cont;
2a2834
	mysql_next_result_start;
2a2834
	mysql_next_result_cont;
2a2834
	mysql_stmt_next_result_start;
2a2834
	mysql_stmt_next_result_cont;
2a2834
    # dynamic columns API
2a2834
    # documented here: https://kb.askmonty.org/en/dynamic-columns-api/
2a2834
    # currently only documentation for mariadb-10.0.x available, but
2a2834
    # upstream promissed adding 5.5.x version as well
2a2834
	dynamic_column_create;
2a2834
	dynamic_column_create_many;
2a2834
	dynamic_column_update;
2a2834
	dynamic_column_update_many;
2a2834
	dynamic_column_delete;
2a2834
	dynamic_column_exists;
2a2834
	dynamic_column_list;
2a2834
	dynamic_column_get;
2a2834
	dynamic_column_prepare_decimal;
2a2834
};