From: Tatjana Azundris Nuernberg Date: August 19 2011 1:16am Subject: bzr push into mysql-trunk branch (tatjana.nuernberg:3271 to 3272) WL#5706 List-Archive: http://lists.mysql.com/commits/140712 Message-Id: <201108190116.p7J1GSLi004374@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3272 Tatjana Azundris Nuernberg 2011-08-19 WL#5706 split rewrite tests as suggested by Horst added: mysql-test/r/rewrite_slow_log.result mysql-test/t/rewrite_slow_log.test renamed: mysql-test/r/rewrite.result => mysql-test/r/rewrite_general_log.result mysql-test/t/rewrite.test => mysql-test/t/rewrite_general_log.test modified: mysql-test/r/rewrite_general_log.result mysql-test/t/rewrite_general_log.test 3271 Tatjana Azundris Nuernberg 2011-08-18 [merge] manual merge removed: mysql-test/suite/perfschema/r/pfs_upgrade_lc0.result.THIS mysql-test/suite/perfschema/r/pfs_upgrade_lc1.result.THIS mysql-test/suite/perfschema/r/pfs_upgrade_lc2.result.THIS mysql-test/suite/perfschema/r/schema_lc0.result.THIS mysql-test/suite/perfschema/r/schema_lc1.result.THIS mysql-test/suite/perfschema/r/schema_lc2.result.THIS added: client/mysql_plugin.c mysql-test/include/daemon_example_bad_format.ini mysql-test/include/daemon_example_bad_soname.ini mysql-test/r/multi_plugin_load.result mysql-test/r/multi_plugin_load_add.result mysql-test/r/multi_plugin_load_add2.result mysql-test/r/mysql_plugin.result mysql-test/r/optimizer_bug12837084.result mysql-test/suite/innodb/r/innodb_bug59733.result mysql-test/suite/innodb/r/innodb_corrupt_bit.result mysql-test/suite/innodb/t/innodb_bug59733.test mysql-test/suite/innodb/t/innodb_corrupt_bit.test mysql-test/suite/sys_vars/r/ignore_db_dirs_basic.result mysql-test/suite/sys_vars/r/innodb_flush_neighbors_basic.result mysql-test/suite/sys_vars/r/innodb_force_load_corrupted_basic.result mysql-test/suite/sys_vars/r/innodb_large_prefix_basic.result mysql-test/suite/sys_vars/r/innodb_lru_scan_depth_basic.result mysql-test/suite/sys_vars/t/ignore_db_dirs_basic-master.opt mysql-test/suite/sys_vars/t/ignore_db_dirs_basic.test mysql-test/suite/sys_vars/t/innodb_flush_neighbors_basic.test mysql-test/suite/sys_vars/t/innodb_force_load_corrupted_basic.test mysql-test/suite/sys_vars/t/innodb_large_prefix_basic.test mysql-test/suite/sys_vars/t/innodb_lru_scan_depth_basic.test mysql-test/t/multi_plugin_load-master.opt mysql-test/t/multi_plugin_load.test mysql-test/t/multi_plugin_load_add-master.opt mysql-test/t/multi_plugin_load_add.test mysql-test/t/multi_plugin_load_add2-master.opt mysql-test/t/multi_plugin_load_add2.test mysql-test/t/mysql_plugin-master.opt mysql-test/t/mysql_plugin.test mysql-test/t/optimizer_bug12837084.test plugin/daemon_example/daemon_example.ini modified: client/CMakeLists.txt include/my_base.h include/my_global.h mysql-test/collections/default.experimental mysql-test/include/join_cache.inc mysql-test/include/plugin.defs mysql-test/include/range.inc mysql-test/mysql-test-run.pl mysql-test/r/derived.result mysql-test/r/explain.result mysql-test/r/func_gconcat.result mysql-test/r/grant2.result mysql-test/r/group_by.result mysql-test/r/heap.result mysql-test/r/index_merge_myisam.result mysql-test/r/information_schema.result mysql-test/r/innodb_explain_non_select_none.result mysql-test/r/innodb_icp_all.result mysql-test/r/innodb_mrr_all.result mysql-test/r/innodb_mrr_cost_all.result mysql-test/r/join_cache_jcl0.result mysql-test/r/join_cache_jcl1.result mysql-test/r/join_cache_jcl2.result mysql-test/r/join_cache_jcl3.result mysql-test/r/join_cache_jcl4.result mysql-test/r/join_cache_jcl5.result mysql-test/r/join_cache_jcl6.result mysql-test/r/join_cache_jcl7.result mysql-test/r/join_cache_jcl8.result mysql-test/r/myisam_explain_non_select_none.result mysql-test/r/myisam_icp_all.result mysql-test/r/myisam_mrr_all.result mysql-test/r/myisam_mrr_cost_all.result mysql-test/r/mysqld--help-notwin.result mysql-test/r/mysqld--help-win.result mysql-test/r/range_all.result mysql-test/r/range_icp.result mysql-test/r/range_icp_mrr.result mysql-test/r/range_mrr.result mysql-test/r/range_mrr_cost.result mysql-test/r/range_none.result mysql-test/r/row.result mysql-test/r/sp_trans.result mysql-test/r/subquery_all.result mysql-test/r/subquery_nomat_nosj.result mysql-test/r/subquery_none.result mysql-test/r/view.result mysql-test/suite/funcs_1/datadict/datadict_priv.inc mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result mysql-test/suite/funcs_1/r/processlist_priv_ps.result mysql-test/suite/innodb/r/innodb_monitor.result mysql-test/suite/innodb/r/innodb_mysql.result mysql-test/suite/innodb/t/innodb_buffer_pool_load-master.opt mysql-test/suite/opt_trace/r/bugs_no_prot_none.result mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result mysql-test/suite/opt_trace/r/charset.result mysql-test/suite/opt_trace/r/general2_no_prot.result mysql-test/suite/opt_trace/r/general2_ps_prot.result mysql-test/suite/opt_trace/r/general_no_prot_none.result mysql-test/suite/opt_trace/r/general_ps_prot_none.result mysql-test/suite/opt_trace/r/range_no_prot.result mysql-test/suite/opt_trace/r/range_ps_prot.result mysql-test/suite/opt_trace/r/security_no_prot.result mysql-test/suite/opt_trace/r/security_ps_prot.result mysql-test/suite/rpl/r/rpl_heartbeat.result mysql-test/suite/rpl/t/rpl_heartbeat.test mysql-test/suite/sys_vars/r/all_vars.result mysql-test/suite/sys_vars/r/innodb_file_per_table_basic.result mysql-test/suite/sys_vars/r/innodb_lock_wait_timeout_basic.result mysql-test/suite/sys_vars/t/all_vars.test mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_basic.test mysql-test/suite/sys_vars/t/innodb_fast_shutdown_basic.test mysql-test/suite/sys_vars/t/innodb_file_per_table_basic.test mysql-test/suite/sys_vars/t/innodb_io_capacity_basic.test mysql-test/suite/sys_vars/t/innodb_lock_wait_timeout_basic.test mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_basic.test mysql-test/t/derived.test mysql-test/t/grant2.test mysql-test/t/group_by.test mysql-test/t/heap.test mysql-test/t/information_schema.test mysql-test/t/join.test mysql-test/t/sp_trans.test mysys/my_handler_errors.h plugin/daemon_example/CMakeLists.txt sql/authors.h sql/field.h sql/handler.cc sql/handler.h sql/item_cmpfunc.cc sql/item_subselect.cc sql/item_sum.cc sql/key.h sql/mysqld.cc sql/mysqld.h sql/opt_explain.cc sql/opt_range.cc sql/opt_range.h sql/opt_sum.cc sql/records.cc sql/records.h sql/share/errmsg-utf8.txt sql/sql_alter.cc sql/sql_base.cc sql/sql_class.cc sql/sql_class.h sql/sql_cursor.cc sql/sql_derived.cc sql/sql_derived.h sql/sql_insert.cc sql/sql_join_cache.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_list.h sql/sql_parse.cc sql/sql_plugin.cc sql/sql_plugin.h sql/sql_prepare.cc sql/sql_select.cc sql/sql_select.h sql/sql_show.cc sql/sql_show.h sql/sql_test.cc sql/sql_union.cc sql/sql_update.cc sql/sql_view.cc sql/sql_yacc.yy sql/structs.h sql/sys_vars.cc sql/table.cc sql/table.h storage/heap/hp_hash.c storage/innobase/btr/btr0btr.c storage/innobase/btr/btr0cur.c storage/innobase/btr/btr0pcur.c storage/innobase/btr/btr0sea.c storage/innobase/buf/buf0buf.c storage/innobase/buf/buf0flu.c storage/innobase/buf/buf0lru.c storage/innobase/buf/buf0rea.c storage/innobase/dict/dict0crea.c storage/innobase/dict/dict0dict.c storage/innobase/dict/dict0load.c storage/innobase/handler/ha_innodb.cc storage/innobase/ibuf/ibuf0ibuf.c storage/innobase/include/btr0btr.h storage/innobase/include/btr0btr.ic storage/innobase/include/buf0buf.h storage/innobase/include/buf0buf.ic storage/innobase/include/buf0flu.h storage/innobase/include/buf0lru.h storage/innobase/include/buf0types.h storage/innobase/include/db0err.h storage/innobase/include/dict0boot.h storage/innobase/include/dict0dict.h storage/innobase/include/dict0dict.ic storage/innobase/include/dict0mem.h storage/innobase/include/dict0priv.ic storage/innobase/include/dict0types.h storage/innobase/include/ibuf0ibuf.ic storage/innobase/include/srv0mon.h storage/innobase/include/srv0srv.h storage/innobase/include/sync0sync.h storage/innobase/include/trx0sys.h storage/innobase/log/log0log.c storage/innobase/pars/pars0opt.c storage/innobase/read/read0read.c storage/innobase/row/row0ins.c storage/innobase/row/row0merge.c storage/innobase/row/row0mysql.c storage/innobase/row/row0purge.c storage/innobase/row/row0sel.c storage/innobase/row/row0uins.c storage/innobase/row/row0umod.c storage/innobase/row/row0upd.c storage/innobase/srv/srv0mon.c storage/innobase/srv/srv0srv.c storage/innobase/sync/sync0sync.c storage/innobase/trx/trx0sys.c storage/innobase/ut/ut0ut.c support-files/mysql.spec.sh unittest/gunit/sql_list-t.cc === renamed file 'mysql-test/r/rewrite.result' => 'mysql-test/r/rewrite_general_log.result' --- a/mysql-test/r/rewrite.result 2011-08-18 13:53:05 +0000 +++ b/mysql-test/r/rewrite_general_log.result 2011-08-19 00:45:28 +0000 @@ -1,5 +1,4 @@ TRUNCATE TABLE mysql.general_log; -TRUNCATE TABLE mysql.slow_log; --------------- general log --------------------------------------- SET @old_log_output= @@global.log_output; SET @old_general_log= @@global.general_log; @@ -60,64 +59,4 @@ DROP TABLE test_log; SET GLOBAL general_log_file= @old_general_log_file; SET GLOBAL general_log= @old_general_log; SET GLOBAL log_output= @old_log_output; ---------------- slow log ------------------------------------------ -SET @old_log_output= @@global.log_output; -SET @old_slow_query_log= @@global.slow_query_log; -SET @old_slow_query_log_file= @@global.slow_query_log_file; -SET @old_long_query_time= @@global.long_query_time; -SET GLOBAL slow_query_log_file= '.../log/rewrite_slow.log'; -SET GLOBAL log_output = 'FILE,TABLE'; -SET GLOBAL slow_query_log= 'ON'; -SET SESSION long_query_time= 0; -GRANT ALL on *.* TO test_user1 IDENTIFIED BY 'azundris1'; -CREATE USER test_user2 IDENTIFIED BY 'azundris2'; -CHANGE MASTER TO MASTER_PASSWORD='azundris3'; -CHANGE MASTER TO MASTER_CONNECT_RETRY = 1, MASTER_HEARTBEAT_PERIOD = 1.01, -MASTER_LOG_FILE = 'master_log_name', MASTER_LOG_POS = 0, -MASTER_SSL = 0, MASTER_SSL_CA = 'ca_file_name', -MASTER_SSL_CAPATH = 'ca_directory_name', -MASTER_SSL_CERT = 'cert_file_name', MASTER_SSL_KEY = 'key_file_name', -MASTER_SSL_CIPHER = 'cipher_list', MASTER_SSL_VERIFY_SERVER_CERT = 0, -IGNORE_SERVER_IDS = (99,100); -CHANGE MASTER TO MASTER_CONNECT_RETRY = 1, MASTER_HEARTBEAT_PERIOD = 1.01, -MASTER_LOG_FILE = '', MASTER_LOG_POS = 0, -MASTER_SSL = 0, MASTER_SSL_CA = '', -MASTER_SSL_CAPATH = '', -MASTER_SSL_CERT = '', MASTER_SSL_KEY = '', -MASTER_SSL_CIPHER = '', MASTER_SSL_VERIFY_SERVER_CERT = 0, -IGNORE_SERVER_IDS = ( ); -CREATE USER 'test_user4'@'localhost'; -SET PASSWORD FOR 'test_user4'@'localhost' = PASSWORD('azundris4'); -SET SESSION long_query_time= @old_long_query_time; -SET GLOBAL slow_query_log='OFF'; -DROP USER 'test_user4'@'localhost'; -DROP USER test_user2; -DROP USER test_user1; -CREATE TABLE test_log (sql_text TEXT); -LOAD DATA LOCAL INFILE '.../log/rewrite_slow.log' - INTO TABLE test_log FIELDS TERMINATED BY '\n' LINES TERMINATED BY '\n'; -This line should be followed by two SELECTs with empty result sets -SELECT sql_text FROM test_log WHERE sql_text LIKE CONCAT('%azun','dris%'); -sql_text -SELECT sql_text FROM mysql.slow_log WHERE sql_text LIKE CONCAT('%azun','dris%'); -sql_text ------- from file ------ -SELECT sql_text FROM test_log WHERE sql_text like '%PASSWORD %'; -sql_text -GRANT ALL PRIVILEGES ON *.* TO 'test_user1'@'%' IDENTIFIED BY PASSWORD '*8D15E74BC850D11573A52BE84B504DD0BA40C1E3'; -CREATE USER 'test_user2'@'%' IDENTIFIED BY PASSWORD '*A142844DBF024D282D88FE19CB4D3FA13B1E96E0'; -CHANGE MASTER TO MASTER_PASSWORD = ; -SET PASSWORD FOR `test_user4`@`localhost`=; ------- from table ------ -SELECT sql_text FROM mysql.slow_log WHERE sql_text like '%PASSWORD %'; -sql_text -GRANT ALL PRIVILEGES ON *.* TO 'test_user1'@'%' IDENTIFIED BY PASSWORD '*8D15E74BC850D11573A52BE84B504DD0BA40C1E3' -CREATE USER 'test_user2'@'%' IDENTIFIED BY PASSWORD '*A142844DBF024D282D88FE19CB4D3FA13B1E96E0' -CHANGE MASTER TO MASTER_PASSWORD = -SET PASSWORD FOR `test_user4`@`localhost`= ------- done ------ -DROP TABLE test_log; -SET GLOBAL slow_query_log_file= @old_slow_query_log_file; -SET GLOBAL slow_query_log= @old_slow_query_log; -SET GLOBAL log_output= @old_log_output; End of 5.6 tests! === added file 'mysql-test/r/rewrite_slow_log.result' --- a/mysql-test/r/rewrite_slow_log.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/r/rewrite_slow_log.result 2011-08-19 00:45:28 +0000 @@ -0,0 +1,61 @@ +TRUNCATE TABLE mysql.slow_log; +SET @old_log_output= @@global.log_output; +SET @old_slow_query_log= @@global.slow_query_log; +SET @old_slow_query_log_file= @@global.slow_query_log_file; +SET @old_long_query_time= @@global.long_query_time; +SET GLOBAL slow_query_log_file= '.../log/rewrite_slow.log'; +SET GLOBAL log_output = 'FILE,TABLE'; +SET GLOBAL slow_query_log= 'ON'; +SET SESSION long_query_time= 0; +GRANT ALL on *.* TO test_user1 IDENTIFIED BY 'azundris1'; +CREATE USER test_user2 IDENTIFIED BY 'azundris2'; +CHANGE MASTER TO MASTER_PASSWORD='azundris3'; +CHANGE MASTER TO MASTER_CONNECT_RETRY = 1, MASTER_HEARTBEAT_PERIOD = 1.01, +MASTER_LOG_FILE = 'master_log_name', MASTER_LOG_POS = 0, +MASTER_SSL = 0, MASTER_SSL_CA = 'ca_file_name', +MASTER_SSL_CAPATH = 'ca_directory_name', +MASTER_SSL_CERT = 'cert_file_name', MASTER_SSL_KEY = 'key_file_name', +MASTER_SSL_CIPHER = 'cipher_list', MASTER_SSL_VERIFY_SERVER_CERT = 0, +IGNORE_SERVER_IDS = (99,100); +CHANGE MASTER TO MASTER_CONNECT_RETRY = 1, MASTER_HEARTBEAT_PERIOD = 1.01, +MASTER_LOG_FILE = '', MASTER_LOG_POS = 0, +MASTER_SSL = 0, MASTER_SSL_CA = '', +MASTER_SSL_CAPATH = '', +MASTER_SSL_CERT = '', MASTER_SSL_KEY = '', +MASTER_SSL_CIPHER = '', MASTER_SSL_VERIFY_SERVER_CERT = 0, +IGNORE_SERVER_IDS = ( ); +CREATE USER 'test_user4'@'localhost'; +SET PASSWORD FOR 'test_user4'@'localhost' = PASSWORD('azundris4'); +SET SESSION long_query_time= @old_long_query_time; +SET GLOBAL slow_query_log='OFF'; +DROP USER 'test_user4'@'localhost'; +DROP USER test_user2; +DROP USER test_user1; +CREATE TABLE test_log (sql_text TEXT); +LOAD DATA LOCAL INFILE '.../log/rewrite_slow.log' + INTO TABLE test_log FIELDS TERMINATED BY '\n' LINES TERMINATED BY '\n'; +This line should be followed by two SELECTs with empty result sets +SELECT sql_text FROM test_log WHERE sql_text LIKE CONCAT('%azun','dris%'); +sql_text +SELECT sql_text FROM mysql.slow_log WHERE sql_text LIKE CONCAT('%azun','dris%'); +sql_text +------ from file ------ +SELECT sql_text FROM test_log WHERE sql_text like '%PASSWORD %'; +sql_text +GRANT ALL PRIVILEGES ON *.* TO 'test_user1'@'%' IDENTIFIED BY PASSWORD '*8D15E74BC850D11573A52BE84B504DD0BA40C1E3'; +CREATE USER 'test_user2'@'%' IDENTIFIED BY PASSWORD '*A142844DBF024D282D88FE19CB4D3FA13B1E96E0'; +CHANGE MASTER TO MASTER_PASSWORD = ; +SET PASSWORD FOR `test_user4`@`localhost`=; +------ from table ------ +SELECT sql_text FROM mysql.slow_log WHERE sql_text like '%PASSWORD %'; +sql_text +GRANT ALL PRIVILEGES ON *.* TO 'test_user1'@'%' IDENTIFIED BY PASSWORD '*8D15E74BC850D11573A52BE84B504DD0BA40C1E3' +CREATE USER 'test_user2'@'%' IDENTIFIED BY PASSWORD '*A142844DBF024D282D88FE19CB4D3FA13B1E96E0' +CHANGE MASTER TO MASTER_PASSWORD = +SET PASSWORD FOR `test_user4`@`localhost`= +------ done ------ +DROP TABLE test_log; +SET GLOBAL slow_query_log_file= @old_slow_query_log_file; +SET GLOBAL slow_query_log= @old_slow_query_log; +SET GLOBAL log_output= @old_log_output; +End of 5.6 tests! === renamed file 'mysql-test/t/rewrite.test' => 'mysql-test/t/rewrite_general_log.test' --- a/mysql-test/t/rewrite.test 2011-08-18 13:53:05 +0000 +++ b/mysql-test/t/rewrite_general_log.test 2011-08-19 00:45:28 +0000 @@ -6,7 +6,6 @@ # make sure we start with a clean slate. log_tables.test says this is OK. TRUNCATE TABLE mysql.general_log; -TRUNCATE TABLE mysql.slow_log; --echo --------------- general log --------------------------------------- @@ -81,90 +80,4 @@ SET GLOBAL general_log_file= @old_gener SET GLOBAL general_log= @old_general_log; SET GLOBAL log_output= @old_log_output; ---echo --------------- slow log ------------------------------------------ - -SET @old_log_output= @@global.log_output; -SET @old_slow_query_log= @@global.slow_query_log; -SET @old_slow_query_log_file= @@global.slow_query_log_file; - -SET @old_long_query_time= @@global.long_query_time; - ---replace_result $MYSQLTEST_VARDIR ... -eval SET GLOBAL slow_query_log_file= '$MYSQLTEST_VARDIR/log/rewrite_slow.log'; -SET GLOBAL log_output = 'FILE,TABLE'; -SET GLOBAL slow_query_log= 'ON'; - -# The answer is obvious: log everything! -SET SESSION long_query_time= 0; - -# Show that obfuscation applies to the slow log at all. -# If one applies, they all do, and we've already demonstrated the individual -# obfuscations above for the general log. - -# 1.1.1.1 -GRANT ALL on *.* TO test_user1 IDENTIFIED BY 'azundris1'; - -# 1.1.1.2 -CREATE USER test_user2 IDENTIFIED BY 'azundris2'; - -# 1.1.1.3 ---disable_warnings -CHANGE MASTER TO MASTER_PASSWORD='azundris3'; -CHANGE MASTER TO MASTER_CONNECT_RETRY = 1, MASTER_HEARTBEAT_PERIOD = 1.01, - MASTER_LOG_FILE = 'master_log_name', MASTER_LOG_POS = 0, - MASTER_SSL = 0, MASTER_SSL_CA = 'ca_file_name', - MASTER_SSL_CAPATH = 'ca_directory_name', - MASTER_SSL_CERT = 'cert_file_name', MASTER_SSL_KEY = 'key_file_name', - MASTER_SSL_CIPHER = 'cipher_list', MASTER_SSL_VERIFY_SERVER_CERT = 0, - IGNORE_SERVER_IDS = (99,100); -# cleanup -CHANGE MASTER TO MASTER_CONNECT_RETRY = 1, MASTER_HEARTBEAT_PERIOD = 1.01, - MASTER_LOG_FILE = '', MASTER_LOG_POS = 0, - MASTER_SSL = 0, MASTER_SSL_CA = '', - MASTER_SSL_CAPATH = '', - MASTER_SSL_CERT = '', MASTER_SSL_KEY = '', - MASTER_SSL_CIPHER = '', MASTER_SSL_VERIFY_SERVER_CERT = 0, - IGNORE_SERVER_IDS = ( ); ---enable_warnings - -# 1.1.1.4 -CREATE USER 'test_user4'@'localhost'; -SET PASSWORD FOR 'test_user4'@'localhost' = PASSWORD('azundris4'); - -SET SESSION long_query_time= @old_long_query_time; - -# clean-up -SET GLOBAL slow_query_log='OFF'; - -DROP USER 'test_user4'@'localhost'; -DROP USER test_user2; -DROP USER test_user1; - -# show slow-logging to file is correct -CREATE TABLE test_log (sql_text TEXT); ---replace_result $MYSQLTEST_VARDIR ... -eval LOAD DATA LOCAL INFILE '$MYSQLTEST_VARDIR/log/rewrite_slow.log' - INTO TABLE test_log FIELDS TERMINATED BY '\n' LINES TERMINATED BY '\n'; - -# all passwords ('azundris%') must have been obfuscated -> empty result set ---echo This line should be followed by two SELECTs with empty result sets -SELECT sql_text FROM test_log WHERE sql_text LIKE CONCAT('%azun','dris%'); - -# same for logging to table -SELECT sql_text FROM mysql.slow_log WHERE sql_text LIKE CONCAT('%azun','dris%'); - ---echo ------ from file ------ -SELECT sql_text FROM test_log WHERE sql_text like '%PASSWORD %'; ---echo ------ from table ------ -SELECT sql_text FROM mysql.slow_log WHERE sql_text like '%PASSWORD %'; ---echo ------ done ------ - -DROP TABLE test_log; - ---remove_file $MYSQLTEST_VARDIR/log/rewrite_slow.log - -SET GLOBAL slow_query_log_file= @old_slow_query_log_file; -SET GLOBAL slow_query_log= @old_slow_query_log; -SET GLOBAL log_output= @old_log_output; - --echo End of 5.6 tests! === added file 'mysql-test/t/rewrite_slow_log.test' --- a/mysql-test/t/rewrite_slow_log.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/t/rewrite_slow_log.test 2011-08-19 00:45:28 +0000 @@ -0,0 +1,96 @@ +# +# WL#5706/Bug#58712/Bug#11746378 +# Encrypt or remove passwords from slow, query, and binary logs +# (see sql/sql_rewrite.cc for bulk of implementation) +# + +--source include/not_windows.inc + +# make sure we start with a clean slate. log_tables.test says this is OK. +TRUNCATE TABLE mysql.slow_log; + +SET @old_log_output= @@global.log_output; +SET @old_slow_query_log= @@global.slow_query_log; +SET @old_slow_query_log_file= @@global.slow_query_log_file; + +SET @old_long_query_time= @@global.long_query_time; + +--replace_result $MYSQLTEST_VARDIR ... +eval SET GLOBAL slow_query_log_file= '$MYSQLTEST_VARDIR/log/rewrite_slow.log'; +SET GLOBAL log_output = 'FILE,TABLE'; +SET GLOBAL slow_query_log= 'ON'; + +# The answer is obvious: log everything! +SET SESSION long_query_time= 0; + +# Show that obfuscation applies to the slow log at all. +# If one applies, they all do, and we've already demonstrated the individual +# obfuscations above for the general log. + +# 1.1.1.1 +GRANT ALL on *.* TO test_user1 IDENTIFIED BY 'azundris1'; + +# 1.1.1.2 +CREATE USER test_user2 IDENTIFIED BY 'azundris2'; + +# 1.1.1.3 +--disable_warnings +CHANGE MASTER TO MASTER_PASSWORD='azundris3'; +CHANGE MASTER TO MASTER_CONNECT_RETRY = 1, MASTER_HEARTBEAT_PERIOD = 1.01, + MASTER_LOG_FILE = 'master_log_name', MASTER_LOG_POS = 0, + MASTER_SSL = 0, MASTER_SSL_CA = 'ca_file_name', + MASTER_SSL_CAPATH = 'ca_directory_name', + MASTER_SSL_CERT = 'cert_file_name', MASTER_SSL_KEY = 'key_file_name', + MASTER_SSL_CIPHER = 'cipher_list', MASTER_SSL_VERIFY_SERVER_CERT = 0, + IGNORE_SERVER_IDS = (99,100); +# cleanup +CHANGE MASTER TO MASTER_CONNECT_RETRY = 1, MASTER_HEARTBEAT_PERIOD = 1.01, + MASTER_LOG_FILE = '', MASTER_LOG_POS = 0, + MASTER_SSL = 0, MASTER_SSL_CA = '', + MASTER_SSL_CAPATH = '', + MASTER_SSL_CERT = '', MASTER_SSL_KEY = '', + MASTER_SSL_CIPHER = '', MASTER_SSL_VERIFY_SERVER_CERT = 0, + IGNORE_SERVER_IDS = ( ); +--enable_warnings + +# 1.1.1.4 +CREATE USER 'test_user4'@'localhost'; +SET PASSWORD FOR 'test_user4'@'localhost' = PASSWORD('azundris4'); + +SET SESSION long_query_time= @old_long_query_time; + +# clean-up +SET GLOBAL slow_query_log='OFF'; + +DROP USER 'test_user4'@'localhost'; +DROP USER test_user2; +DROP USER test_user1; + +# show slow-logging to file is correct +CREATE TABLE test_log (sql_text TEXT); +--replace_result $MYSQLTEST_VARDIR ... +eval LOAD DATA LOCAL INFILE '$MYSQLTEST_VARDIR/log/rewrite_slow.log' + INTO TABLE test_log FIELDS TERMINATED BY '\n' LINES TERMINATED BY '\n'; + +# all passwords ('azundris%') must have been obfuscated -> empty result set +--echo This line should be followed by two SELECTs with empty result sets +SELECT sql_text FROM test_log WHERE sql_text LIKE CONCAT('%azun','dris%'); + +# same for logging to table +SELECT sql_text FROM mysql.slow_log WHERE sql_text LIKE CONCAT('%azun','dris%'); + +--echo ------ from file ------ +SELECT sql_text FROM test_log WHERE sql_text like '%PASSWORD %'; +--echo ------ from table ------ +SELECT sql_text FROM mysql.slow_log WHERE sql_text like '%PASSWORD %'; +--echo ------ done ------ + +DROP TABLE test_log; + +--remove_file $MYSQLTEST_VARDIR/log/rewrite_slow.log + +SET GLOBAL slow_query_log_file= @old_slow_query_log_file; +SET GLOBAL slow_query_log= @old_slow_query_log; +SET GLOBAL log_output= @old_log_output; + +--echo End of 5.6 tests! No bundle (reason: useless for push emails).