Linux ns8.secondary29.go.th 2.6.32-754.28.1.el6.x86_64 #1 SMP Wed Mar 11 18:38:45 UTC 2020 x86_64
Apache/2.2.15 (CentOS)
: 122.154.134.11 | : 122.154.134.9
Cant Read [ /etc/named.conf ]
5.6.40
apache
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
README
+ Create Folder
+ Create File
/
usr /
share /
mysql-test /
include /
[ HOME SHELL ]
Name
Size
Permission
Action
add_anonymous_users.inc
187
B
-rw-r--r--
analyze-sync_with_master.test
283
B
-rw-r--r--
analyze-timeout.test
25
B
-rw-r--r--
assert.inc
5.62
KB
-rw-r--r--
begin_include_file.inc
2.61
KB
-rw-r--r--
big_test.inc
107
B
-rw-r--r--
binlog_inject_error.inc
457
B
-rw-r--r--
check-testcase.test
533
B
-rw-r--r--
check-warnings.test
1.55
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_no_concurrent_insert.inc
2.04
KB
-rw-r--r--
check_no_row_lock.inc
1.76
KB
-rw-r--r--
check_shared_row_lock.inc
1.39
KB
-rw-r--r--
check_slave_is_running.inc
651
B
-rw-r--r--
check_slave_no_error.inc
655
B
-rw-r--r--
check_slave_param.inc
1.02
KB
-rw-r--r--
check_var_limit.inc
394
B
-rw-r--r--
cleanup_fake_relay_log.inc
669
B
-rw-r--r--
commit.inc
20.54
KB
-rw-r--r--
common-tests.inc
115.9
KB
-rw-r--r--
concurrent.inc
25.01
KB
-rw-r--r--
connect2.inc
977
B
-rw-r--r--
count_sessions.inc
382
B
-rw-r--r--
ctype_8bit.inc
2.85
KB
-rw-r--r--
ctype_common.inc
2.82
KB
-rw-r--r--
ctype_filesort.inc
377
B
-rw-r--r--
ctype_german.inc
965
B
-rw-r--r--
ctype_innodb_like.inc
665
B
-rw-r--r--
ctype_like_escape.inc
592
B
-rw-r--r--
ctype_like_range_f1f2.inc
835
B
-rw-r--r--
ctype_regex.inc
1.03
KB
-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.55
KB
-rw-r--r--
ddl_i18n.check_views.inc
544
B
-rw-r--r--
deadlock.inc
3.57
KB
-rw-r--r--
default_my.cnf
1.25
KB
-rw-r--r--
default_mysqld.cnf
1.19
KB
-rw-r--r--
default_ndbd.cnf
836
B
-rw-r--r--
delete_anonymous_users.inc
207
B
-rw-r--r--
diff_tables.inc
6.49
KB
-rw-r--r--
end_include_file.inc
2.42
KB
-rw-r--r--
endspace.inc
338
B
-rw-r--r--
file_does_not_exist.inc
340
B
-rw-r--r--
force_restart.inc
335
B
-rw-r--r--
force_restart_if_skipped.inc
346
B
-rw-r--r--
get_relay_log_pos.inc
2.77
KB
-rw-r--r--
gis_generic.inc
12.67
KB
-rw-r--r--
gis_keys.inc
1.93
KB
-rw-r--r--
grant_cache.inc
7.53
KB
-rw-r--r--
handler.inc
17.11
KB
-rw-r--r--
have_32bit.inc
400
B
-rw-r--r--
have_64bit.inc
357
B
-rw-r--r--
have_archive.inc
180
B
-rw-r--r--
have_big5.inc
107
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_blackhole.inc
173
B
-rw-r--r--
have_case_insensitive_file_sys...
134
B
-rw-r--r--
have_case_insensitive_fs.inc
125
B
-rw-r--r--
have_case_sensitive_file_syste...
132
B
-rw-r--r--
have_community_features.inc
130
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_csv.inc
174
B
-rw-r--r--
have_dbi_dbd-mysql.inc
3.1
KB
-rw-r--r--
have_debug.inc
113
B
-rw-r--r--
have_debug_sync.inc
196
B
-rw-r--r--
have_dynamic_loading.inc
169
B
-rw-r--r--
have_eucjpms.inc
114
B
-rw-r--r--
have_euckr.inc
108
B
-rw-r--r--
have_example_plugin.inc
319
B
-rw-r--r--
have_exampledb.inc
178
B
-rw-r--r--
have_federated_plugin.inc
151
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_innodb.inc
163
B
-rw-r--r--
have_innodb_change_buffering.i...
200
B
-rw-r--r--
have_innodb_plugin.inc
260
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
238
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_multi_ndb.inc
1.58
KB
-rw-r--r--
have_mysql_upgrade.inc
134
B
-rw-r--r--
have_ndb.inc
518
B
-rw-r--r--
have_ndb_extra.inc
65
B
-rw-r--r--
have_ndbapi_examples.inc
148
B
-rw-r--r--
have_not_innodb_plugin.inc
185
B
-rw-r--r--
have_outfile.inc
171
B
-rw-r--r--
have_partition.inc
114
B
-rw-r--r--
have_query_cache.inc
115
B
-rw-r--r--
have_simple_parser.inc
315
B
-rw-r--r--
have_sjis.inc
108
B
-rw-r--r--
have_ssl.inc
99
B
-rw-r--r--
have_symlink.inc
391
B
-rw-r--r--
have_tis620.inc
108
B
-rw-r--r--
have_ucs2.inc
107
B
-rw-r--r--
have_udf.inc
319
B
-rw-r--r--
have_ujis.inc
108
B
-rw-r--r--
have_utf8.inc
111
B
-rw-r--r--
have_valgrind.inc
182
B
-rw-r--r--
index_merge1.inc
18.08
KB
-rw-r--r--
index_merge2.inc
11.79
KB
-rw-r--r--
index_merge_2sweeps.inc
1.52
KB
-rw-r--r--
index_merge_ror.inc
9.73
KB
-rw-r--r--
index_merge_ror_cpk.inc
4.32
KB
-rw-r--r--
innodb_rollback_on_timeout.inc
931
B
-rw-r--r--
innodb_trx_weight.inc
861
B
-rw-r--r--
io_thd_fault_injection.inc
598
B
-rw-r--r--
is_embedded.inc
126
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--
linux_sys_vars.inc
803
B
-rw-r--r--
load_sysvars.inc
442
B
-rw-r--r--
loaddata_autocom.inc
889
B
-rw-r--r--
master-slave.inc
1.68
KB
-rw-r--r--
min_null_cond.inc
1.55
KB
-rw-r--r--
mix1.inc
44.9
KB
-rw-r--r--
mix2.inc
76.35
KB
-rw-r--r--
mix2_ucs2.inc
11.52
KB
-rw-r--r--
mtr_check.sql
2.86
KB
-rw-r--r--
mtr_warnings.sql
6.89
KB
-rw-r--r--
mysqlbinlog_have_debug.inc
989
B
-rw-r--r--
mysqldump.inc
2.02
KB
-rw-r--r--
mysqlhotcopy.inc
4.75
KB
-rw-r--r--
mysqltest-x.inc
41
B
-rw-r--r--
ndb_backup.inc
1.7
KB
-rw-r--r--
ndb_backup_print.inc
521
B
-rw-r--r--
ndb_default_cluster.inc
119
B
-rw-r--r--
ndb_master-slave.inc
398
B
-rw-r--r--
ndb_master-slave_2ch.inc
1.76
KB
-rw-r--r--
ndb_not_readonly.inc
844
B
-rw-r--r--
ndb_restore_master.inc
640
B
-rw-r--r--
ndb_restore_slave_eoption.inc
657
B
-rw-r--r--
ndb_setup_slave.inc
805
B
-rw-r--r--
ndb_wait_connected.inc
470
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
364
B
-rw-r--r--
not_as_root.inc
45
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_ndb.inc
183
B
-rw-r--r--
not_ndb_default.inc
161
B
-rw-r--r--
not_openssl.inc
106
B
-rw-r--r--
not_valgrind.inc
118
B
-rw-r--r--
not_windows.inc
165
B
-rw-r--r--
not_windows_embedded.inc
305
B
-rw-r--r--
one_thread_per_connection.inc
111
B
-rw-r--r--
parser_bug21114.inc
1.32
KB
-rw-r--r--
partition_date_range.inc
2.63
KB
-rw-r--r--
ps_conv.inc
47.8
KB
-rw-r--r--
ps_create.inc
1.42
KB
-rw-r--r--
ps_ddl_1.inc
468
B
-rw-r--r--
ps_modify.inc
10.22
KB
-rw-r--r--
ps_modify1.inc
3.16
KB
-rw-r--r--
ps_query.inc
24.49
KB
-rw-r--r--
ps_renew.inc
1.48
KB
-rw-r--r--
query_cache.inc
5.71
KB
-rw-r--r--
query_cache_sql_prepare.inc
13.1
KB
-rw-r--r--
read_many_rows.inc
4.28
KB
-rw-r--r--
report-features.test
186
B
-rw-r--r--
restart_mysqld.inc
1.02
KB
-rw-r--r--
restart_slave_sql.inc
1001
B
-rw-r--r--
rowid_order.inc
2.97
KB
-rw-r--r--
rpl_change_topology.inc
9.72
KB
-rw-r--r--
rpl_connect.inc
1.54
KB
-rw-r--r--
rpl_connection.inc
1.27
KB
-rw-r--r--
rpl_connection_master.inc
68
B
-rw-r--r--
rpl_connection_slave.inc
67
B
-rw-r--r--
rpl_connection_slave1.inc
68
B
-rw-r--r--
rpl_diff.inc
3.2
KB
-rw-r--r--
rpl_end.inc
2.76
KB
-rw-r--r--
rpl_events.inc
5.83
KB
-rw-r--r--
rpl_for_each_slave.inc
952
B
-rw-r--r--
rpl_generate_sync_chain.inc
5.51
KB
-rw-r--r--
rpl_init.inc
7.08
KB
-rw-r--r--
rpl_loaddata_charset.inc
781
B
-rw-r--r--
rpl_multi_engine.inc
729
B
-rw-r--r--
rpl_multi_engine2.inc
2.56
KB
-rw-r--r--
rpl_multi_engine3.inc
2.21
KB
-rw-r--r--
rpl_reconnect.inc
3.16
KB
-rw-r--r--
rpl_reset.inc
1.96
KB
-rw-r--r--
rpl_restart_server.inc
1.04
KB
-rw-r--r--
rpl_start_server.inc
1.53
KB
-rw-r--r--
rpl_start_slaves.inc
843
B
-rw-r--r--
rpl_stmt_seq.inc
7.63
KB
-rw-r--r--
rpl_stop_server.inc
1.92
KB
-rw-r--r--
rpl_stop_slaves.inc
780
B
-rw-r--r--
rpl_sync.inc
4.63
KB
-rw-r--r--
rpl_udf.inc
5.62
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_master_pos.inc
864
B
-rw-r--r--
search_pattern_in_file.inc
2.57
KB
-rw-r--r--
select_ndb_apply_status.inc
505
B
-rw-r--r--
set_binlog_format_mixed.sql
783
B
-rw-r--r--
set_binlog_format_row.sql
779
B
-rw-r--r--
set_binlog_format_statement.sq...
791
B
-rw-r--r--
setup_fake_relay_log.inc
2.92
KB
-rw-r--r--
show_binary_logs.inc
91
B
-rw-r--r--
show_binlog_events.inc
1.49
KB
-rw-r--r--
show_binlog_events2.inc
218
B
-rw-r--r--
show_binlog_using_logname.inc
512
B
-rw-r--r--
show_master_logs.inc
106
B
-rw-r--r--
show_master_status.inc
133
B
-rw-r--r--
show_msg.inc
747
B
-rw-r--r--
show_msg80.inc
4.46
KB
-rw-r--r--
show_rpl_debug_info.inc
2.71
KB
-rw-r--r--
show_slave_status.inc
2.72
KB
-rw-r--r--
sp-vars.inc
3.29
KB
-rw-r--r--
start_slave.inc
758
B
-rw-r--r--
stop_slave.inc
2.32
KB
-rw-r--r--
stop_slave_io.inc
934
B
-rw-r--r--
stop_slave_sql.inc
843
B
-rw-r--r--
strict_autoinc.inc
619
B
-rw-r--r--
sync_io_with_master.inc
1.13
KB
-rw-r--r--
sync_slave_io_with_master.inc
1.3
KB
-rw-r--r--
sync_slave_sql_with_io.inc
1.47
KB
-rw-r--r--
system_db_struct.inc
477
B
-rw-r--r--
test_fieldsize.inc
698
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--
truncate_file.inc
308
B
-rw-r--r--
unsafe_binlog.inc
6.73
KB
-rw-r--r--
uses_vardir.inc
385
B
-rw-r--r--
varchar.inc
7.12
KB
-rw-r--r--
view_alias.inc
1.05
KB
-rw-r--r--
wait_condition.inc
1.23
KB
-rw-r--r--
wait_condition_sp.inc
1.27
KB
-rw-r--r--
wait_for_binlog_event.inc
827
B
-rw-r--r--
wait_for_query_to_fail.inc
366
B
-rw-r--r--
wait_for_query_to_succeed.inc
371
B
-rw-r--r--
wait_for_slave_io_error.inc
3.01
KB
-rw-r--r--
wait_for_slave_io_to_start.inc
851
B
-rw-r--r--
wait_for_slave_io_to_stop.inc
967
B
-rw-r--r--
wait_for_slave_param.inc
3.8
KB
-rw-r--r--
wait_for_slave_sql_error.inc
2.41
KB
-rw-r--r--
wait_for_slave_sql_error_and_s...
1.67
KB
-rw-r--r--
wait_for_slave_sql_to_start.in...
905
B
-rw-r--r--
wait_for_slave_sql_to_stop.inc
975
B
-rw-r--r--
wait_for_slave_to_start.inc
678
B
-rw-r--r--
wait_for_slave_to_stop.inc
946
B
-rw-r--r--
wait_for_status_var.inc
2.2
KB
-rw-r--r--
wait_show_condition.inc
2.29
KB
-rw-r--r--
wait_until_connected_again.inc
546
B
-rw-r--r--
wait_until_count_sessions.inc
4.12
KB
-rw-r--r--
wait_until_disconnected.inc
382
B
-rw-r--r--
wait_until_rows_count.inc
409
B
-rw-r--r--
windows.inc
118
B
-rw-r--r--
windows_sys_vars.inc
802
B
-rw-r--r--
write_var_to_file.inc
1.7
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : query_cache_sql_prepare.inc
############### include/query_cache_sql_prepare.inc ################ # # This is to see how statements prepared via the PREPARE SQL command # go into the query cache: if using parameters they cannot; if not # using parameters they can. # Query cache is abbreviated as "QC" # # Last update: # 2007-05-03 ML - Move t/query_cache_sql_prepare.test # to include/query_cache_sql_prepare.inc # - Create two toplevel tests sourcing this routine # - Add tests checking that # - another connection gets the same amount of QC hits # - statements running via ps-protocol do not hit QC results # of preceding sql EXECUTEs # --source include/have_query_cache.inc # embedded can't make more than one connection, which this test needs -- source include/not_embedded.inc --echo ---- establish connection con1 (root) ---- connect (con1,localhost,root,,test,$MASTER_MYPORT,); --echo ---- switch to connection default ---- connection default; set @initial_query_cache_size = @@global.query_cache_size; set @@global.query_cache_size=100000; flush status; --disable_warnings drop table if exists t1; --enable_warnings create table t1(c1 int); insert into t1 values(1),(10),(100); # First, prepared statements with no parameters prepare stmt1 from "select * from t1 where c1=10"; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; # Another prepared statement (same text, same connection), should hit the QC prepare stmt2 from "select * from t1 where c1=10"; execute stmt2; show status like 'Qcache_hits'; execute stmt2; show status like 'Qcache_hits'; execute stmt2; show status like 'Qcache_hits'; # Another prepared statement (same text, other connection), should hit the QC --echo ---- switch to connection con1 ---- connection con1; prepare stmt3 from "select * from t1 where c1=10"; execute stmt3; show status like 'Qcache_hits'; execute stmt3; show status like 'Qcache_hits'; execute stmt3; show status like 'Qcache_hits'; --echo ---- switch to connection default ---- connection default; # Mixup tests, where statements without PREPARE.../EXECUTE.... meet statements # with PREPARE.../EXECUTE.... (text protocol). Both statements have the # same text. QC hits occur only when both statements use the same protocol. # The outcome of the test depends on the mysqltest startup options # - with "--ps-protocol" # Statements without PREPARE.../EXECUTE.... run as prepared statements # with binary protocol. Expect to get no QC hits. # - without any "--<whatever>-protocol" # Statements without PREPARE.../EXECUTE run as non prepared statements # with text protocol. Expect to get QC hits. ############################################################################ # # Statement with PREPARE.../EXECUTE.... first let $my_stmt= SELECT * FROM t1 WHERE c1 = 100; eval prepare stmt10 from "$my_stmt"; show status like 'Qcache_hits'; execute stmt10; show status like 'Qcache_hits'; execute stmt10; show status like 'Qcache_hits'; eval $my_stmt; show status like 'Qcache_hits'; --echo ---- switch to connection con1 ---- connection con1; eval $my_stmt; show status like 'Qcache_hits'; --echo ---- switch to connection default ---- connection default; # # Statement without PREPARE.../EXECUTE.... first let $my_stmt= SELECT * FROM t1 WHERE c1 = 1; eval prepare stmt11 from "$my_stmt"; --echo ---- switch to connection con1 ---- connection con1; eval prepare stmt12 from "$my_stmt"; --echo ---- switch to connection default ---- connection default; eval $my_stmt; show status like 'Qcache_hits'; eval $my_stmt; show status like 'Qcache_hits'; execute stmt11; show status like 'Qcache_hits'; --echo ---- switch to connection con1 ---- connection con1; execute stmt12; show status like 'Qcache_hits'; --echo ---- switch to connection default ---- connection default; # Query caching also works when statement has parameters # (BUG#29318 Statements prepared with PREPARE and with one parameter don't use # query cache) prepare stmt1 from "select * from t1 where c1=?"; show status like 'Qcache_hits'; set @a=1; execute stmt1 using @a; show status like 'Qcache_hits'; execute stmt1 using @a; show status like 'Qcache_hits'; --echo ---- switch to connection con1 ---- connection con1; set @a=1; prepare stmt4 from "select * from t1 where c1=?"; execute stmt4 using @a; show status like 'Qcache_hits'; # verify that presence of user variables forbids caching prepare stmt4 from "select @a from t1 where c1=?"; execute stmt4 using @a; show status like 'Qcache_hits'; execute stmt4 using @a; show status like 'Qcache_hits'; --echo ---- switch to connection default ---- connection default; # See if enabling/disabling the query cache between PREPARE and # EXECUTE is an issue; the expected result is that the query cache # will not be used. # Indeed, decision to read/write the query cache is taken at PREPARE # time, so if the query cache was disabled at PREPARE time then no # execution of the statement will read/write the query cache. # If the query cache was enabled at PREPARE time, but disabled at # EXECUTE time, at EXECUTE time the query cache internal functions do # nothing so again the query cache is not read/written. But if the # query cache is re-enabled before another execution then that # execution will read/write the query cache. # QC is enabled at PREPARE prepare stmt1 from "select * from t1 where c1=10"; # then QC is disabled at EXECUTE # Expect to see no additional Qcache_hits. set global query_cache_size=0; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; # The QC is global = affects also other connections. # Expect to see no additional Qcache_hits. --echo ---- switch to connection con1 ---- connection con1; execute stmt3; show status like 'Qcache_hits'; execute stmt3; show status like 'Qcache_hits'; execute stmt3; show status like 'Qcache_hits'; # # then QC is re-enabled for more EXECUTE. --echo ---- switch to connection default ---- connection default; set global query_cache_size=100000; # Expect to see additional Qcache_hits. # The fact that the QC was temporary disabled should have no affect # except that the first execute will not hit results from the # beginning of the test (because QC has been emptied meanwhile by # setting its size to 0). execute stmt1; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; # The QC is global = affects also other connections. --echo ---- switch to connection con1 ---- connection con1; execute stmt3; show status like 'Qcache_hits'; execute stmt3; show status like 'Qcache_hits'; execute stmt3; show status like 'Qcache_hits'; --echo ---- switch to connection default ---- connection default; # # then QC is re-disabled for more EXECUTE. # Expect to see no additional Qcache_hits. # The fact that the QC was temporary enabled should have no affect. set global query_cache_size=0; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; # The QC is global = affects also other connections. --echo ---- switch to connection con1 ---- connection con1; execute stmt3; show status like 'Qcache_hits'; execute stmt3; show status like 'Qcache_hits'; execute stmt3; show status like 'Qcache_hits'; # --echo ---- switch to connection default ---- connection default; # QC is disabled at PREPARE set global query_cache_size=0; prepare stmt1 from "select * from t1 where c1=10"; --echo ---- switch to connection con1 ---- connection con1; prepare stmt3 from "select * from t1 where c1=10"; --echo ---- switch to connection default ---- connection default; # then QC is enabled at EXECUTE set global query_cache_size=100000; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; execute stmt1; show status like 'Qcache_hits'; # The QC is global = affects also other connections. --echo ---- switch to connection con1 ---- connection con1; show status like 'Qcache_hits'; execute stmt3; show status like 'Qcache_hits'; execute stmt3; show status like 'Qcache_hits'; execute stmt3; show status like 'Qcache_hits'; --echo ---- switch to connection default ---- connection default; # # QC is disabled at PREPARE set global query_cache_size=0; prepare stmt1 from "select * from t1 where c1=?"; # then QC is enabled at EXECUTE set global query_cache_size=100000; show status like 'Qcache_hits'; set @a=1; execute stmt1 using @a; show status like 'Qcache_hits'; set @a=100; execute stmt1 using @a; show status like 'Qcache_hits'; set @a=10; execute stmt1 using @a; show status like 'Qcache_hits'; drop table t1; --echo ---- disconnect connection con1 ---- disconnect con1; # # Bug #25843 Changing default database between PREPARE and EXECUTE of statement # breaks binlog. # # There were actually two problems discovered by this bug: # # 1. Default (current) database is not fixed at the creation time. # That leads to wrong output of DATABASE() function. # # 2. Database attributes (@@collation_database) are not fixed at the creation # time. That leads to wrong resultset. # # Binlog breakage and Query Cache wrong output happened because of the first # problem. # --echo ######################################################################## --echo # --echo # BUG#25843: Changing default database between PREPARE and EXECUTE of --echo # statement breaks binlog. --echo # --echo ######################################################################## ############################################################################### --echo --echo # --echo # Check that default database and its attributes are fixed at the --echo # creation time. --echo # # Prepare data structures. --echo --disable_warnings DROP DATABASE IF EXISTS mysqltest1; DROP DATABASE IF EXISTS mysqltest2; --enable_warnings --echo CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci; CREATE DATABASE mysqltest2 COLLATE utf8_general_ci; --echo CREATE TABLE mysqltest1.t1(msg VARCHAR(255)); CREATE TABLE mysqltest2.t1(msg VARCHAR(255)); # - Create a prepared statement with mysqltest1 as default database; --echo use mysqltest1; PREPARE stmt_a_1 FROM 'INSERT INTO t1 VALUES(DATABASE())'; PREPARE stmt_a_2 FROM 'INSERT INTO t1 VALUES(@@collation_database)'; # - Execute on mysqltest1. --echo EXECUTE stmt_a_1; EXECUTE stmt_a_2; # - Execute on mysqltest2. --echo use mysqltest2; EXECUTE stmt_a_1; EXECUTE stmt_a_2; # - Check the results; --echo SELECT * FROM mysqltest1.t1; --echo SELECT * FROM mysqltest2.t1; # - Drop prepared statements. --echo DROP PREPARE stmt_a_1; DROP PREPARE stmt_a_2; ############################################################################### --echo --echo # --echo # The Query Cache test case. --echo # --echo DELETE FROM mysqltest1.t1; DELETE FROM mysqltest2.t1; --echo INSERT INTO mysqltest1.t1 VALUES('mysqltest1.t1'); INSERT INTO mysqltest2.t1 VALUES('mysqltest2.t1'); --echo use mysqltest1; PREPARE stmt_b_1 FROM 'SELECT * FROM t1'; --echo use mysqltest2; PREPARE stmt_b_2 FROM 'SELECT * FROM t1'; --echo EXECUTE stmt_b_1; --echo EXECUTE stmt_b_2; --echo use mysqltest1; --echo EXECUTE stmt_b_1; --echo EXECUTE stmt_b_2; --echo DROP PREPARE stmt_b_1; DROP PREPARE stmt_b_2; # Cleanup. --echo use test; --echo DROP DATABASE mysqltest1; DROP DATABASE mysqltest2; ############################################################################### --echo --echo # --echo # Check that prepared statements work properly when there is no current --echo # database. --echo # --echo CREATE DATABASE mysqltest1 COLLATE utf8_unicode_ci; CREATE DATABASE mysqltest2 COLLATE utf8_general_ci; --echo use mysqltest1; --echo PREPARE stmt_c_1 FROM 'SELECT DATABASE(), @@collation_database'; --echo use mysqltest2; --echo PREPARE stmt_c_2 FROM 'SELECT DATABASE(), @@collation_database'; --echo DROP DATABASE mysqltest2; --echo SELECT DATABASE(), @@collation_database; # -- Here we have: current db: NULL; stmt db: mysqltest1; --echo EXECUTE stmt_c_1; --echo SELECT DATABASE(), @@collation_database; # -- Here we have: current db: NULL; stmt db: mysqltest2 (non-existent); --echo EXECUTE stmt_c_2; --echo SELECT DATABASE(), @@collation_database; # -- Create prepared statement, which has no current database. --echo PREPARE stmt_c_3 FROM 'SELECT DATABASE(), @@collation_database'; # -- Here we have: current db: NULL; stmt db: NULL; --echo EXECUTE stmt_c_3; --echo use mysqltest1; # -- Here we have: current db: mysqltest1; stmt db: mysqltest2 (non-existent); --echo EXECUTE stmt_c_2; --echo SELECT DATABASE(), @@collation_database; # -- Here we have: current db: mysqltest1; stmt db: NULL; --echo EXECUTE stmt_c_3; --echo SELECT DATABASE(), @@collation_database; --echo DROP DATABASE mysqltest1; --echo use test; --echo --echo ######################################################################## ############################################################################### set @@global.query_cache_size=@initial_query_cache_size; flush status; # reset Qcache status variables for next tests
Close