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.225.95.155
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 /
suite /
innodb /
r /
[ HOME SHELL ]
Name
Size
Permission
Action
add_foreign_key.result
1.28
KB
-rw-r--r--
alter_crash.result
4.43
KB
-rw-r--r--
alter_foreign_crash.result
751
B
-rw-r--r--
alter_kill.result
2.42
KB
-rw-r--r--
alter_missing_tablespace.resul...
1.46
KB
-rw-r--r--
alter_page_size.result
1.14
KB
-rw-r--r--
alter_rename_existing.result
5.32
KB
-rw-r--r--
alter_rename_files.result
557
B
-rw-r--r--
alter_row_format.result
1.59
KB
-rw-r--r--
alter_table_redundant.result
278
B
-rw-r--r--
alter_table_stage_progress.res...
942
B
-rw-r--r--
analyze_index.result
705
B
-rw-r--r--
analyze_table.result
538
B
-rw-r--r--
attachable_trx.result
2.48
KB
-rw-r--r--
autoinc_debug.result
2.53
KB
-rw-r--r--
blob-crash-16k.result
2.1
KB
-rw-r--r--
blob-crash-4k.result
2.1
KB
-rw-r--r--
blob-crash.result
4.59
KB
-rw-r--r--
blob-update-debug.result
489
B
-rw-r--r--
blob_page_reserve.result
3.81
KB
-rw-r--r--
blob_redo.result
1.05
KB
-rw-r--r--
buf_pool_resize_oom.result
493
B
-rw-r--r--
bulk_create_index_online.resul...
1.21
KB
-rw-r--r--
cascade_lock_wait.result
1.52
KB
-rw-r--r--
check_ibd_filesize_16k.result
1.58
KB
-rw-r--r--
check_sector_size.result
276
B
-rw-r--r--
checksum.result
331
B
-rw-r--r--
cmp_per_index.result
2.96
KB
-rw-r--r--
crc32_endianness.result
540
B
-rw-r--r--
create-index.result
283
B
-rw-r--r--
create_isl_with_direct.result
328
B
-rw-r--r--
create_table.result
1.97
KB
-rw-r--r--
create_tablespace.result
81.15
KB
-rw-r--r--
create_tablespace_16k.result
69.23
KB
-rw-r--r--
create_tablespace_32k.result
7.33
KB
-rw-r--r--
create_tablespace_4k.result
36.13
KB
-rw-r--r--
create_tablespace_64k.result
7.64
KB
-rw-r--r--
create_tablespace_8k.result
50.53
KB
-rw-r--r--
create_tablespace_debug.result
5.02
KB
-rw-r--r--
create_tablespace_notembedded....
692
B
-rw-r--r--
create_tablespace_partition.re...
33.17
KB
-rw-r--r--
create_tablespace_replication....
2.02
KB
-rw-r--r--
deadlock_detect.result
562
B
-rw-r--r--
default_row_format.result
17.56
KB
-rw-r--r--
default_row_format_16k.result
17.91
KB
-rw-r--r--
default_row_format_compatibili...
4.14
KB
-rw-r--r--
default_row_format_tablespace....
8.64
KB
-rw-r--r--
deprecate_part_in_shared_ts.re...
5.87
KB
-rw-r--r--
doublewrite.result
8.1
KB
-rw-r--r--
dropdb.result
222
B
-rw-r--r--
end_range_check.result
3.06
KB
-rw-r--r--
end_range_check_2.result
811
B
-rw-r--r--
events-merge-tmp-path.result
1.33
KB
-rw-r--r--
file_format_defaults.result
2.84
KB
-rw-r--r--
file_format_upgrade_16k.result
420
B
-rw-r--r--
flush-hang.result
1.27
KB
-rw-r--r--
foreign_key.result
9.21
KB
-rw-r--r--
fts_exec_interrupt.result
723
B
-rw-r--r--
help_verbose.result
80
B
-rw-r--r--
high_prio_trx_1.result
505
B
-rw-r--r--
high_prio_trx_2.result
581
B
-rw-r--r--
high_prio_trx_3.result
665
B
-rw-r--r--
high_prio_trx_4.result
711
B
-rw-r--r--
high_prio_trx_5.result
858
B
-rw-r--r--
high_prio_trx_6.result
775
B
-rw-r--r--
high_prio_trx_7.result
5.67
KB
-rw-r--r--
high_prio_trx_commit_crash.res...
1
KB
-rw-r--r--
high_prio_trx_debug.result
1.09
KB
-rw-r--r--
high_prio_trx_fk.result
918
B
-rw-r--r--
high_prio_trx_predicate.result
824
B
-rw-r--r--
high_prio_trx_rpl.result
1.65
KB
-rw-r--r--
i_s_files_debug.result
471
B
-rw-r--r--
ibuf_not_empty.result
969
B
-rw-r--r--
import.result
1.72
KB
-rw-r--r--
import_compress_encrypt.result
5.28
KB
-rw-r--r--
import_compress_encrypt_upgrad...
2.53
KB
-rw-r--r--
import_export_4k.result
724
B
-rw-r--r--
import_tablespace_page_corrupt...
555
B
-rw-r--r--
import_tablespace_schema_missm...
2.11
KB
-rw-r--r--
import_update_stats.result
2.86
KB
-rw-r--r--
index-online-norebuild.result
897
B
-rw-r--r--
index_length.result
1.28
KB
-rw-r--r--
index_merge_threshold.result
54.7
KB
-rw-r--r--
index_tree_operation.result
1.65
KB
-rw-r--r--
innodb-2byte-collation.result
3.28
KB
-rw-r--r--
innodb-ac-non-locking-select.r...
861
B
-rw-r--r--
innodb-alter-autoinc.result
4.27
KB
-rw-r--r--
innodb-alter-debug-wl6554.resu...
12.79
KB
-rw-r--r--
innodb-alter-debug.result
2.64
KB
-rw-r--r--
innodb-alter-nullable.result
1.52
KB
-rw-r--r--
innodb-alter-wl6554.result
3.13
KB
-rw-r--r--
innodb-alter.result
30.33
KB
-rw-r--r--
innodb-analyze.result
58
B
-rw-r--r--
innodb-autoinc-18274.result
805
B
-rw-r--r--
innodb-autoinc-44030.result
732
B
-rw-r--r--
innodb-autoinc-56228.result
847
B
-rw-r--r--
innodb-autoinc-optimize.result
321
B
-rw-r--r--
innodb-autoinc.result
41.48
KB
-rw-r--r--
innodb-blob.result
4.91
KB
-rw-r--r--
innodb-bug-14068765.result
2.81
KB
-rw-r--r--
innodb-bug-14084530.result
701
B
-rw-r--r--
innodb-bug12552164.result
1.73
KB
-rw-r--r--
innodb-bug14219515.result
244
B
-rw-r--r--
innodb-change-buffer-recovery....
1.08
KB
-rw-r--r--
innodb-consistent.result
670
B
-rw-r--r--
innodb-import-partition-rpl.re...
2.46
KB
-rw-r--r--
innodb-import-partition.result
40.01
KB
-rw-r--r--
innodb-index-debug.result
13.64
KB
-rw-r--r--
innodb-index-online-delete.res...
642
B
-rw-r--r--
innodb-index-online-fk.result
26.4
KB
-rw-r--r--
innodb-index-online-purge.resu...
1.2
KB
-rw-r--r--
innodb-index-online.result
13.35
KB
-rw-r--r--
innodb-index.result
67.62
KB
-rw-r--r--
innodb-index_ucs2.result
3.62
KB
-rw-r--r--
innodb-isolation.result
43.25
KB
-rw-r--r--
innodb-large-prefix.result
1.27
KB
-rw-r--r--
innodb-lock-inherit-read_commi...
4.18
KB
-rw-r--r--
innodb-lock.result
3.22
KB
-rw-r--r--
innodb-multiple-tablespaces.re...
14.79
KB
-rw-r--r--
innodb-read-view.result
2.73
KB
-rw-r--r--
innodb-replace-debug.result
309
B
-rw-r--r--
innodb-semi-consistent.result
1.35
KB
-rw-r--r--
innodb-status-output.result
1.3
KB
-rw-r--r--
innodb-system-table-view.resul...
9.07
KB
-rw-r--r--
innodb-table-online.result
13.11
KB
-rw-r--r--
innodb-timeout.result
953
B
-rw-r--r--
innodb-truncate-debug.result
4.46
KB
-rw-r--r--
innodb-truncate.result
2.28
KB
-rw-r--r--
innodb-ucs2.result
15.38
KB
-rw-r--r--
innodb-update-insert.result
1.1
KB
-rw-r--r--
innodb-wl5522-1.result
29.45
KB
-rw-r--r--
innodb-wl5522-debug.result
30.05
KB
-rw-r--r--
innodb-wl5522.result
20.99
KB
-rw-r--r--
innodb-wl5980-alter.result
38.86
KB
-rw-r--r--
innodb-wl5980-debug.result
1.33
KB
-rw-r--r--
innodb-wl5980-discard.result
29.2
KB
-rw-r--r--
innodb-wl5980-linux.result
9.7
KB
-rw-r--r--
innodb-wl5980-windows.result
10.07
KB
-rw-r--r--
innodb-wl6045-1.result
3.72
KB
-rw-r--r--
innodb-wl6045-linux.result
11.11
KB
-rw-r--r--
innodb-wl6445-1.result
69
KB
-rw-r--r--
innodb-wl6445-2.result
3.57
KB
-rw-r--r--
innodb-wl6445.result
1.78
KB
-rw-r--r--
innodb.result
108.76
KB
-rw-r--r--
innodb_32k.result
3.25
KB
-rw-r--r--
innodb_64k.result
3.47
KB
-rw-r--r--
innodb_autoinc_lock_mode_zero....
1.22
KB
-rw-r--r--
innodb_autoinc_reset.result
423
B
-rw-r--r--
innodb_buffer_pool_dump_pct.re...
1.49
KB
-rw-r--r--
innodb_buffer_pool_load.result
2.02
KB
-rw-r--r--
innodb_buffer_pool_load_now.re...
1.6
KB
-rw-r--r--
innodb_buffer_pool_resize.resu...
1.29
KB
-rw-r--r--
innodb_buffer_pool_resize_debu...
3.24
KB
-rw-r--r--
innodb_buffer_pool_resize_with...
1.08
KB
-rw-r--r--
innodb_bug-13628249.result
988
B
-rw-r--r--
innodb_bug11754376.result
180
B
-rw-r--r--
innodb_bug11766634.result
396
B
-rw-r--r--
innodb_bug11789106.result
404
B
-rw-r--r--
innodb_bug11933790.result
135
B
-rw-r--r--
innodb_bug12400341.result
966
B
-rw-r--r--
innodb_bug12429573.result
708
B
-rw-r--r--
innodb_bug12661768.result
524
B
-rw-r--r--
innodb_bug14006907.result
934
B
-rw-r--r--
innodb_bug14007109.result
223
B
-rw-r--r--
innodb_bug14007649.result
1.17
KB
-rw-r--r--
innodb_bug14147491.result
730
B
-rw-r--r--
innodb_bug14169459.result
1.48
KB
-rw-r--r--
innodb_bug14676111.result
1.99
KB
-rw-r--r--
innodb_bug14704286.result
1.12
KB
-rw-r--r--
innodb_bug19164038.result
1023
B
-rw-r--r--
innodb_bug21704.result
2.65
KB
-rw-r--r--
innodb_bug30113362.result
2.95
KB
-rw-r--r--
innodb_bug30423.result
3.79
KB
-rw-r--r--
innodb_bug30594501.result
317
B
-rw-r--r--
innodb_bug30919.result
17.44
KB
-rw-r--r--
innodb_bug31205266.result
798
B
-rw-r--r--
innodb_bug34053.result
35
B
-rw-r--r--
innodb_bug34300.result
439
B
-rw-r--r--
innodb_bug35220.result
35
B
-rw-r--r--
innodb_bug38231.result
35
B
-rw-r--r--
innodb_bug39438.result
35
B
-rw-r--r--
innodb_bug40360.result
274
B
-rw-r--r--
innodb_bug40565.result
311
B
-rw-r--r--
innodb_bug41904.result
195
B
-rw-r--r--
innodb_bug42101-nonzero.result
810
B
-rw-r--r--
innodb_bug42101.result
704
B
-rw-r--r--
innodb_bug42419.result
858
B
-rw-r--r--
innodb_bug44032.result
313
B
-rw-r--r--
innodb_bug44369.result
300
B
-rw-r--r--
innodb_bug44571.result
334
B
-rw-r--r--
innodb_bug45357.result
290
B
-rw-r--r--
innodb_bug46000.result
906
B
-rw-r--r--
innodb_bug46676.result
362
B
-rw-r--r--
innodb_bug47167.result
1.51
KB
-rw-r--r--
innodb_bug47621.result
777
B
-rw-r--r--
innodb_bug47622.result
748
B
-rw-r--r--
innodb_bug47777.result
612
B
-rw-r--r--
innodb_bug48024.result
592
B
-rw-r--r--
innodb_bug49164.result
913
B
-rw-r--r--
innodb_bug51378.result
2.19
KB
-rw-r--r--
innodb_bug51920.result
316
B
-rw-r--r--
innodb_bug52199.result
175
B
-rw-r--r--
innodb_bug52663.result
857
B
-rw-r--r--
innodb_bug53046.result
1016
B
-rw-r--r--
innodb_bug53290.result
771
B
-rw-r--r--
innodb_bug53592.result
1.9
KB
-rw-r--r--
innodb_bug53674.result
234
B
-rw-r--r--
innodb_bug53756.result
3.62
KB
-rw-r--r--
innodb_bug54044.result
678
B
-rw-r--r--
innodb_bug56143.result
73.71
KB
-rw-r--r--
innodb_bug56716.result
168
B
-rw-r--r--
innodb_bug56947.result
406
B
-rw-r--r--
innodb_bug57252.result
89
B
-rw-r--r--
innodb_bug57255.result
501
B
-rw-r--r--
innodb_bug57904.result
1.3
KB
-rw-r--r--
innodb_bug59307.result
483
B
-rw-r--r--
innodb_bug59410.result
529
B
-rw-r--r--
innodb_bug59641.result
927
B
-rw-r--r--
innodb_bug59733.result
822
B
-rw-r--r--
innodb_bug60049.result
258
B
-rw-r--r--
innodb_bug60196.result
2.86
KB
-rw-r--r--
innodb_bug60229.result
955
B
-rw-r--r--
innodb_bug70867.result
126
B
-rw-r--r--
innodb_bulk_create_index.resul...
29.62
KB
-rw-r--r--
innodb_bulk_create_index_debug...
11.38
KB
-rw-r--r--
innodb_bulk_create_index_flush...
1.46
KB
-rw-r--r--
innodb_bulk_create_index_repli...
5.82
KB
-rw-r--r--
innodb_bulk_create_index_small...
4.26
KB
-rw-r--r--
innodb_corrupt_bit.result
2.61
KB
-rw-r--r--
innodb_corrupt_readonly.result
1011
B
-rw-r--r--
innodb_ctype_ldml.result
27.55
KB
-rw-r--r--
innodb_deadlock_with_autoinc.r...
565
B
-rw-r--r--
innodb_file_format.result
3.11
KB
-rw-r--r--
innodb_file_limit_check.result
457
B
-rw-r--r--
innodb_force_recovery.result
3.7
KB
-rw-r--r--
innodb_fts_limit_check.result
1.04
KB
-rw-r--r--
innodb_high_prio_commit_crash....
1.13
KB
-rw-r--r--
innodb_high_prio_rpl.result
1.07
KB
-rw-r--r--
innodb_i_s_innodb_locks.result
4.89
KB
-rw-r--r--
innodb_i_s_innodb_trx.result
2.85
KB
-rw-r--r--
innodb_information_schema_buff...
2.29
KB
-rw-r--r--
innodb_io_pf.result
407
B
-rw-r--r--
innodb_lock_wait_timeout_1.res...
9.04
KB
-rw-r--r--
innodb_misc1.result
29.29
KB
-rw-r--r--
innodb_multi_update.result
1.62
KB
-rw-r--r--
innodb_mysql.result
95.87
KB
-rw-r--r--
innodb_mysql_rbk.result
629
B
-rw-r--r--
innodb_notembedded.result
637
B
-rw-r--r--
innodb_page_size_func.result
1.49
KB
-rw-r--r--
innodb_pagesize_max_recordsize...
14.37
KB
-rw-r--r--
innodb_prefix_index_check.resu...
1.14
KB
-rw-r--r--
innodb_prefix_index_restart_se...
2.69
KB
-rw-r--r--
innodb_rename_index.result
31.12
KB
-rw-r--r--
innodb_rename_index_err.result
1.81
KB
-rw-r--r--
innodb_replace.result
2.7
KB
-rw-r--r--
innodb_row_log_read.result
867
B
-rw-r--r--
innodb_stats.result
11.62
KB
-rw-r--r--
innodb_stats_auto_recalc.resul...
1.33
KB
-rw-r--r--
innodb_stats_auto_recalc_ddl.r...
1.13
KB
-rw-r--r--
innodb_stats_auto_recalc_lots....
2.07
KB
-rw-r--r--
innodb_stats_auto_recalc_on_no...
2.19
KB
-rw-r--r--
innodb_stats_create_on_corrupt...
705
B
-rw-r--r--
innodb_stats_create_table.resu...
1.1
KB
-rw-r--r--
innodb_stats_del_mark.result
2.81
KB
-rw-r--r--
innodb_stats_drop_locked.resul...
1.55
KB
-rw-r--r--
innodb_stats_external_pages.re...
880
B
-rw-r--r--
innodb_stats_fetch.result
3.35
KB
-rw-r--r--
innodb_stats_fetch_corrupted.r...
1.01
KB
-rw-r--r--
innodb_stats_fetch_nonexistent...
980
B
-rw-r--r--
innodb_stats_flag_global_off.r...
7.36
KB
-rw-r--r--
innodb_stats_flag_global_on.re...
7.36
KB
-rw-r--r--
innodb_stats_rename_table.resu...
1.48
KB
-rw-r--r--
innodb_stats_rename_table_if_e...
1.89
KB
-rw-r--r--
innodb_stats_sample_pages.resu...
1023
B
-rw-r--r--
innodb_stats_table_flag_auto_r...
2.97
KB
-rw-r--r--
innodb_stats_table_flag_sample...
4.23
KB
-rw-r--r--
innodb_sys_var_valgrind.result
2.35
KB
-rw-r--r--
innodb_tablespace.result
22.76
KB
-rw-r--r--
innodb_tablespace_zip.result
1.13
KB
-rw-r--r--
innodb_thread_concurrency_debu...
824
B
-rw-r--r--
innodb_timeout_rollback.result
570
B
-rw-r--r--
innodb_trx_weight.result
35
B
-rw-r--r--
innodb_upd_stats_if_needed_not...
466
B
-rw-r--r--
innodb_ut_format_name.result
140
B
-rw-r--r--
innodb_wl6326.result
10.95
KB
-rw-r--r--
innodb_wl6326_big.result
17.67
KB
-rw-r--r--
innodb_wl6469_1.result
1.48
KB
-rw-r--r--
innodb_wl6469_debug.result
1.63
KB
-rw-r--r--
innodb_wl6470.result
3.11
KB
-rw-r--r--
innodb_wl6470_debug.result
1.42
KB
-rw-r--r--
innodb_wl6501_crash_1.result
15.37
KB
-rw-r--r--
innodb_wl6501_crash_2.result
15.37
KB
-rw-r--r--
innodb_wl6501_crash_6.result
13.07
KB
-rw-r--r--
innodb_wl6501_crash_7.result
13.07
KB
-rw-r--r--
innodb_wl6501_crash_8.result
468
B
-rw-r--r--
innodb_wl6560_1.result
7.27
KB
-rw-r--r--
innodb_wl6560_debug.result
3.36
KB
-rw-r--r--
innodb_wl6915.result
3.99
KB
-rw-r--r--
innodb_wl6915_debug.result
2.88
KB
-rw-r--r--
innodb_wl8114.result
1.78
KB
-rw-r--r--
insert_debug.result
956
B
-rw-r--r--
iodku.result
6.34
KB
-rw-r--r--
iodku_debug.result
2.71
KB
-rw-r--r--
log_alter_table.result
521
B
-rw-r--r--
log_corruption.result
843
B
-rw-r--r--
log_file.result
4.84
KB
-rw-r--r--
log_file_name.result
1.55
KB
-rw-r--r--
log_file_name_debug.result
345
B
-rw-r--r--
log_file_size.result
1.09
KB
-rw-r--r--
log_file_size_1.result
4.85
KB
-rw-r--r--
log_file_size_checkpoint.resul...
106
B
-rw-r--r--
missing_tablespaces.result
664
B
-rw-r--r--
monitor.result
23.64
KB
-rw-r--r--
monitor_restart.result
324
B
-rw-r--r--
mysqldump_max_recordsize.resul...
8.78
KB
-rw-r--r--
optimizer_temporary_table.resu...
114.72
KB
-rw-r--r--
page_reorganize.result
638
B
-rw-r--r--
partition-blob.result
1.53
KB
-rw-r--r--
partition-upgrade.result
33.24
KB
-rw-r--r--
partition.result
39.54
KB
-rw-r--r--
readahead.result
398
B
-rw-r--r--
readonly.result
713
B
-rw-r--r--
records_in_range.result
35.31
KB
-rw-r--r--
redo_log_during_checkpoint.res...
827
B
-rw-r--r--
rename_table.result
890
B
-rw-r--r--
row_format_redundant.result
1.71
KB
-rw-r--r--
sp_temp_table.result
5.72
KB
-rw-r--r--
stored_fk.result
3.52
KB
-rw-r--r--
strict_checksum.result
1.02
KB
-rw-r--r--
strict_mode.result
3.54
KB
-rw-r--r--
sys_tablestats.result
571
B
-rw-r--r--
table_compress.result
25.4
KB
-rw-r--r--
table_encrypt_1.result
6.82
KB
-rw-r--r--
table_encrypt_2.result
3.44
KB
-rw-r--r--
table_encrypt_3.result
66.48
KB
-rw-r--r--
table_encrypt_4.result
3.64
KB
-rw-r--r--
table_encrypt_5.result
56.6
KB
-rw-r--r--
table_encrypt_debug.result
3.22
KB
-rw-r--r--
table_encrypt_fts.result
1.7
KB
-rw-r--r--
table_encrypt_kill.result
7.59
KB
-rw-r--r--
table_encryption.result
3.42
KB
-rw-r--r--
tablespace_crash.result
8.16
KB
-rw-r--r--
tablespace_embedded.result
6.89
KB
-rw-r--r--
tablespace_embedded_windows.re...
6.93
KB
-rw-r--r--
tablespace_per_table.result
21.6
KB
-rw-r--r--
tablespace_per_table_not_windo...
9.11
KB
-rw-r--r--
tablespace_per_table_windows.r...
3.12
KB
-rw-r--r--
tablespace_portability.result
24.68
KB
-rw-r--r--
tablespace_portability_windows...
24.41
KB
-rw-r--r--
timestamp.result
790
B
-rw-r--r--
tinytext-groupby.result
1.33
KB
-rw-r--r--
tmpdir.result
1.8
KB
-rw-r--r--
trx_id_future.result
329
B
-rw-r--r--
undo.result
850
B
-rw-r--r--
update-cascade.result
8.04
KB
-rw-r--r--
update_time.result
1.62
KB
-rw-r--r--
update_time_wl6658.result
8.08
KB
-rw-r--r--
virtual_basic.result
53.55
KB
-rw-r--r--
virtual_blob.result
359
B
-rw-r--r--
virtual_debug.result
53.92
KB
-rw-r--r--
virtual_debug_purge.result
3.98
KB
-rw-r--r--
virtual_fk.result
28.34
KB
-rw-r--r--
virtual_fk_restart.result
1.48
KB
-rw-r--r--
virtual_index.result
7.71
KB
-rw-r--r--
virtual_purge.result
3.95
KB
-rw-r--r--
virtual_stats.result
4.84
KB
-rw-r--r--
xa_prepare_lock_release.result
1.21
KB
-rw-r--r--
xa_recovery.result
381
B
-rw-r--r--
xa_recovery_debug.result
528
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : virtual_fk.result
# # Bug#22469130: FOREIGN KEY ON DELETE CASCADE NOT ALLOWED # WHEN A VIRTUAL INDEX EXISTS. # UPDATE CASCADE CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld2), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 2 SELECT * FROM t2; fld1 fld2 2 2 DROP TABLE t2, t1; # UPDATE SET NULL CREATE TABLE t1(fld1 INT NOT NULL, fld2 INT NOT NULL PRIMARY KEY, KEY(fld1)); CREATE TABLE t2(fld1 INT, fld2 INT AS (fld1) VIRTUAL, KEY(fld2), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE SET NULL); INSERT INTO t1 VALUES(1, 2); INSERT INTO t2 VALUES(1, DEFAULT); UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 NULL SELECT * FROM t2; fld1 fld2 NULL NULL DROP TABLE t2, t1; # DELETE CASCADE CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT, fld2 INT AS (fld1) VIRTUAL, KEY(fld2), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON DELETE CASCADE); INSERT INTO t1 VALUES(1); INSERT INTO t1 VALUES(2); INSERT INTO t2 VALUES(1, DEFAULT); INSERT INTO t2 VALUES(2, DEFAULT); DELETE FROM t1 WHERE fld1= 1; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 2 SELECT * FROM t2; fld1 fld2 2 2 DROP TABLE t2, t1; # DELETE SET NULL CREATE TABLE t1(fld1 INT NOT NULL, fld2 INT NOT NULL PRIMARY KEY, KEY(fld1)); CREATE TABLE t2(fld1 INT, fld2 INT AS (fld1) VIRTUAL, KEY(fld2), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON DELETE SET NULL); INSERT INTO t1 VALUES(1, 1); INSERT INTO t1 VALUES(2, 2); INSERT INTO t2 VALUES(1, DEFAULT); INSERT INTO t2 VALUES(2, DEFAULT); DELETE FROM t1 WHERE fld1= 1; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 NULL 2 SELECT * FROM t2; fld1 fld2 NULL NULL 2 2 DROP TABLE t2, t1; # VIRTUAL INDEX CONTAINS FK CONSTRAINT COLUMN CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT, fld3 INT AS (fld2) VIRTUAL, KEY(fld3, fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1(fld1) VALUES(1); INSERT INTO t2(fld1, fld2) VALUES(1, 3); UPDATE t1 SET fld1= 2; SELECT fld3, fld1 FROM t2; fld3 fld1 3 2 EXPLAIN SELECT fld3, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld3 x x x x x SELECT * FROM t2; fld1 fld2 fld3 2 3 3 DROP TABLE t2, t1; # Multiple level of VIRTUAL columns. CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, fld3 INT AS (fld2) VIRTUAL, KEY(fld3), KEY(fld2), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1(fld1) VALUES(1); INSERT INTO t2(fld1) VALUES(1); UPDATE t1 SET fld1= 2; SELECT fld2 FROM t2; fld2 2 EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld3 FROM t2; fld3 2 EXPLAIN SELECT fld3 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld3 x x x x x SELECT * FROM t2; fld1 fld2 fld3 2 2 2 DROP TABLE t2, t1; # Drop the VIRTUAL INDEX using alter copy ALGORITHM CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY vk(fld2), KEY(fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1(fld1) VALUES(1); INSERT INTO t2(fld1) VALUES(1); UPDATE t1 SET fld1= 2; SELECT fld2, fld1 FROM t2; fld2 fld1 2 2 EXPLAIN SELECT fld2, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x ALTER TABLE t2 DROP INDEX vk, ALGORITHM= COPY; UPDATE t1 SET fld1= 3; SELECT fld2, fld1 FROM t2; fld2 fld1 3 3 EXPLAIN SELECT fld2, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x DROP TABLE t2, t1; # Drop the VIRTUAL INDEX using INPLACE alter ALGORITHM CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY vk(fld2), KEY(fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1(fld1) VALUES(1); INSERT INTO t2(fld1) VALUES(1); UPDATE t1 SET fld1= 2; SELECT fld2, fld1 FROM t2; fld2 fld1 2 2 EXPLAIN SELECT fld2, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x ALTER TABLE t2 DROP INDEX vk, ALGORITHM= COPY; UPDATE t1 SET fld1= 3; SELECT fld2, fld1 FROM t2; fld2 fld1 3 3 EXPLAIN SELECT fld2, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x DROP TABLE t2, t1; # Add the VIRTUAL INDEX using COPY alter ALGORITHM CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1(fld1) VALUES(1); INSERT INTO t2(fld1) VALUES(1); UPDATE t1 SET fld1= 2; SELECT fld2, fld1 FROM t2; fld2 fld1 2 2 ALTER TABLE t2 ADD INDEX vk(fld2), ALGORITHM= COPY; UPDATE t1 SET fld1= 3; SELECT fld2, fld1 FROM t2; fld2 fld1 3 3 EXPLAIN SELECT fld2, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x DROP TABLE t2, t1; # Add the VIRTUAL INDEX using INPLACE alter ALGORITHM CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL,fld2 INT AS (fld1) VIRTUAL, KEY(fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1(fld1) VALUES(1); INSERT INTO t2(fld1) VALUES(1); UPDATE t1 SET fld1= 2; SELECT fld2, fld1 FROM t2; fld2 fld1 2 2 ALTER TABLE t2 ADD INDEX vk(fld2), ALGORITHM= INPLACE; UPDATE t1 SET fld1= 3; SELECT fld2, fld1 FROM t2; fld2 fld1 3 3 EXPLAIN SELECT fld2, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x DROP TABLE t2, t1; # Drop the VIRTUAL INDEX contains fk constraint column # using alter copy ALGORITHM CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT NOT NULL, fld3 INT AS (fld2) VIRTUAL, KEY vk(fld3, fld1), KEY(fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1(fld1) VALUES(1); INSERT INTO t2(fld1, fld2) VALUES(1, 2); UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld3, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x vk x x x x x SELECT fld3, fld1 FROM t2; fld3 fld1 2 2 ALTER TABLE t2 DROP INDEX vk, ALGORITHM= COPY; UPDATE t1 SET fld1= 3; SELECT fld3, fld1 FROM t2; fld3 fld1 2 3 EXPLAIN SELECT fld3, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x DROP TABLE t2, t1; # Drop the VIRTUAL INDEX which contains fk constraint column # using INPLACE alter operation CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT NOT NULL, fld3 INT AS (fld2) VIRTUAL, KEY vk(fld3, fld1), KEY(fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1(fld1) VALUES(1); INSERT INTO t2(fld1, fld2) VALUES(1, 2); UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld3, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x vk x x x x x SELECT fld3, fld1 FROM t2; fld3 fld1 2 2 alter TABLE t2 DROP INDEX vk, ALGORITHM= INPLACE; UPDATE t1 SET fld1= 3; SELECT fld3, fld1 FROM t2; fld3 fld1 2 3 EXPLAIN SELECT fld3, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x DROP TABLE t2, t1; # Add the VIRTUAL INDEX contains fk constraint column # using copy alter operatiON CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT NOT NULL, fld3 INT AS (fld2) VIRTUAL, KEY(fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1(fld1) VALUES(1); INSERT INTO t2(fld1, fld2) VALUES(1, 2); UPDATE t1 SET fld1= 2; SELECT fld3, fld1 FROM t2; fld3 fld1 2 2 alter TABLE t2 ADD INDEX vk(fld3, fld1), ALGORITHM= COPY; UPDATE t1 SET fld1= 3; SELECT fld3, fld1 FROM t2; fld3 fld1 2 3 EXPLAIN SELECT fld3, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x vk x x x x x DROP TABLE t2, t1; # Cascading UPDATEs and DELETEs for the multiple # fk dependent TABLEs CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld1), KEY(fld2, fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); CREATE TABLE t3(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld2, fld1), FOREIGN KEY(fld1) REFERENCES t2(fld1) ON UPDATE CASCADE); INSERT INTO t1 VALUES(1), (2); INSERT INTO t2(fld1) VALUES(1), (2); INSERT INTO t3(fld1) VALUES(1), (2); UPDATE t1 SET fld1= 4 WHERE fld1= 1; EXPLAIN SELECT fld2, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2, fld1 FROM t2; fld2 fld1 2 2 4 4 EXPLAIN SELECT fld2, fld1 FROM t3; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t3 x index x fld2 x x x x x SELECT fld2, fld1 FROM t3; fld2 fld1 2 2 4 4 DROP TABLE t3, t2, t1; CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT NOT NULL, fld3 INT AS (fld2) VIRTUAL, KEY(fld3, fld1), KEY(fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); CREATE TABLE t3(fld1 INT NOT NULL, fld2 INT NOT NULL, fld3 INT AS (fld2) VIRTUAL, KEY(fld3, fld1), FOREIGN KEY(fld1) REFERENCES t2(fld1) ON UPDATE CASCADE); INSERT INTO t1 VALUES(1), (2); INSERT INTO t2 VALUES(1, 1, DEFAULT), (2, 2, default); INSERT INTO t3 VALUES(1, 1, DEFAULT), (2, 2, default); UPDATE t1 SET fld1= 4 WHERE fld1= 1; EXPLAIN SELECT fld3, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld3 x x x x x SELECT fld3, fld1 FROM t2; fld3 fld1 1 4 2 2 EXPLAIN SELECT fld3, fld1 FROM t3; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t3 x index x fld3 x x x x x SELECT fld3, fld1 FROM t3; fld3 fld1 1 4 2 2 DROP TABLE t3, t2, t1; CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld1), KEY(fld2, fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON DELETE CASCADE); CREATE TABLE t3(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld2, fld1), FOREIGN KEY(fld1) REFERENCES t2(fld1) ON DELETE CASCADE); INSERT INTO t1 VALUES(1), (2); INSERT INTO t2(fld1) VALUES(1), (2); INSERT INTO t3(fld1) VALUES(1), (2); DELETE FROM t1 WHERE fld1= 1; EXPLAIN SELECT fld2, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2, fld1 FROM t2; fld2 fld1 2 2 EXPLAIN SELECT fld2, fld1 FROM t3; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t3 x index x fld2 x x x x x SELECT fld2, fld1 FROM t3; fld2 fld1 2 2 DROP TABLE t3, t2, t1; CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT NOT NULL, fld3 INT AS (fld2) VIRTUAL, KEY(fld3, fld1), KEY(fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON DELETE CASCADE); CREATE TABLE t3(fld1 INT NOT NULL, fld2 INT NOT NULL, fld3 INT AS (fld2) VIRTUAL, KEY(fld3, fld1), FOREIGN KEY(fld1) REFERENCES t2(fld1) ON DELETE CASCADE); INSERT INTO t1 VALUES(1), (2); INSERT INTO t2 VALUES(1, 1, DEFAULT), (2, 2, default); INSERT INTO t3 VALUES(1, 1, DEFAULT), (2, 2, default); DELETE FROM t1 WHERE fld1= 1; EXPLAIN SELECT fld3, fld1 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld3 x x x x x SELECT fld3, fld1 FROM t2; fld3 fld1 2 2 EXPLAIN SELECT fld3, fld1 FROM t3; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t3 x index x fld3 x x x x x SELECT fld3, fld1 FROM t3; fld3 fld1 2 2 DROP TABLE t3, t2, t1; # RENAME TABLE CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld2, fld1), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON DELETE CASCADE); INSERT INTO t1 VALUES(1), (2); INSERT INTO t2 VALUES(1, DEFAULT), (2, default); RENAME TABLE t2 to t3; DELETE FROM t1 WHERE fld1= 1; EXPLAIN SELECT fld2, fld1 FROM t3; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t3 x index x fld2 x x x x x SELECT fld2, fld1 FROM t3; fld2 fld1 2 2 DROP TABLE t3, t1; # FOREIGN_KEY_CHECKS disabled DURING INPLACE ALTER CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1 VALUES(1), (2); INSERT INTO t2 VALUES(1, DEFAULT), (2, default); SET foreign_key_checks = 0; ALTER TABLE t2 ADD INDEX vk(fld2), ALGORITHM=INPLACE; SET foreign_key_checks = 1; UPDATE t1 SET fld1= 3 WHERE fld1= 2; SELECT fld2 FROM t2; fld2 1 3 EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x vk x x x x x DROP TABLE t2, t1; # GENERATED COLUMN COMPUTATION FAILS when SQL_MODE # is set to ERROR_FOR_DIVISION_BY_ZERO CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (100/fld1) VIRTUAL, KEY(fld2), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1 VALUES(1), (2); INSERT INTO t2 VALUES(1, DEFAULT), (2, default); UPDATE t1 SET fld1= 0 WHERE fld1= 2; ERROR 22012: Division by 0 EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 50 100 DROP TABLE t2, t1; # CHANGE SQL_MODE and try the ERROR_FOR_DIVISION_BY_ZERO SET sql_mode = STRICT_ALL_TABLES; Warnings: Warning 3135 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release. Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release. CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (100/fld1) VIRTUAL, KEY(fld2), FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1 VALUES(1), (2); INSERT INTO t2 VALUES(1, DEFAULT), (2, default); UPDATE t1 SET fld1= 0 WHERE fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 NULL 100 SELECT * FROM t2; fld1 fld2 1 100 0 NULL DROP TABLE t2, t1; SET sql_mode = default; # ADD FOREIGN CONSTRAINT USING COPY CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld2)); ALTER TABLE t2 ADD FOREIGN KEY (fld1) REFERENCES t1(fld1) ON UPDATE CASCADE, ALGORITHM=copy; INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 2 SELECT * FROM t2; fld1 fld2 2 2 DROP TABLE t2, t1; # ADD FOREIGN CONSTRAINT USING INPLACE CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld2)); SET foreign_key_checks = 0; ALTER TABLE t2 ADD FOREIGN KEY (fld1) REFERENCES t1(fld1) ON UPDATE CASCADE, ALGORITHM=inplace; SET foreign_key_checks = 1; INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 2 SELECT * FROM t2; fld1 fld2 2 2 DROP TABLE t2, t1; # DROP FOREIGN CONSTRAINT USING COPY CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld2), CONSTRAINT fidx FOREIGN KEY (fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); ALTER TABLE t2 DROP FOREIGN KEY fidx, ALGORITHM=COPY; UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 1 SELECT * FROM t2; fld1 fld2 1 1 DROP TABLE t2, t1; # DROP FOREIGN CONSTRAINT USING INPLACE CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY(fld2), CONSTRAINT fidx FOREIGN KEY (fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); SET foreign_key_checks = 0; ALTER TABLE t2 DROP FOREIGN KEY fidx, ALGORITHM=INPLACE; SET foreign_key_checks = 1; INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 1 SELECT * FROM t2; fld1 fld2 1 1 DROP TABLE t2, t1; # ADD VC INDEX and ADD FK IN SAME COPY ALTER CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL); INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); ALTER TABLE t2 ADD INDEX(fld2), ADD FOREIGN KEY (fld1) REFERENCES t1(fld1) ON UPDATE CASCADE, ALGORITHM=copy; UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 2 SELECT * FROM t2; fld1 fld2 2 2 DROP TABLE t2, t1; # ADD VC INDEX and ADD FK IN SAME INPLACE ALTER CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL); INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); SET foreign_key_checks = 0; ALTER TABLE t2 ADD INDEX(fld2), ADD FOREIGN KEY (fld1) REFERENCES t1(fld1) ON UPDATE CASCADE, ALGORITHM=inplace; SET foreign_key_checks = 1; UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 2 SELECT * FROM t2; fld1 fld2 2 2 DROP TABLE t2, t1; # ADD VC INDEX and DROP FK IN SAME COPY ALTER CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, CONSTRAINT fidx FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); ALTER TABLE t2 ADD INDEX(fld2), DROP FOREIGN KEY fidx, ALGORITHM=copy; UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 1 SELECT * FROM t2; fld1 fld2 1 1 DROP TABLE t2, t1; # ADD VC INDEX and DROP FK IN SAME INPLACE ALTER CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, CONSTRAINT fidx FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); SET foreign_key_checks = 0; ALTER TABLE t2 ADD INDEX(fld2), DROP FOREIGN KEY fidx, ALGORITHM=inplace; SET foreign_key_checks = 1; UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x index x fld2 x x x x x SELECT fld2 FROM t2; fld2 1 SELECT * FROM t2; fld1 fld2 1 1 DROP TABLE t2, t1; # DROP VC INDEX and ADD FK IN SAME COPY ALTER CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY idx(fld2)); INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); ALTER TABLE t2 DROP INDEX idx, ADD FOREIGN KEY (fld1) REFERENCES t1(fld1) ON UPDATE CASCADE, ALGORITHM=COPY; UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x SELECT fld2 FROM t2; fld2 2 SELECT * FROM t2; fld1 fld2 2 2 DROP TABLE t2, t1; # DROP VC INDEX and ADD FK IN SAME INPLACE ALTER CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY idx(fld2)); INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); SET foreign_key_checks = 0; ALTER TABLE t2 DROP INDEX idx, ADD FOREIGN KEY (fld1) REFERENCES t1(fld1) ON UPDATE CASCADE, ALGORITHM=INPLACE; SET foreign_key_checks = 1; UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x SELECT fld2 FROM t2; fld2 2 SELECT * FROM t2; fld1 fld2 2 2 DROP TABLE t2, t1; # DROP VC INDEX and DROP FK IN SAME COPY ALTER CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY idx(fld2), CONSTRAINT fidx FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); ALTER TABLE t2 DROP KEY idx, DROP FOREIGN KEY fidx, ALGORITHM=COPY; UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x SELECT fld2 FROM t2; fld2 1 SELECT * FROM t2; fld1 fld2 1 1 DROP TABLE t2, t1; # DROP VC INDEX and DROP FK IN SAME INPLACE ALTER CREATE TABLE t1(fld1 INT NOT NULL PRIMARY KEY); CREATE TABLE t2(fld1 INT NOT NULL, fld2 INT AS (fld1) VIRTUAL, KEY idx(fld2), CONSTRAINT fidx FOREIGN KEY(fld1) REFERENCES t1(fld1) ON UPDATE CASCADE); INSERT INTO t1 VALUES(1); INSERT INTO t2 VALUES(1, DEFAULT); SET foreign_key_checks = 0; ALTER TABLE t2 DROP KEY idx, DROP FOREIGN KEY fidx, ALGORITHM=INPLACE; SET foreign_key_checks = 1; UPDATE t1 SET fld1= 2; EXPLAIN SELECT fld2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra x x t2 x ALL x NULL x x x x x SELECT fld2 FROM t2; fld2 1 SELECT * FROM t2; fld1 fld2 1 1 DROP TABLE t2, t1; CREATE TABLE t1 (f1 INT NOT NULL PRIMARY KEY)ENGINE=INNODB; CREATE TABLE t2 (f1 INT NOT NULL, f2 INT AS (f1) VIRTUAL, KEY (f1, f2), FOREIGN KEY(f1) REFERENCES t1(f1))ENGINE=INNODB; INSERT INTO t1 VALUES(1); INSERT INTO t2(f1) VALUES(1); EXPLAIN SELECT f1, f2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t2 NULL index NULL f1 9 NULL 1 100.00 Using index Warnings: Note 1003 /* select#1 */ select `test`.`t2`.`f1` AS `f1`,`test`.`t2`.`f2` AS `f2` from `test`.`t2` SELECT f1, f2 FROM t2; f1 f2 1 1 INSERT INTO t2(f1) VALUES(2); ERROR 23000: Cannot add or update a child row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f1`) REFERENCES `t1` (`f1`)) DROP TABLE t2, t1; CREATE TABLE t1 (f1 INT NOT NULL PRIMARY KEY)ENGINE=INNODB; CREATE TABLE t2 (f1 INT NOT NULL, f2 INT AS (f1) VIRTUAL, KEY (f1, f2), FOREIGN KEY(f1) REFERENCES t1(f1) ON UPDATE CASCADE)ENGINE=INNODB; INSERT INTO t1 VALUES(1); INSERT INTO t2(f1) VALUES(1); EXPLAIN SELECT f1, f2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t2 NULL index NULL f1 9 NULL 1 100.00 Using index Warnings: Note 1003 /* select#1 */ select `test`.`t2`.`f1` AS `f1`,`test`.`t2`.`f2` AS `f2` from `test`.`t2` SELECT f1, f2 FROM t2; f1 f2 1 1 UPDATE t1 SET f1 = 2 WHERE f1 = 1; EXPLAIN SELECT f1, f2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t2 NULL index NULL f1 9 NULL 1 100.00 Using index Warnings: Note 1003 /* select#1 */ select `test`.`t2`.`f1` AS `f1`,`test`.`t2`.`f2` AS `f2` from `test`.`t2` SELECT f1, f2 FROM t2; f1 f2 2 2 DROP TABLE t2, t1; CREATE TABLE t1 (f1 INT NOT NULL PRIMARY KEY)ENGINE=INNODB; CREATE TABLE t2 (f1 INT NOT NULL, f2 INT AS (f1) VIRTUAL, KEY (f1, f2))ENGINE=INNODB; INSERT INTO t1 VALUES(1); INSERT INTO t2(f1) VALUES(1); SET FOREIGN_KEY_CHECKS = 0; ALTER TABLE t2 ADD FOREIGN KEY (f1) REFERENCES t1(f1) ON UPDATE CASCADE, ALGORITHM=INPLACE; SET FOREIGN_KEY_CHECKS = 1; UPDATE t1 SET f1 = 3; EXPLAIN SELECT f1, f2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t2 NULL index NULL f1 9 NULL 1 100.00 Using index Warnings: Note 1003 /* select#1 */ select `test`.`t2`.`f1` AS `f1`,`test`.`t2`.`f2` AS `f2` from `test`.`t2` SELECT f1, f2 FROM t2; f1 f2 3 3 DROP TABLE t2, t1; CREATE TABLE t1 (f1 INT NOT NULL PRIMARY KEY)ENGINE=INNODB; CREATE TABLE t2 (f1 INT NOT NULL, f2 INT AS (f1) VIRTUAL, KEY (f1, f2))ENGINE=INNODB; INSERT INTO t1 VALUES(1); INSERT INTO t2(f1) VALUES(1); ALTER TABLE t2 ADD FOREIGN KEY (f1) REFERENCES t1(f1) ON UPDATE CASCADE, ALGORITHM=COPY; UPDATE t1 SET f1 = 3; EXPLAIN SELECT f1, f2 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t2 NULL index NULL f1 9 NULL 1 100.00 Using index Warnings: Note 1003 /* select#1 */ select `test`.`t2`.`f1` AS `f1`,`test`.`t2`.`f2` AS `f2` from `test`.`t2` SELECT f1, f2 FROM t2; f1 f2 3 3 DROP TABLE t2, t1; CREATE TABLE t1(f1 INT NOT NULL, PRIMARY KEY(f1))ENGINE=INNODB; CREATE TABLE t2(f1 INT NOT NULL, f2 INT AS (1) VIRTUAL, f3 INT AS (2) VIRTUAL, FOREIGN KEY idx (f1) REFERENCES t1(f1) ON UPDATE CASCADE, KEY idx1 (f2, f1, f3))ENGINE=INNODB; INSERT INTO t1 VALUES(1); INSERT INTO t2(f1) VALUES(1); ALTER TABLE t2 DROP COLUMN f2, ALGORITHM=INPLACE; UPDATE t1 SET f1 = 3; EXPLAIN SELECT f1, f3 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t2 NULL index NULL idx1 9 NULL 1 100.00 Using index Warnings: Note 1003 /* select#1 */ select `test`.`t2`.`f1` AS `f1`,`test`.`t2`.`f3` AS `f3` from `test`.`t2` SELECT f1, f3 FROM t2; f1 f3 3 2 DROP TABLE t2, t1; CREATE TABLE t1(f1 INT NOT NULL, PRIMARY KEY(f1))ENGINE=INNODB; CREATE TABLE t2(f1 INT NOT NULL, f2 INT AS (1) VIRTUAL, f3 INT AS (2) VIRTUAL, FOREIGN KEY idx (f1) REFERENCES t1(f1) ON UPDATE CASCADE, KEY idx1 (f2, f1, f3))ENGINE=INNODB; INSERT INTO t1 VALUES(1); INSERT INTO t2(f1) VALUES(1); ALTER TABLE t2 DROP COLUMN f2, ALGORITHM=COPY; UPDATE t1 SET f1 = 3; EXPLAIN SELECT f1, f3 FROM t2; id select_type table partitions type possible_keys key key_len ref rows filtered Extra 1 SIMPLE t2 NULL index NULL idx1 9 NULL 1 100.00 Using index Warnings: Note 1003 /* select#1 */ select `test`.`t2`.`f1` AS `f1`,`test`.`t2`.`f3` AS `f3` from `test`.`t2` SELECT f1, f3 FROM t2; f1 f3 3 2 DROP TABLE t2, t1; # # Bug#32124113 MYSQL CRASH FOR GENERATED COLUMN DELETE WITH FOREIGN KEY # CREATE TABLE `emails` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; CREATE TABLE `email_stats` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `email_id` int(10) unsigned DEFAULT NULL, `date_sent` datetime NOT NULL, `generated_sent_date` date GENERATED ALWAYS AS (concat(year(`date_sent`),'-',lpad(month(`date_sent`),2,'0'), '-',lpad(dayofmonth(`date_sent`),2,'0'))) VIRTUAL, PRIMARY KEY (`id`), KEY `IDX_ES1` (`email_id`), KEY `mautic_generated_sent_date_email_id` (`generated_sent_date`,`email_id`), CONSTRAINT `FK_ES1` FOREIGN KEY (`email_id`) REFERENCES `emails` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; CREATE TABLE `emails_metadata` ( `email_id` int(10) unsigned NOT NULL, PRIMARY KEY (`email_id`), CONSTRAINT `FK_EM1` FOREIGN KEY (`email_id`) REFERENCES `emails` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC; INSERT INTO `emails` VALUES (1); INSERT INTO `email_stats` (`id`, `email_id`, `date_sent`) VALUES (1,1,'2020-10-22 13:32:41'); INSERT INTO `emails_metadata` VALUES (1); DELETE FROM `emails`; DROP TABLE `email_stats`; DROP TABLE `emails_metadata`; DROP TABLE `emails`;
Close