Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 18.191.117.103
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
mysql /
mysql-test /
include /
[ HOME SHELL ]
Name
Size
Permission
Action
Load_data.inc
173
B
-rw-r--r--
add_anonymous_users.inc
194
B
-rw-r--r--
add_debug_point.inc
3.11
KB
-rw-r--r--
allowed_ciphers.inc
409
B
-rw-r--r--
analyze-sync_with_master.test
283
B
-rw-r--r--
analyze-timeout.test
25
B
-rw-r--r--
assert.inc
2.38
KB
-rw-r--r--
assert_and_disable_read_only.i...
1.05
KB
-rw-r--r--
assert_binlog_events.inc
10.22
KB
-rw-r--r--
assert_command_output.inc
2.45
KB
-rw-r--r--
assert_grep.inc
4.17
KB
-rw-r--r--
assert_gtid_mode_on.inc
250
B
-rw-r--r--
assert_logical_timestamps.inc
2.63
KB
-rw-r--r--
assert_no_warnings.inc
977
B
-rw-r--r--
assert_rbr_only_flags.inc
2.46
KB
-rw-r--r--
assert_semisync_master_status_...
273
B
-rw-r--r--
assert_semisync_master_status_...
271
B
-rw-r--r--
assert_semisync_yesno_tx_incre...
1.23
KB
-rw-r--r--
assert_status.inc
1.03
KB
-rw-r--r--
assert_variable.inc
892
B
-rw-r--r--
backup_tables_priv_and_users.i...
1.06
KB
-rw-r--r--
begin_include_file.inc
3.21
KB
-rw-r--r--
begin_replace_gtid_combination...
2.07
KB
-rw-r--r--
big_test.inc
107
B
-rw-r--r--
binlog_inject_error.inc
641
B
-rw-r--r--
bug13581713.inc
6.62
KB
-rw-r--r--
bug38347.inc
404
B
-rw-r--r--
change_file_perms.inc
521
B
-rw-r--r--
check-testcase.test
2.98
KB
-rw-r--r--
check-warnings.test
1.74
KB
-rw-r--r--
check_charset.inc
3.53
KB
-rw-r--r--
check_concurrent_insert.inc
2.66
KB
-rw-r--r--
check_events_off.inc
1.82
KB
-rw-r--r--
check_ftwrl_compatible.inc
3.64
KB
-rw-r--r--
check_ftwrl_incompatible.inc
3.8
KB
-rw-r--r--
check_ipv4_mapped.inc
683
B
-rw-r--r--
check_ipv6.inc
597
B
-rw-r--r--
check_key_reads.inc
250
B
-rw-r--r--
check_key_req.inc
628
B
-rw-r--r--
check_keys_after_migration.inc
2.17
KB
-rw-r--r--
check_no_concurrent_insert.inc
2.07
KB
-rw-r--r--
check_no_row_lock.inc
1.76
KB
-rw-r--r--
check_openssl_version.inc
1.32
KB
-rw-r--r--
check_plugin_dir.inc
1.39
KB
-rw-r--r--
check_qep.inc
1.35
KB
-rw-r--r--
check_shared_row_lock.inc
1.39
KB
-rw-r--r--
check_slave_is_running.inc
750
B
-rw-r--r--
check_slave_no_error.inc
754
B
-rw-r--r--
check_slave_param.inc
1.33
KB
-rw-r--r--
check_var_limit.inc
394
B
-rw-r--r--
cleanup_fake_relay_log.inc
669
B
-rw-r--r--
cleanup_folder.inc
155
B
-rw-r--r--
commandline_option_test.inc
799
B
-rw-r--r--
commit.inc
22.71
KB
-rw-r--r--
commit_crash_restart.inc
268
B
-rw-r--r--
common-tests.inc
116.44
KB
-rw-r--r--
concurrent.inc
25.06
KB
-rw-r--r--
cond_filter_queries.inc
9.16
KB
-rw-r--r--
config_file_option_test.inc
783
B
-rw-r--r--
connect2.inc
977
B
-rw-r--r--
count_sessions.inc
389
B
-rw-r--r--
create_575_part_table.inc
1.03
KB
-rw-r--r--
create_table.inc
135
B
-rw-r--r--
ctype_8bit.inc
2.85
KB
-rw-r--r--
ctype_ascii_order.inc
1.04
KB
-rw-r--r--
ctype_common.inc
2.83
KB
-rw-r--r--
ctype_czech.inc
437
B
-rw-r--r--
ctype_datetime.inc
333
B
-rw-r--r--
ctype_filesort.inc
377
B
-rw-r--r--
ctype_filesort2.inc
1006
B
-rw-r--r--
ctype_german.inc
1.42
KB
-rw-r--r--
ctype_heap.inc
479
B
-rw-r--r--
ctype_inet.inc
450
B
-rw-r--r--
ctype_innodb_like.inc
665
B
-rw-r--r--
ctype_like.inc
1.36
KB
-rw-r--r--
ctype_like_escape.inc
592
B
-rw-r--r--
ctype_like_ignorable.inc
427
B
-rw-r--r--
ctype_like_range_f1f2.inc
835
B
-rw-r--r--
ctype_numconv.inc
44.86
KB
-rw-r--r--
ctype_pad_space.inc
133
B
-rw-r--r--
ctype_regex.inc
1.18
KB
-rw-r--r--
ctype_unicode520.inc
7.13
KB
-rw-r--r--
ctype_unicode_latin.inc
10.23
KB
-rw-r--r--
ctype_utf8_table.inc
1.35
KB
-rw-r--r--
ctype_utf8mb4.inc
60.36
KB
-rw-r--r--
daemon_example_bad_format.ini
215
B
-rw-r--r--
daemon_example_bad_soname.ini
227
B
-rw-r--r--
ddl_i18n.check_events.inc
864
B
-rw-r--r--
ddl_i18n.check_sp.inc
1.48
KB
-rw-r--r--
ddl_i18n.check_triggers.inc
1.71
KB
-rw-r--r--
ddl_i18n.check_views.inc
544
B
-rw-r--r--
deadlock.inc
3.59
KB
-rw-r--r--
default_client.cnf
367
B
-rw-r--r--
default_my.cnf
544
B
-rw-r--r--
default_mysqld.cnf
2.89
KB
-rw-r--r--
default_mysqld_autosize.cnf
1.87
KB
-rw-r--r--
default_ndbd.cnf
1.59
KB
-rw-r--r--
delete_all_rows.inc
3.15
KB
-rw-r--r--
delete_anonymous_users.inc
207
B
-rw-r--r--
diff_servers.inc
2.2
KB
-rw-r--r--
diff_tables.inc
7.55
KB
-rw-r--r--
disconnect_connections.inc
350
B
-rw-r--r--
end_include_file.inc
2.43
KB
-rw-r--r--
end_replace_gtid_combination.i...
779
B
-rw-r--r--
endspace.inc
338
B
-rw-r--r--
escape_sql.inc
1.52
KB
-rw-r--r--
eval.inc
5.73
KB
-rw-r--r--
execute_at_sync_point.inc
3.55
KB
-rw-r--r--
execute_from_sync_point.inc
1.96
KB
-rw-r--r--
execute_from_sync_point_with_e...
1.93
KB
-rw-r--r--
execute_to_sync_point.inc
2.34
KB
-rw-r--r--
execute_with_statistics.inc
772
B
-rw-r--r--
expect_crash.inc
214
B
-rw-r--r--
expect_qep.inc
1.19
KB
-rw-r--r--
explain.inc
11.17
KB
-rw-r--r--
explain_for_connection.inc
1.68
KB
-rw-r--r--
explain_for_connection_rqg.inc
200.97
KB
-rw-r--r--
explain_for_connection_small.i...
22.17
KB
-rw-r--r--
explain_json.inc
10.93
KB
-rw-r--r--
explain_non_select.inc
30.23
KB
-rw-r--r--
explain_other.inc
1.03
KB
-rw-r--r--
explain_run_count.inc
93
B
-rw-r--r--
explain_utils.inc
5.15
KB
-rw-r--r--
file_does_not_exist.inc
340
B
-rw-r--r--
filter_file.inc
5.12
KB
-rw-r--r--
finish_option_test.inc
235
B
-rw-r--r--
force_binlog_format_statement....
204
B
-rw-r--r--
force_myisam_default.inc
207
B
-rw-r--r--
force_restart.inc
335
B
-rw-r--r--
force_restart_if_skipped.inc
346
B
-rw-r--r--
freebsd.inc
107
B
-rw-r--r--
func_aes_block.inc
3.95
KB
-rw-r--r--
func_in.inc
18.06
KB
-rw-r--r--
function_defaults.inc
34.97
KB
-rw-r--r--
generate_keys_before_migration...
2.16
KB
-rw-r--r--
get_file_permissions.inc
274
B
-rw-r--r--
get_frm_info.inc
2.67
KB
-rw-r--r--
get_handler_status_counts.inc
143
B
-rw-r--r--
get_ndb_epochs.inc
2.12
KB
-rw-r--r--
get_relay_log_pos.inc
2.77
KB
-rw-r--r--
get_row_count.inc
1.96
KB
-rw-r--r--
gis_debug.inc
8.41
KB
-rw-r--r--
gis_generic.inc
13.64
KB
-rw-r--r--
gis_keys.inc
1.97
KB
-rw-r--r--
grant_cache.inc
7.6
KB
-rw-r--r--
greedy_search_drop_tables.inc
167
B
-rw-r--r--
greedy_search_load_tables.inc
996
B
-rw-r--r--
grep_pattern.inc
2.08
KB
-rw-r--r--
group_by_fd.inc
29.2
KB
-rw-r--r--
group_replication_timeouts.inc
255
B
-rw-r--r--
gtid_prepare_and_execute_stmt....
839
B
-rw-r--r--
gtid_step_assert.inc
4.62
KB
-rw-r--r--
gtid_step_assert_on_retrieved....
3.73
KB
-rw-r--r--
gtid_step_reset.inc
476
B
-rw-r--r--
gtid_step_reset_on_retrieved.i...
565
B
-rw-r--r--
gtid_utils.inc
15.49
KB
-rw-r--r--
gtid_utils_end.inc
993
B
-rw-r--r--
handler.inc
49.53
KB
-rw-r--r--
have_32bit.inc
428
B
-rw-r--r--
have_64bit.inc
357
B
-rw-r--r--
have_QC_Disabled.inc
137
B
-rw-r--r--
have_archive.inc
180
B
-rw-r--r--
have_archive_plugin.inc
413
B
-rw-r--r--
have_audit_log_plugin.inc
688
B
-rw-r--r--
have_big5.inc
107
B
-rw-r--r--
have_binlog_checksum_off.inc
236
B
-rw-r--r--
have_binlog_format_mixed.inc
155
B
-rw-r--r--
have_binlog_format_mixed_or_ro...
181
B
-rw-r--r--
have_binlog_format_mixed_or_st...
193
B
-rw-r--r--
have_binlog_format_row.inc
153
B
-rw-r--r--
have_binlog_format_row_or_stat...
192
B
-rw-r--r--
have_binlog_format_statement.i...
159
B
-rw-r--r--
have_binlog_order_commits.test
308
B
-rw-r--r--
have_blackhole.inc
173
B
-rw-r--r--
have_blackhole_plugin.inc
427
B
-rw-r--r--
have_case_insensitive_file_sys...
134
B
-rw-r--r--
have_case_sensitive_file_syste...
132
B
-rw-r--r--
have_compress.inc
109
B
-rw-r--r--
have_cp1250_ch.inc
112
B
-rw-r--r--
have_cp1251.inc
115
B
-rw-r--r--
have_cp866.inc
113
B
-rw-r--r--
have_cp932.inc
110
B
-rw-r--r--
have_crypt.inc
103
B
-rw-r--r--
have_daemon_example_plugin.inc
387
B
-rw-r--r--
have_debug.inc
113
B
-rw-r--r--
have_debug_sync.inc
196
B
-rw-r--r--
have_dynamic_loading.inc
221
B
-rw-r--r--
have_engine_condition_pushdown...
170
B
-rw-r--r--
have_eucjpms.inc
114
B
-rw-r--r--
have_euckr.inc
108
B
-rw-r--r--
have_example_plugin.inc
566
B
-rw-r--r--
have_exampledb.inc
178
B
-rw-r--r--
have_expect.inc
628
B
-rw-r--r--
have_federated_plugin.inc
151
B
-rw-r--r--
have_firstmatch.inc
155
B
-rw-r--r--
have_gb18030.inc
113
B
-rw-r--r--
have_gb2312.inc
111
B
-rw-r--r--
have_gbk.inc
105
B
-rw-r--r--
have_geometry.inc
110
B
-rw-r--r--
have_grep.inc
319
B
-rw-r--r--
have_group_replication_plugin....
1.39
KB
-rw-r--r--
have_gtid.inc
378
B
-rw-r--r--
have_index_condition_pushdown....
169
B
-rw-r--r--
have_innochecksum_debug.inc
385
B
-rw-r--r--
have_innodb.inc
163
B
-rw-r--r--
have_innodb_16k.inc
231
B
-rw-r--r--
have_innodb_32k.inc
194
B
-rw-r--r--
have_innodb_4k.inc
229
B
-rw-r--r--
have_innodb_64k.inc
194
B
-rw-r--r--
have_innodb_8k.inc
229
B
-rw-r--r--
have_innodb_max_16k.inc
212
B
-rw-r--r--
have_innodb_zip.inc
216
B
-rw-r--r--
have_ipv4_mapped.inc
289
B
-rw-r--r--
have_ipv6.inc
339
B
-rw-r--r--
have_koi8r.inc
113
B
-rw-r--r--
have_latin2_ch.inc
112
B
-rw-r--r--
have_local_infile.inc
111
B
-rw-r--r--
have_log_bin.inc
314
B
-rw-r--r--
have_loosescan.inc
154
B
-rw-r--r--
have_lowercase0.inc
116
B
-rw-r--r--
have_lowercase1.inc
116
B
-rw-r--r--
have_lowercase2.inc
116
B
-rw-r--r--
have_materialization.inc
160
B
-rw-r--r--
have_max_indexes_128.inc
126
B
-rw-r--r--
have_max_indexes_64.inc
126
B
-rw-r--r--
have_mecab.inc
630
B
-rw-r--r--
have_memcached_plugin.inc
69
B
-rw-r--r--
have_mrr.inc
148
B
-rw-r--r--
have_multi_ndb.inc
2.02
KB
-rw-r--r--
have_myisam.inc
285
B
-rw-r--r--
have_mysql_no_login_plugin.inc
674
B
-rw-r--r--
have_mysql_upgrade.inc
134
B
-rw-r--r--
have_mysqld_safe.inc
756
B
-rw-r--r--
have_mysqlx_plugin.inc
70
B
-rw-r--r--
have_ndb.inc
659
B
-rw-r--r--
have_ndb_debug.inc
551
B
-rw-r--r--
have_ndb_extra.inc
65
B
-rw-r--r--
have_ndbapi_examples.inc
148
B
-rw-r--r--
have_ngram.inc
157
B
-rw-r--r--
have_no_undo_tablespaces.inc
195
B
-rw-r--r--
have_nodebug.inc
115
B
-rw-r--r--
have_not_innodb_plugin.inc
185
B
-rw-r--r--
have_null_audit_plugin.inc
701
B
-rw-r--r--
have_numa.inc
244
B
-rw-r--r--
have_openssl.inc
139
B
-rw-r--r--
have_openssl_binary.inc
1.48
KB
-rw-r--r--
have_openssl_support.inc
197
B
-rw-r--r--
have_openssl_version_1.1.0.inc
1.39
KB
-rw-r--r--
have_optimizer_trace.inc
291
B
-rw-r--r--
have_outfile.inc
171
B
-rw-r--r--
have_partition.inc
193
B
-rw-r--r--
have_partition_open_file_limit...
605
B
-rw-r--r--
have_perfschema.inc
146
B
-rw-r--r--
have_plugin_auth.inc
188
B
-rw-r--r--
have_plugin_interface.inc
187
B
-rw-r--r--
have_plugin_server.inc
178
B
-rw-r--r--
have_profiling.inc
112
B
-rw-r--r--
have_punch_hole.inc
813
B
-rw-r--r--
have_query_cache.inc
115
B
-rw-r--r--
have_query_cache_disabled.inc
1.01
KB
-rw-r--r--
have_replication_observers_exa...
988
B
-rw-r--r--
have_semijoin.inc
153
B
-rw-r--r--
have_semisync_plugin.inc
594
B
-rw-r--r--
have_sha256_rsa_auth.inc
305
B
-rw-r--r--
have_shm.inc
169
B
-rw-r--r--
have_simple_parser.inc
662
B
-rw-r--r--
have_sjis.inc
108
B
-rw-r--r--
have_slave_parallel_type_datab...
253
B
-rw-r--r--
have_slave_parallel_type_logic...
263
B
-rw-r--r--
have_slave_repository_type_fil...
241
B
-rw-r--r--
have_slave_repository_type_tab...
240
B
-rw-r--r--
have_ssl.inc
136
B
-rw-r--r--
have_ssl_communication.inc
136
B
-rw-r--r--
have_ssl_crypto_functs.inc
408
B
-rw-r--r--
have_statement_timeout.inc
127
B
-rw-r--r--
have_symlink.inc
291
B
-rw-r--r--
have_tis620.inc
108
B
-rw-r--r--
have_ucs2.inc
107
B
-rw-r--r--
have_udf.inc
630
B
-rw-r--r--
have_ujis.inc
108
B
-rw-r--r--
have_undo_tablespaces.inc
211
B
-rw-r--r--
have_utf16.inc
109
B
-rw-r--r--
have_utf32.inc
109
B
-rw-r--r--
have_utf8.inc
111
B
-rw-r--r--
have_utf8mb4.inc
117
B
-rw-r--r--
have_util_nc.inc
930
B
-rw-r--r--
have_util_unzip.inc
706
B
-rw-r--r--
have_valgrind.inc
182
B
-rw-r--r--
have_validate_password_plugin....
703
B
-rw-r--r--
ib_logfile_size_check.inc
278
B
-rw-r--r--
icp_tests.inc
25.61
KB
-rw-r--r--
if_encrypted.inc
845
B
-rw-r--r--
implicit_commit_helper.inc
123
B
-rw-r--r--
index_merge1.inc
23.14
KB
-rw-r--r--
index_merge2.inc
13.6
KB
-rw-r--r--
index_merge_2sweeps.inc
1.58
KB
-rw-r--r--
index_merge_delete.inc
6.1
KB
-rw-r--r--
index_merge_insert-and-replace...
3.59
KB
-rw-r--r--
index_merge_intersect_dml.inc
5.41
KB
-rw-r--r--
index_merge_multi_col_setup.in...
1.25
KB
-rw-r--r--
index_merge_ror.inc
11.76
KB
-rw-r--r--
index_merge_ror_cpk.inc
17.85
KB
-rw-r--r--
index_merge_single_col_setup.i...
1.2
KB
-rw-r--r--
index_merge_update.inc
4.56
KB
-rw-r--r--
init_option_test.inc
238
B
-rw-r--r--
innodb-index.inc
1.2
KB
-rw-r--r--
innodb-util.inc
3.47
KB
-rw-r--r--
innodb_gis_row_format_basic.in...
20.29
KB
-rw-r--r--
innodb_gis_undo.inc
293.94
KB
-rw-r--r--
innodb_pk_extension.inc
10.18
KB
-rw-r--r--
innodb_rollback_on_timeout.inc
931
B
-rw-r--r--
innodb_trx_weight.inc
861
B
-rw-r--r--
install_replication_observers_...
633
B
-rw-r--r--
install_semisync.inc
255
B
-rw-r--r--
install_semisync_master.inc
1011
B
-rw-r--r--
install_semisync_slave.inc
626
B
-rw-r--r--
io_thd_fault_injection.inc
598
B
-rw-r--r--
ipv6.inc
626
B
-rw-r--r--
ipv6_clients.inc
435
B
-rw-r--r--
ipv6_func.inc
1.38
KB
-rw-r--r--
is_embedded.inc
126
B
-rw-r--r--
join_cache.inc
70
KB
-rw-r--r--
keyring_udf_keyring_plugin_loa...
8.21
KB
-rw-r--r--
keyring_udf_keyring_plugin_loa...
2.83
KB
-rw-r--r--
keyring_udf_keyring_plugin_loa...
8.49
KB
-rw-r--r--
keyring_udf_keyring_plugin_not...
711
B
-rw-r--r--
keyring_udf_keyring_udf_plugin...
504
B
-rw-r--r--
keyring_udf_missing_plugin.inc
1.41
KB
-rw-r--r--
kill_and_restart_mysqld.inc
428
B
-rw-r--r--
kill_at_sync_point.inc
1.3
KB
-rw-r--r--
kill_mysqld.inc
245
B
-rw-r--r--
kill_query.inc
1.73
KB
-rw-r--r--
kill_query_and_diff_master_sla...
1.05
KB
-rw-r--r--
kill_wait_for_executed_gtid_se...
1.22
KB
-rw-r--r--
libdaemon_example.ini
230
B
-rw-r--r--
linux.inc
99
B
-rw-r--r--
linux_sys_vars.inc
604
B
-rw-r--r--
list_files_with_size_and_hash....
764
B
-rw-r--r--
load_sysvars.inc
442
B
-rw-r--r--
loaddata_autocom.inc
911
B
-rw-r--r--
log_builtin_as_identified_by_p...
1.63
KB
-rw-r--r--
m_i_db_common.inc
468
B
-rw-r--r--
m_i_db_startsvr.inc
1.38
KB
-rw-r--r--
master-slave.inc
1.89
KB
-rw-r--r--
max_indexes.inc
93
B
-rw-r--r--
memcache_config.inc
2.17
KB
-rw-r--r--
min_null_cond.inc
1.56
KB
-rw-r--r--
mix1.inc
49.15
KB
-rw-r--r--
mix2.inc
76.8
KB
-rw-r--r--
mix2_ucs2.inc
11.56
KB
-rw-r--r--
mrr_innodb_tests.inc
1.55
KB
-rw-r--r--
mrr_tests.inc
16.96
KB
-rw-r--r--
mtr_check.sql
6.31
KB
-rw-r--r--
mtr_system_tables_data.sql
3.72
KB
-rw-r--r--
mtr_test_data_timezone.sql
10.57
KB
-rw-r--r--
mtr_warnings.sql
13.68
KB
-rw-r--r--
mysql_have_debug.inc
979
B
-rw-r--r--
mysql_upgrade_cleanup.inc
258
B
-rw-r--r--
mysql_upgrade_preparation.inc
777
B
-rw-r--r--
mysqlbinlog.inc
1.77
KB
-rw-r--r--
mysqlbinlog_have_debug.inc
989
B
-rw-r--r--
mysqlbinlog_raw_mode.inc
9.74
KB
-rw-r--r--
mysqld--help.inc
2.56
KB
-rw-r--r--
mysqldump.inc
2.02
KB
-rw-r--r--
mysqlpump_stmt.inc
11.64
KB
-rw-r--r--
mysqltest-x.inc
41
B
-rw-r--r--
ndb_backup.inc
405
B
-rw-r--r--
ndb_backup_id.inc
930
B
-rw-r--r--
ndb_backup_print.inc
459
B
-rw-r--r--
ndb_not_readonly.inc
925
B
-rw-r--r--
ndb_restore_master.inc
612
B
-rw-r--r--
ndb_restore_slave_eoption.inc
626
B
-rw-r--r--
ndb_setup_slave.inc
869
B
-rw-r--r--
ndb_wait_connected.inc
470
B
-rw-r--r--
no_checkpoint_end.inc
1.11
KB
-rw-r--r--
no_checkpoint_start.inc
202
B
-rw-r--r--
no_protocol.inc
304
B
-rw-r--r--
no_running_event_scheduler.inc
1.51
KB
-rw-r--r--
no_running_events.inc
1.72
KB
-rw-r--r--
no_valgrind_without_big.inc
355
B
-rw-r--r--
not_as_root.inc
45
B
-rw-r--r--
not_asan.inc
109
B
-rw-r--r--
not_binlog_format_row.inc
92
B
-rw-r--r--
not_blackhole.inc
173
B
-rw-r--r--
not_crashrep.inc
594
B
-rw-r--r--
not_embedded.inc
127
B
-rw-r--r--
not_group_replication_plugin.i...
444
B
-rw-r--r--
not_gtid_enabled.inc
349
B
-rw-r--r--
not_log_bin.inc
324
B
-rw-r--r--
not_lowercase1.inc
392
B
-rw-r--r--
not_master_info_table.inc
121
B
-rw-r--r--
not_min_protocol_tlsv12.inc
1.13
KB
-rw-r--r--
not_mts_slave_parallel_workers...
91
B
-rw-r--r--
not_ndb.inc
183
B
-rw-r--r--
not_ndb_default.inc
236
B
-rw-r--r--
not_ndb_is.inc
638
B
-rw-r--r--
not_openssl.inc
106
B
-rw-r--r--
not_parallel.inc
63
B
-rw-r--r--
not_relay_log_info_table.inc
127
B
-rw-r--r--
not_ssl.inc
98
B
-rw-r--r--
not_threadpool.inc
238
B
-rw-r--r--
not_valgrind.inc
118
B
-rw-r--r--
not_var_link.inc
498
B
-rw-r--r--
not_windows.inc
165
B
-rw-r--r--
not_windows_embedded.inc
305
B
-rw-r--r--
null_key.inc
9.7
KB
-rw-r--r--
one_thread_per_connection.inc
111
B
-rw-r--r--
only_binlog_transaction_depend...
160
B
-rw-r--r--
only_mts_slave_parallel_type_d...
136
B
-rw-r--r--
only_mts_slave_parallel_type_l...
146
B
-rw-r--r--
only_mts_slave_parallel_worker...
100
B
-rw-r--r--
only_with_option.inc
1.44
KB
-rw-r--r--
openssl_cert_generation_debug_...
481
B
-rw-r--r--
order_by.inc
76.76
KB
-rw-r--r--
parser-big.inc
1.74
KB
-rw-r--r--
parser_bug21114.inc
1.32
KB
-rw-r--r--
partition_date_range.inc
2.63
KB
-rw-r--r--
partition_default_functions.in...
3.11
KB
-rw-r--r--
plugin.defs
4.94
KB
-rw-r--r--
plugin_auth_check_non_default_...
131
B
-rw-r--r--
print_greedy_search_count.inc
571
B
-rw-r--r--
ps_conv.inc
47.96
KB
-rw-r--r--
ps_create.inc
1.48
KB
-rw-r--r--
ps_ddl_1.inc
468
B
-rw-r--r--
ps_modify.inc
10.3
KB
-rw-r--r--
ps_modify1.inc
3.16
KB
-rw-r--r--
ps_query.inc
24.3
KB
-rw-r--r--
ps_query_explain_select.inc
368
B
-rw-r--r--
ps_renew.inc
1.48
KB
-rw-r--r--
purge_first_log.inc
432
B
-rw-r--r--
query_cache.inc
5.74
KB
-rw-r--r--
query_cache_sql_prepare.inc
14.11
KB
-rw-r--r--
rand.inc
3.23
KB
-rw-r--r--
range.inc
85.45
KB
-rw-r--r--
read_file_to_var.inc
936
B
-rw-r--r--
read_many_rows.inc
4.29
KB
-rw-r--r--
read_only_bug28438114.inc
962
B
-rw-r--r--
relocate_binlogs.inc
3.36
KB
-rw-r--r--
remove_debug_point.inc
2.27
KB
-rw-r--r--
report-features.test
186
B
-rw-r--r--
restart_mysqld.inc
1.5
KB
-rw-r--r--
restart_slave_sql.inc
1002
B
-rw-r--r--
restore_default_binlog_format....
102
B
-rw-r--r--
restore_group_replication_auto...
1.82
KB
-rw-r--r--
restore_sql_mode_after_turn_of...
85
B
-rw-r--r--
restore_strict_mode.inc
84
B
-rw-r--r--
rowid_order.inc
3.08
KB
-rw-r--r--
rpl_change_topology.inc
8.41
KB
-rw-r--r--
rpl_change_topology_helper.inc
5.08
KB
-rw-r--r--
rpl_connect.inc
2.33
KB
-rw-r--r--
rpl_connection.inc
1.89
KB
-rw-r--r--
rpl_connection_master.inc
69
B
-rw-r--r--
rpl_connection_master1.inc
70
B
-rw-r--r--
rpl_connection_slave.inc
68
B
-rw-r--r--
rpl_connection_slave1.inc
69
B
-rw-r--r--
rpl_default_connections.inc
1.43
KB
-rw-r--r--
rpl_diff.inc
3.8
KB
-rw-r--r--
rpl_end.inc
5.27
KB
-rw-r--r--
rpl_events.inc
5.83
KB
-rw-r--r--
rpl_for_each_connection.inc
2.1
KB
-rw-r--r--
rpl_for_each_server.inc
1004
B
-rw-r--r--
rpl_generate_sync_chain.inc
5.73
KB
-rw-r--r--
rpl_get_end_of_relay_log.inc
2.17
KB
-rw-r--r--
rpl_group_replication_default_...
2.16
KB
-rw-r--r--
rpl_group_replication_plugin_i...
351
B
-rw-r--r--
rpl_hash_scan_assertion.inc
347
B
-rw-r--r--
rpl_init.inc
15.46
KB
-rw-r--r--
rpl_ip_mix.inc
772
B
-rw-r--r--
rpl_ip_mix2.inc
772
B
-rw-r--r--
rpl_ipv6.inc
661
B
-rw-r--r--
rpl_loaddata_charset.inc
781
B
-rw-r--r--
rpl_multi_engine.inc
729
B
-rw-r--r--
rpl_multi_engine3.inc
2.21
KB
-rw-r--r--
rpl_read_binlog_index_into_tab...
1.18
KB
-rw-r--r--
rpl_receive_event_count.inc
8.49
KB
-rw-r--r--
rpl_reconnect.inc
5.37
KB
-rw-r--r--
rpl_reset.inc
2.16
KB
-rw-r--r--
rpl_reset_master_helper.inc
54
B
-rw-r--r--
rpl_reset_slave_helper.inc
458
B
-rw-r--r--
rpl_restart_server.inc
1.44
KB
-rw-r--r--
rpl_row_img_general_loop.inc
1.18
KB
-rw-r--r--
rpl_row_img_parts_assertion.in...
3.02
KB
-rw-r--r--
rpl_row_img_parts_master_slave...
3.04
KB
-rw-r--r--
rpl_row_img_set.inc
1.51
KB
-rw-r--r--
rpl_set_gtid_mode.inc
5.48
KB
-rw-r--r--
rpl_skip_to_end_of_relay_log.i...
1.96
KB
-rw-r--r--
rpl_start_server.inc
4.68
KB
-rw-r--r--
rpl_start_slaves.inc
848
B
-rw-r--r--
rpl_stmt_seq.inc
7.63
KB
-rw-r--r--
rpl_stop_server.inc
2.26
KB
-rw-r--r--
rpl_stop_slaves.inc
787
B
-rw-r--r--
rpl_sync.inc
6.39
KB
-rw-r--r--
rpl_udf.inc
5.66
KB
-rw-r--r--
running_event_scheduler.inc
1.76
KB
-rw-r--r--
safe_set_to_maybe_ro_var.inc
707
B
-rw-r--r--
save_binlog_position.inc
731
B
-rw-r--r--
save_io_thread_pos.inc
1.66
KB
-rw-r--r--
save_master_pos.inc
1.83
KB
-rw-r--r--
save_semisync_yesno_tx.inc
466
B
-rw-r--r--
search_pattern.inc
1.07
KB
-rw-r--r--
search_pattern_in_file.inc
2.8
KB
-rw-r--r--
select.inc
191.02
KB
-rw-r--r--
server_option_test.pm
7.02
KB
-rw-r--r--
set_binlog_format_mixed.sql
1.2
KB
-rw-r--r--
set_binlog_format_row.sql
1.2
KB
-rw-r--r--
set_binlog_format_statement.sq...
1.21
KB
-rw-r--r--
set_gtid_next.inc
1.85
KB
-rw-r--r--
set_gtid_next_gtid_mode_agnost...
2.19
KB
-rw-r--r--
setup_fake_relay_log.inc
3.88
KB
-rw-r--r--
show_all_binlogs.inc
1.68
KB
-rw-r--r--
show_all_relay_logs.inc
2.5
KB
-rw-r--r--
show_binary_logs.inc
91
B
-rw-r--r--
show_binlog_events.inc
2.62
KB
-rw-r--r--
show_binlog_events_server_id.i...
1.36
KB
-rw-r--r--
show_delayed_slave_state.inc
1.47
KB
-rw-r--r--
show_events.inc
3.93
KB
-rw-r--r--
show_file_size.inc
480
B
-rw-r--r--
show_json_object.inc
1.53
KB
-rw-r--r--
show_master_logs.inc
106
B
-rw-r--r--
show_master_status.inc
155
B
-rw-r--r--
show_msg.inc
747
B
-rw-r--r--
show_msg80.inc
4.46
KB
-rw-r--r--
show_relaylog_events.inc
519
B
-rw-r--r--
show_rpl_debug_info.inc
5.75
KB
-rw-r--r--
show_slave_hosts.inc
194
B
-rw-r--r--
show_slave_status.inc
4.07
KB
-rw-r--r--
shutdown_mysqld.inc
750
B
-rw-r--r--
sp-vars.inc
3.34
KB
-rw-r--r--
start_group_replication.inc
3.29
KB
-rw-r--r--
start_group_replication_comman...
1.04
KB
-rw-r--r--
start_mysqld.inc
675
B
-rw-r--r--
start_slave.inc
1007
B
-rw-r--r--
start_slave_io.inc
1.03
KB
-rw-r--r--
start_slave_sql.inc
1.04
KB
-rw-r--r--
start_transaction_high_prio.in...
957
B
-rw-r--r--
stop_dump_threads.inc
1020
B
-rw-r--r--
stop_group_replication.inc
2.05
KB
-rw-r--r--
stop_mysqld.inc
1.1
KB
-rw-r--r--
stop_slave.inc
2.94
KB
-rw-r--r--
stop_slave_io.inc
1.17
KB
-rw-r--r--
stop_slave_sql.inc
1.08
KB
-rw-r--r--
store_group_replication_auto_i...
2.85
KB
-rw-r--r--
strict_autoinc.inc
626
B
-rw-r--r--
subquery.inc
202.57
KB
-rw-r--r--
subquery_mat.inc
46.47
KB
-rw-r--r--
subquery_sj.inc
196.86
KB
-rw-r--r--
subquery_sj_innodb.inc
4.15
KB
-rw-r--r--
sync_slave_io.inc
2.78
KB
-rw-r--r--
sync_slave_io_with_master.inc
1.57
KB
-rw-r--r--
sync_slave_sql.inc
4.88
KB
-rw-r--r--
sync_slave_sql_with_io.inc
969
B
-rw-r--r--
sync_slave_sql_with_master.inc
2.42
KB
-rw-r--r--
system_db_struct.inc
453
B
-rw-r--r--
test_fieldsize.inc
724
B
-rw-r--r--
test_outfile.inc
76
B
-rw-r--r--
testdb_only.inc
1.39
KB
-rw-r--r--
tpcb.inc
4.37
KB
-rw-r--r--
tpcb_disk_data.inc
4.76
KB
-rw-r--r--
trigger_17864349.inc
577
B
-rw-r--r--
truncate_file.inc
315
B
-rw-r--r--
turn_off_only_full_group_by.in...
200
B
-rw-r--r--
turn_off_strict_mode.inc
244
B
-rw-r--r--
uninstall_replication_observer...
377
B
-rw-r--r--
uninstall_semisync.inc
708
B
-rw-r--r--
uninstall_semisync_master.inc
508
B
-rw-r--r--
uninstall_semisync_slave.inc
395
B
-rw-r--r--
unsafe_binlog.inc
6.78
KB
-rw-r--r--
user_57_to_56.inc
406
B
-rw-r--r--
uses_vardir.inc
385
B
-rw-r--r--
varchar.inc
7.15
KB
-rw-r--r--
vardir_size_check.inc
547
B
-rw-r--r--
view_alias.inc
1.05
KB
-rw-r--r--
wait_condition.inc
1.54
KB
-rw-r--r--
wait_condition_or_abort.inc
780
B
-rw-r--r--
wait_condition_sp.inc
1.27
KB
-rw-r--r--
wait_for_binlog_event.inc
1.09
KB
-rw-r--r--
wait_for_file_closed.inc
503
B
-rw-r--r--
wait_for_mts_checkpoint.inc
399
B
-rw-r--r--
wait_for_ndb_committed_to_binl...
1.87
KB
-rw-r--r--
wait_for_query_to_fail.inc
455
B
-rw-r--r--
wait_for_query_to_succeed.inc
590
B
-rw-r--r--
wait_for_semisync_master_statu...
277
B
-rw-r--r--
wait_for_semisync_master_statu...
274
B
-rw-r--r--
wait_for_slave_io_error.inc
4.04
KB
-rw-r--r--
wait_for_slave_io_to_start.inc
1.34
KB
-rw-r--r--
wait_for_slave_io_to_stop.inc
1.04
KB
-rw-r--r--
wait_for_slave_param.inc
6.79
KB
-rw-r--r--
wait_for_slave_sql_error.inc
3.48
KB
-rw-r--r--
wait_for_slave_sql_error_and_s...
1.77
KB
-rw-r--r--
wait_for_slave_sql_to_start.in...
990
B
-rw-r--r--
wait_for_slave_sql_to_stop.inc
1.08
KB
-rw-r--r--
wait_for_slave_to_start.inc
779
B
-rw-r--r--
wait_for_slave_to_stop.inc
1.02
KB
-rw-r--r--
wait_for_slave_to_sync_with_ma...
578
B
-rw-r--r--
wait_for_status_var.inc
2.92
KB
-rw-r--r--
wait_for_wait_for_executed_gti...
614
B
-rw-r--r--
wait_innodb_all_purged.inc
1.34
KB
-rw-r--r--
wait_show_condition.inc
3.83
KB
-rw-r--r--
wait_time_until_connected_agai...
735
B
-rw-r--r--
wait_until_connected_again.inc
773
B
-rw-r--r--
wait_until_count_sessions.inc
4.12
KB
-rw-r--r--
wait_until_disconnected.inc
612
B
-rw-r--r--
wait_until_rows_count.inc
352
B
-rw-r--r--
weight_string.inc
1.28
KB
-rw-r--r--
weight_string_81309D30.inc
2.42
KB
-rw-r--r--
weight_string_8140.inc
2.07
KB
-rw-r--r--
weight_string_8EA1.inc
2.07
KB
-rw-r--r--
weight_string_8FA2C3.inc
2.2
KB
-rw-r--r--
weight_string_A1A1.inc
2.07
KB
-rw-r--r--
weight_string_A2A9.inc
2.13
KB
-rw-r--r--
weight_string_chde.inc
3.26
KB
-rw-r--r--
weight_string_euro.inc
1.81
KB
-rw-r--r--
weight_string_l1.inc
497
B
-rw-r--r--
weight_string_l12.inc
199
B
-rw-r--r--
weight_string_l14.inc
1.28
KB
-rw-r--r--
weight_string_l2.inc
312
B
-rw-r--r--
weight_string_l3.inc
497
B
-rw-r--r--
weight_string_l4.inc
497
B
-rw-r--r--
windows.inc
118
B
-rw-r--r--
windows_sys_vars.inc
600
B
-rw-r--r--
wl6219-engine.test
3.63
KB
-rw-r--r--
wl6301.inc
2.89
KB
-rw-r--r--
world.inc
162.21
KB
-rw-r--r--
world_schema.inc
731
B
-rw-r--r--
world_schema1.inc
549
B
-rw-r--r--
write_result_to_file.inc
3.15
KB
-rw-r--r--
write_var_to_file.inc
1.77
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : gtid_utils.inc
# ==== Purpose ==== # # Define the auxiliary stored functions operating on sets of GTIDs. # The functions are typically useful to check assertions related to # GTIDs. The following functions are defined: # # GTID_IS_EQUAL(gtid_set_1, gtid_set_2) # True if gtid_set_1 and gtid_set_2 are the same set # GTID_IS_DISJOINT(gtid_set_1, gtid_set_2) # True if gtid_set_1 and gtid_set_2 are disjoint # GTID_IS_DISJOINT_UNION(gtid_set_1, gtid_set_2, sum) # True if sum is the disjoint union of gtid_set_1 and gtid_set_2 # GTID_NORMALIZE(gtid_set) # Return the gtid set in a normalized form: all uuids in alphabetic # order, all intervals compressed and in order, no whitespace, all # lowercase. # GTID_UNION(gtid_set_1, gtid_set_2) # Return the union of gtid_set_1 and gtid_set_2 # GTID_INTERSECTION(gtid_set_1, gtid_set_2) # Return the intersection of gtid_set_1 and gtid_set_2 # GTID_SYMMETRIC_DIFFERENCE(gtid_set_1, gtid_set_2) # Return the symmetric difference of gtid_set_1 and gtid_set_2 # GTID_SUBTRACT_UUID(gtid_set, uuid) # Remove the UUID from the GTID set # GTID_INTERSECTION_WITH_UUID(gtid_set, uuid) # Return only the gtids with the given uuid from the GTID set # GTID_COUNT(gtid_set) # Return the number of gtids in the gtid_set. # GTID_FROM_GTID_SET(gtid_set) # Return one GTID from the given GTID set. # GTID_NEXT_GENERATED(gtid_set, uuid) # Return the next GNO that will be generated for the given uuid. # GTID_NEXT_GENERATED_MULTIPLE(gtid_set, uuid, count) # Return the GTID set consisting of the next 'count' GTIDs that will # be generated for the given uuid. # GTID_NEXT_GENERATED_SET(base, diff) # Return the GTID set obtained by replacing any substring of diff # that has the form 'UUID:+N' by # GTID_NEXT_GENERATED_MULTIPLE(base, UUID, N). # GTID_COMPARE(old, diff, new) # The same as GTID_IS_DISJOINT_UNION, except it has the following # additional feature: if diff begins by '~', then it returns true # if 'old' is the disjoint union of 'new' and 'diff' (where the # tilde is removed). # GTID_EXECUTED_FROM_TABLE() # Return a canonicalized Gtid_set containing the GTIDs in the # mysql.gtid_executed table. # NUMBER_TO_UUID(N) # Given a number N between 0 and 99, returns a uuid consisting of the # number repeated, like: # NUMBER_TO_UUID(1) -> '01010101-0101-0101-0101-010101010101' # This works also if N is a GTID set, like: # NUMBER_TO_UUID('1:4-5,97:1') -> # '01010101-0101-0101-0101-010101010101:4-5, # 97979797-9797-9797-9797-979797979797:1' # UUID_TO_NUMBER(UUID) # The inverse of NUMBER_TO_UUID. # # ==== Usage ==== # # You should not normally source this file directly; instead set # $rpl_gtid_utils=1 before sourcing master-slave.inc or rpl_init.inc. # Then, the functions are automatically dropped in rpl_end.inc, and # RESET MASTER is executed so that the functions do not pollute the # binary log. # # If you really need to use this file manually, do this: # # 1. Create the stored functions at the beginning of the test script: # # --source include/gtid_utils.inc # # 2. Use the functions as you like during the test script. # # 3. Delete the stored functions at the end of the test script: # # --source include/gtid_utils_end.inc --let $include_filename= gtid_utils.inc --source include/begin_include_file.inc if (!$rpl_debug) { --disable_query_log } --let $gtid_utils_included=1 --delimiter | # For convenience, declare these human-readable, deterministic uuids here --let $uuid0= 00000000-0000-0000-0000-000000000000 --let $uuid1= 11111111-1111-1111-1111-111111111111 --let $uuid2= 22222222-2222-2222-2222-222222222222 --let $uuid3= 33333333-3333-3333-3333-333333333333 --let $uuid4= 44444444-4444-4444-4444-444444444444 --let $uuid5= 55555555-5555-5555-5555-555555555555 --let $uuid6= 66666666-6666-6666-6666-666666666666 --let $uuid7= 77777777-7777-7777-7777-777777777777 --let $uuid8= 88888888-8888-8888-8888-888888888888 --let $uuid9= 99999999-9999-9999-9999-999999999999 --let $uuida= aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa --let $uuidb= bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb --let $uuidc= cccccccc-cccc-cccc-cccc-cccccccccccc --let $uuidd= dddddddd-dddd-dddd-dddd-dddddddddddd --let $uuide= eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee --let $uuidf= ffffffff-ffff-ffff-ffff-ffffffffffff # Return nonzero if the two gtid_sets are equal. CREATE FUNCTION GTID_IS_EQUAL(gtid_set_1 TEXT(10000), gtid_set_2 TEXT(10000)) RETURNS INT RETURN GTID_SUBSET(gtid_set_1, gtid_set_2) AND GTID_SUBSET(gtid_set_2, gtid_set_1)| # Return nonzero if the two gtid_sets are disjoint. CREATE FUNCTION GTID_IS_DISJOINT(gtid_set_1 TEXT(10000), gtid_set_2 TEXT(10000)) RETURNS INT RETURN GTID_SUBSET(gtid_set_1, GTID_SUBTRACT(gtid_set_1, gtid_set_2))| # Return true if gtid_set_1 union gtid_set_2 = sum, and gtid_set_1 and gtid_set_2 are disjoint. CREATE FUNCTION GTID_IS_DISJOINT_UNION(gtid_set_1 TEXT(10000), gtid_set_2 TEXT(10000), sum TEXT(10000)) RETURNS INT RETURN GTID_IS_EQUAL(GTID_SUBTRACT(sum, gtid_set_1), gtid_set_2) AND GTID_IS_EQUAL(GTID_SUBTRACT(sum, gtid_set_2), gtid_set_1)| # Return a normalized form of the GTID (all uppercase, no whitespace, # no duplicates, uuids in alphabetic order, intervals in numeric # order). CREATE FUNCTION GTID_NORMALIZE(g TEXT(10000)) RETURNS TEXT(10000) RETURN GTID_SUBTRACT(g, '')| # Return the union of gtid_set_1 and gtid_set_2. CREATE FUNCTION GTID_UNION(gtid_set_1 TEXT(10000), gtid_set_2 TEXT(10000)) RETURNS TEXT(10000) RETURN GTID_NORMALIZE(CONCAT(gtid_set_1, ',', gtid_set_2))| # Return the intersection of gtid_set_1 and gtid_set_2. CREATE FUNCTION GTID_INTERSECTION(gtid_set_1 TEXT(10000), gtid_set_2 TEXT(10000)) RETURNS TEXT(10000) RETURN GTID_SUBTRACT(gtid_set_1, GTID_SUBTRACT(gtid_set_1, gtid_set_2))| # Return the symmetric difference between gtid_set_1 and gtid_set_2. CREATE FUNCTION GTID_SYMMETRIC_DIFFERENCE(gtid_set_1 TEXT(10000), gtid_set_2 TEXT(10000)) RETURNS TEXT(10000) RETURN GTID_SUBTRACT(CONCAT(gtid_set_1, ',', gtid_set_2), GTID_INTERSECTION(gtid_set_1, gtid_set_2))| # Return the gtid with uuid removed. CREATE FUNCTION GTID_SUBTRACT_UUID(gtid_set TEXT(10000), uuid TEXT(100)) RETURNS TEXT(10000) RETURN GTID_SUBTRACT(gtid_set, CONCAT(UUID, ':1-', 1 << 63 - 1))| # Return the intersection of gtid and uuid. CREATE FUNCTION GTID_INTERSECTION_WITH_UUID(gtid_set TEXT(10000), uuid TEXT(100)) RETURNS TEXT(10000) RETURN GTID_SUBTRACT(gtid_set, GTID_SUBTRACT_UUID(gtid_set, uuid))| # If the first argument is nonzero, return it, else return the second argument CREATE FUNCTION IFZERO(a INT, b INT) RETURNS INT RETURN IF(a = 0, b, a)| # Like the builtin LOCATE, but returns length+1 rather than 0 if nothing found. CREATE FUNCTION LOCATE2(needle TEXT(10000), haystack TEXT(10000), offset INT) RETURNS INT RETURN IFZERO(LOCATE(needle, haystack, offset), LENGTH(haystack) + 1)| # Return the number of GTIDs in the given GTID set. CREATE FUNCTION GTID_COUNT(gtid_set TEXT(10000)) RETURNS INT BEGIN DECLARE result BIGINT DEFAULT 0; DECLARE colon_pos INT; DECLARE next_dash_pos INT; DECLARE next_colon_pos INT; DECLARE next_comma_pos INT; SET gtid_set = GTID_NORMALIZE(gtid_set); SET colon_pos = LOCATE2(':', gtid_set, 1); WHILE colon_pos != LENGTH(gtid_set) + 1 DO SET next_dash_pos = LOCATE2('-', gtid_set, colon_pos + 1); SET next_colon_pos = LOCATE2(':', gtid_set, colon_pos + 1); SET next_comma_pos = LOCATE2(',', gtid_set, colon_pos + 1); IF next_dash_pos < next_colon_pos AND next_dash_pos < next_comma_pos THEN SET result = result + SUBSTR(gtid_set, next_dash_pos + 1, LEAST(next_colon_pos, next_comma_pos) - (next_dash_pos + 1)) - SUBSTR(gtid_set, colon_pos + 1, next_dash_pos - (colon_pos + 1)) + 1; ELSE SET result = result + 1; END IF; SET colon_pos = next_colon_pos; END WHILE; RETURN result; END| # Returns one GTID from a GTID set. CREATE FUNCTION GTID_FROM_GTID_SET(gtid_set TEXT(10000)) RETURNS VARCHAR(100) BEGIN DECLARE normalized VARCHAR(10000) DEFAULT GTID_NORMALIZE(gtid_set); DECLARE end_of_number INT DEFAULT LEAST(LOCATE2('-', normalized, 38), LOCATE2(':', normalized, 38), LOCATE2(',', normalized, 38)); RETURN SUBSTR(normalized, 1, end_of_number - 1); END| # Return the next GNO (numeric component) to be generated for the given UUID CREATE FUNCTION GTID_NEXT_GENERATED(gtid_set TEXT(10000), uuid TEXT(100)) RETURNS INT BEGIN DECLARE gtid_uuid TEXT(10000) DEFAULT GTID_INTERSECTION_WITH_UUID(gtid_set, uuid); DECLARE colon_pos INT DEFAULT LOCATE2(':', gtid_uuid, 1); DECLARE next_dash_pos INT DEFAULT LOCATE2('-', gtid_uuid, colon_pos + 1); DECLARE next_comma_pos INT DEFAULT LOCATE2(',', gtid_uuid, colon_pos + 1); DECLARE next_colon_pos INT DEFAULT LOCATE2(':', gtid_uuid, colon_pos + 1); IF gtid_uuid = '' THEN RETURN 1; ELSEIF SUBSTR(gtid_uuid, colon_pos + 1, LEAST(next_dash_pos, next_comma_pos, next_colon_pos) - (colon_pos + 1)) != '1' THEN RETURN 1; ELSEIF next_dash_pos < LEAST(next_comma_pos, next_colon_pos) THEN RETURN SUBSTR(gtid_uuid, next_dash_pos + 1, LEAST(next_comma_pos, next_colon_pos) - (next_dash_pos + 1)) + 1; ELSE RETURN 2; END IF; END| # Return a GTID set consisting of the the next 'count' GTIDs that will # be generated for the given UUID. # This is inefficient if count is big, consider optimizing it if needed. CREATE FUNCTION GTID_NEXT_GENERATED_MULTIPLE(gtid_set TEXT(10000), uuid TEXT(100), count INT) RETURNS TEXT(10000) BEGIN DECLARE result TEXT(10000) DEFAULT ''; DECLARE number INT; DECLARE new_gtid VARCHAR(100); WHILE count > 0 DO SET new_gtid = CONCAT(uuid, ':', GTID_NEXT_GENERATED(gtid_set, uuid)); SET result = GTID_UNION(result, new_gtid); SET gtid_set = GTID_UNION(gtid_set, new_gtid); SET count = count - 1; END WHILE; RETURN result; END| # Return the GTID set obtained by replacing any substring of diff that # has the form 'UUID:+N' by GTID_NEXT_GENERATED_MULTIPLE(base, UUID, N). CREATE FUNCTION GTID_NEXT_GENERATED_SET(base VARCHAR(10000), diff VARCHAR(10000)) RETURNS TEXT(10000) BEGIN DECLARE colon_plus_pos INT DEFAULT LOCATE(':+', diff); DECLARE uuid TEXT(36); DECLARE end_of_number_pos INT; DECLARE number INT; WHILE colon_plus_pos != 0 DO SET uuid = SUBSTR(diff, colon_plus_pos - 36, 36); SET end_of_number_pos= LEAST(LOCATE2(':', diff, colon_plus_pos + 2), LOCATE2(',', diff, colon_plus_pos + 2)); SET number = SUBSTR(diff, colon_plus_pos + 2, end_of_number_pos - colon_plus_pos - 2); SET diff = CONCAT(SUBSTR(diff, 1, colon_plus_pos - 1), SUBSTR(diff, end_of_number_pos), ',', GTID_NEXT_GENERATED_MULTIPLE(base, uuid, number)); SET colon_plus_pos = LOCATE(':+', diff); END WHILE; RETURN GTID_NORMALIZE(diff); END| # Return true if gtid_set 'new' is obtained by adding 'diff' to 'old', # and all three are disjoint. # # If 'diff' is prefixed by a tilde, then returns true if 'old' is # obtained by adding 'diff' (with the tilde removed) from 'new'. # # If 'diff' contains substrings of the format UUID:+N, then this is # interpreted as GTID_NEXT_GENERATED_SET(old, diff). CREATE FUNCTION GTID_COMPARE(old TEXT(10000), diff TEXT(10000), new TEXT(10000)) RETURNS TEXT(10000) RETURN IF(SUBSTR(diff, 1, 1) != '~', GTID_IS_DISJOINT_UNION(old, GTID_NEXT_GENERATED_SET(old, diff), new), GTID_IS_DISJOINT_UNION(new, GTID_NEXT_GENERATED_SET(old, SUBSTR(diff, 2)), old))| # Read a Gtid_set from gtid_executed table CREATE FUNCTION GTID_EXECUTED_FROM_TABLE() RETURNS VARCHAR(10000) BEGIN DECLARE old_group_concat_max_len INT DEFAULT @@SESSION.GROUP_CONCAT_MAX_LEN; DECLARE tmp TEXT(100000); SET @@SESSION.GROUP_CONCAT_MAX_LEN = 100000; SELECT GROUP_CONCAT(CONCAT(source_uuid, ':', interval_start, '-', interval_end) SEPARATOR ',') FROM mysql.gtid_executed INTO tmp; SET @@SESSION.GROUP_CONCAT_MAX_LEN = old_group_concat_max_len; RETURN GTID_NORMALIZE(tmp); END| # convert strings like '1:4-5,97:1' to # '01010101-0101-0101-0101-010101010101:4-5,97979797-9797-9797-9797-979797979797:1' CREATE FUNCTION NUMBER_TO_UUID(str TEXT(10000)) RETURNS TEXT(10000) BEGIN DECLARE pos INT DEFAULT 0;# pos. before next number to replace by UUID in str DECLARE colon INT; # position of next ':' after pos in str DECLARE n TEXT(3); # number between comma and colon DECLARE nn TEXT(5); # n, zero-padded to 2 digits, repeated twice DECLARE _uuid TEXT(37); # UUID generated from nn DECLARE comma INT; # position of next ',' after pos DECLARE tilde INT; # position of next '~' after pos IF str = '' or str IS NULL THEN RETURN str; END IF; IF SUBSTR(str, 1, 1) = '~' THEN SET pos = 1; END IF; REPEAT # find end of number SET colon = LOCATE(':', str, pos + 1); # get number SET n = SUBSTR(str, pos + 1, colon - pos - 1); # convert number to uuid SET nn = REPEAT(LPAD(n, 2, '0'), 2); # length != 4 happens if the string already contains a uuid IF LENGTH(nn) = 4 THEN SET _uuid = CONCAT(nn, nn, '-', nn, '-', nn, '-', nn, '-', nn, nn, nn); # replace number by uuid SET str = CONCAT(SUBSTR(str, 1, pos), _uuid, SUBSTR(str, colon)); END IF; # find next substring to replace SET comma = LOCATE(',', str, pos + 1), tilde = LOCATE('~', str, pos + 1); SET pos = IF(comma != 0 AND (tilde = 0 OR comma < tilde), comma, tilde); UNTIL pos = 0 END REPEAT; RETURN str; END| # convert strings like '01010101-0101-0101-0101-010101010101:4-5, # 97979797-9797-9797-9797-979797979797:1' # to '1:4-5,97:1' CREATE FUNCTION UUID_TO_NUMBER(str TEXT(10000)) RETURNS TEXT(10000) BEGIN DECLARE pos INT DEFAULT 0; # position before next UUID in str DECLARE colon INT; # position of first ':' after pos in str DECLARE _uuid TEXT(37); # UUID between ',' and ':' DECLARE n TEXT(5); # the two digits that are repeated in UUID DECLARE comma INT; # position of next ',' after pos DECLARE tilde INT; # position of next '~' after pos IF str = '' or str IS NULL THEN RETURN str; END IF; IF SUBSTR(str, 1, 1) = '~' THEN SET pos = 1; END IF; # trim newlines SET str = REPLACE(str, '\n', ''); REPEAT # find end of substring of the form ",uuid:" SET colon = LOCATE(':', str, pos + 1); # get the uuid SET _uuid = SUBSTR(str, pos + 1, colon - pos - 1); IF _uuid = @@GLOBAL.SERVER_UUID THEN # strip server_uuid from string. make sure we dont strip ~ # before or after server_uuid. SET comma = LOCATE(',', str, pos + 1), tilde = LOCATE('~', str, pos + 1); IF comma != 0 AND (tilde = 0 OR tilde > comma) THEN SET str = CONCAT(SUBSTR(str, 1, pos), SUBSTR(str, comma + 1)); ELSEIF tilde != 0 THEN SET str = CONCAT(SUBSTR(str, 1, pos - 1), SUBSTR(str, tilde)); ELSE SET str = SUBSTR(str, 1, pos - 1); END IF; ELSE # get the number that repeats in UUID and remove leading zero SET n = SUBSTR(str, pos + 1, 2); IF SUBSTR(n, 1, 1) = '0' THEN SET n = SUBSTR(n, 2, 1); END IF; # replace UUID by number SET str = CONCAT(SUBSTR(str, 1, pos), n, SUBSTR(str, colon)); END IF; # find next substring SET comma = LOCATE(',', str, pos + 1), tilde = LOCATE('~', str, pos + 1); SET pos = IF(comma != 0 AND (tilde = 0 OR comma < tilde), comma, tilde); UNTIL pos = 0 END REPEAT; RETURN str; END| --delimiter ; --let $include_filename= gtid_utils.inc --source include/end_include_file.inc
Close