From dc24473cb20a13b8af79aa8327b0e0fb253ff239 Mon Sep 17 00:00:00 2001 From: "antony@ppcg5.local" <> Date: Fri, 2 Mar 2007 08:43:45 -0800 Subject: WL#2936 "Server Variables for Plugins" Implement support for plugins to declare server variables. Demonstrate functionality by removing InnoDB specific code from sql/* New feature for HASH - HASH_UNIQUE flag New feature for DYNAMIC_ARRAY - initializer accepts preallocated ptr. Completed support for plugin reference counting. --- mysql-test/r/im_utils.result | 8 ++++---- mysql-test/r/log_tables.result | 3 +++ mysql-test/r/ndb_dd_basic.result | 4 +--- mysql-test/r/partition_innodb.result | 5 ++--- mysql-test/r/ps_1general.result | 3 ++- mysql-test/r/variables.result | 16 ++++++++-------- mysql-test/t/log_tables.test | 3 +++ mysql-test/t/ndb_dd_basic.test | 1 + mysql-test/t/partition_innodb.test | 1 + mysql-test/t/ps_1general.test | 8 +------- mysql-test/t/variables.test | 16 ++++++++-------- mysql-test/t/warnings_engine_disabled-master.opt | 2 +- 12 files changed, 35 insertions(+), 35 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/im_utils.result b/mysql-test/r/im_utils.result index b7c68965ada..b2885030637 100644 --- a/mysql-test/r/im_utils.result +++ b/mysql-test/r/im_utils.result @@ -20,8 +20,8 @@ character-sets-dir VALUE basedir VALUE server_id VALUE skip-stack-trace VALUE -skip-innodb VALUE -skip-ndbcluster VALUE +skip-plugin-innodb VALUE +skip-plugin-ndbcluster VALUE log-output VALUE SHOW INSTANCE OPTIONS mysqld2; option_name value @@ -38,8 +38,8 @@ character-sets-dir VALUE basedir VALUE server_id VALUE skip-stack-trace VALUE -skip-innodb VALUE -skip-ndbcluster VALUE +skip-plugin-innodb VALUE +skip-plugin-ndbcluster VALUE nonguarded VALUE log-output VALUE START INSTANCE mysqld2; diff --git a/mysql-test/r/log_tables.result b/mysql-test/r/log_tables.result index 8264f252287..5a90c22fa06 100644 --- a/mysql-test/r/log_tables.result +++ b/mysql-test/r/log_tables.result @@ -169,6 +169,8 @@ lock tables mysql.slow_log READ LOCAL, mysql.general_log READ LOCAL; unlock tables; set global general_log='OFF'; set global slow_query_log='OFF'; +set @save_storage_engine= @@session.storage_engine; +set storage_engine= MEMORY; alter table mysql.slow_log engine=ndb; ERROR HY000: This storage engine cannot be used for log tables" alter table mysql.slow_log engine=innodb; @@ -177,6 +179,7 @@ alter table mysql.slow_log engine=archive; ERROR HY000: This storage engine cannot be used for log tables" alter table mysql.slow_log engine=blackhole; ERROR HY000: This storage engine cannot be used for log tables" +set storage_engine= @save_storage_engine; drop table mysql.slow_log; drop table mysql.general_log; drop table mysql.general_log; diff --git a/mysql-test/r/ndb_dd_basic.result b/mysql-test/r/ndb_dd_basic.result index 724b42b6db3..91bd111bbdf 100644 --- a/mysql-test/r/ndb_dd_basic.result +++ b/mysql-test/r/ndb_dd_basic.result @@ -10,9 +10,7 @@ ALTER LOGFILE GROUP lg1 ADD UNDOFILE 'undofile02.dat' INITIAL_SIZE = 4M ENGINE=XYZ; -Warnings: -Error 1286 Unknown table engine 'XYZ' -Error 1466 Table storage engine 'MyISAM' does not support the create option 'TABLESPACE or LOGFILE GROUP' +ERROR 42000: Unknown table engine 'XYZ' CREATE TABLESPACE ts1 ADD DATAFILE 'datafile.dat' USE LOGFILE GROUP lg1 diff --git a/mysql-test/r/partition_innodb.result b/mysql-test/r/partition_innodb.result index 8619d0909ee..799f1b2c76f 100644 --- a/mysql-test/r/partition_innodb.result +++ b/mysql-test/r/partition_innodb.result @@ -54,7 +54,7 @@ create table t1 (a int) engine = x partition by key (a); Warnings: -Error 1286 Unknown table engine 'x' +Warning 1266 Using storage engine MyISAM for table 't1' show create table t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -66,8 +66,7 @@ engine = innodb partition by list (a) (partition p0 values in (0)); alter table t1 engine = x; -Warnings: -Error 1286 Unknown table engine 'x' +ERROR 42000: Unknown table engine 'x' show create table t1; Table Create Table t1 CREATE TABLE `t1` ( diff --git a/mysql-test/r/ps_1general.result b/mysql-test/r/ps_1general.result index 762ceeaa03b..26692a992fe 100644 --- a/mysql-test/r/ps_1general.result +++ b/mysql-test/r/ps_1general.result @@ -303,8 +303,9 @@ prepare stmt4 from ' show variables like ''sql_mode'' '; execute stmt4; Variable_name Value sql_mode -prepare stmt4 from ' show engine bdb logs '; +prepare stmt4 from ' show engine myisam logs '; execute stmt4; +Type Name Status prepare stmt4 from ' show grants for user '; prepare stmt4 from ' show create table t2 '; prepare stmt4 from ' show master status '; diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result index ec4c7c9b2aa..dc5874436e4 100644 --- a/mysql-test/r/variables.result +++ b/mysql-test/r/variables.result @@ -236,7 +236,7 @@ net_buffer_length 1024 net_read_timeout 300 net_retry_count 10 net_write_timeout 200 -select * from information_schema.global_variables where variable_name like 'net_%'; +select * from information_schema.global_variables where variable_name like 'net_%' order by 1; VARIABLE_NAME VARIABLE_VALUE NET_BUFFER_LENGTH 1024 NET_READ_TIMEOUT 300 @@ -248,7 +248,7 @@ net_buffer_length 2048 net_read_timeout 600 net_retry_count 10 net_write_timeout 500 -select * from information_schema.session_variables where variable_name like 'net_%'; +select * from information_schema.session_variables where variable_name like 'net_%' order by 1; VARIABLE_NAME VARIABLE_VALUE NET_BUFFER_LENGTH 2048 NET_READ_TIMEOUT 600 @@ -261,7 +261,7 @@ net_buffer_length 1024 net_read_timeout 900 net_retry_count 10 net_write_timeout 1000 -select * from information_schema.global_variables where variable_name like 'net_%'; +select * from information_schema.global_variables where variable_name like 'net_%' order by 1; VARIABLE_NAME VARIABLE_VALUE NET_BUFFER_LENGTH 1024 NET_READ_TIMEOUT 900 @@ -273,7 +273,7 @@ net_buffer_length 7168 net_read_timeout 600 net_retry_count 10 net_write_timeout 500 -select * from information_schema.session_variables where variable_name like 'net_%'; +select * from information_schema.session_variables where variable_name like 'net_%' order by 1; VARIABLE_NAME VARIABLE_VALUE NET_BUFFER_LENGTH 7168 NET_READ_TIMEOUT 600 @@ -314,7 +314,7 @@ query_prealloc_size 8192 range_alloc_block_size 2048 transaction_alloc_block_size 8192 transaction_prealloc_size 4096 -select * from information_schema.session_variables where variable_name like '%alloc%'; +select * from information_schema.session_variables where variable_name like '%alloc%' order by 1; VARIABLE_NAME VARIABLE_VALUE QUERY_ALLOC_BLOCK_SIZE 8192 QUERY_PREALLOC_SIZE 8192 @@ -336,7 +336,7 @@ query_prealloc_size 18432 range_alloc_block_size 16384 transaction_alloc_block_size 19456 transaction_prealloc_size 20480 -select * from information_schema.session_variables where variable_name like '%alloc%'; +select * from information_schema.session_variables where variable_name like '%alloc%' order by 1; VARIABLE_NAME VARIABLE_VALUE QUERY_ALLOC_BLOCK_SIZE 17408 QUERY_PREALLOC_SIZE 18432 @@ -353,7 +353,7 @@ query_prealloc_size 8192 range_alloc_block_size 2048 transaction_alloc_block_size 8192 transaction_prealloc_size 4096 -select * from information_schema.session_variables where variable_name like '%alloc%'; +select * from information_schema.session_variables where variable_name like '%alloc%' order by 1; VARIABLE_NAME VARIABLE_VALUE QUERY_ALLOC_BLOCK_SIZE 8192 QUERY_PREALLOC_SIZE 8192 @@ -881,7 +881,7 @@ ssl_capath # ssl_cert # ssl_cipher # ssl_key # -select * from information_schema.session_variables where variable_name like 'ssl%'; +select * from information_schema.session_variables where variable_name like 'ssl%' order by 1; VARIABLE_NAME VARIABLE_VALUE SSL_CA # SSL_CAPATH # diff --git a/mysql-test/t/log_tables.test b/mysql-test/t/log_tables.test index f1ff91a6d1d..b02a47dde6b 100644 --- a/mysql-test/t/log_tables.test +++ b/mysql-test/t/log_tables.test @@ -252,6 +252,8 @@ set global general_log='OFF'; set global slow_query_log='OFF'; # check that alter table doesn't work for other engines +set @save_storage_engine= @@session.storage_engine; +set storage_engine= MEMORY; --error ER_UNSUPORTED_LOG_ENGINE alter table mysql.slow_log engine=ndb; --error ER_UNSUPORTED_LOG_ENGINE @@ -260,6 +262,7 @@ alter table mysql.slow_log engine=innodb; alter table mysql.slow_log engine=archive; --error ER_UNSUPORTED_LOG_ENGINE alter table mysql.slow_log engine=blackhole; +set storage_engine= @save_storage_engine; drop table mysql.slow_log; drop table mysql.general_log; diff --git a/mysql-test/t/ndb_dd_basic.test b/mysql-test/t/ndb_dd_basic.test index 5d43d7997b0..551c3c089ae 100644 --- a/mysql-test/t/ndb_dd_basic.test +++ b/mysql-test/t/ndb_dd_basic.test @@ -21,6 +21,7 @@ INITIAL_SIZE 16M UNDO_BUFFER_SIZE = 1M ENGINE=MYISAM; +--error ER_UNKNOWN_STORAGE_ENGINE ALTER LOGFILE GROUP lg1 ADD UNDOFILE 'undofile02.dat' INITIAL_SIZE = 4M diff --git a/mysql-test/t/partition_innodb.test b/mysql-test/t/partition_innodb.test index 782e204742f..9f8792c924f 100644 --- a/mysql-test/t/partition_innodb.test +++ b/mysql-test/t/partition_innodb.test @@ -71,6 +71,7 @@ engine = innodb partition by list (a) (partition p0 values in (0)); +--error ER_UNKNOWN_STORAGE_ENGINE alter table t1 engine = x; show create table t1; drop table t1; diff --git a/mysql-test/t/ps_1general.test b/mysql-test/t/ps_1general.test index a9d4488b1be..2d5dd14e847 100644 --- a/mysql-test/t/ps_1general.test +++ b/mysql-test/t/ps_1general.test @@ -321,14 +321,8 @@ prepare stmt4 from ' show status like ''Threads_running'' '; execute stmt4; prepare stmt4 from ' show variables like ''sql_mode'' '; execute stmt4; -# The output depends on the bdb being enabled and on the history -# history (actions of the bdb engine). -# That is the reason why, we switch the output here off. -# (The real output will be tested in ps_6bdb.test) ---disable_result_log -prepare stmt4 from ' show engine bdb logs '; +prepare stmt4 from ' show engine myisam logs '; execute stmt4; ---enable_result_log prepare stmt4 from ' show grants for user '; prepare stmt4 from ' show create table t2 '; prepare stmt4 from ' show master status '; diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test index 4f91b75ced1..cde0d0f7374 100644 --- a/mysql-test/t/variables.test +++ b/mysql-test/t/variables.test @@ -151,14 +151,14 @@ set global net_retry_count=10, session net_retry_count=10; set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300; set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600; show global variables like 'net_%'; -select * from information_schema.global_variables where variable_name like 'net_%'; +select * from information_schema.global_variables where variable_name like 'net_%' order by 1; show session variables like 'net_%'; -select * from information_schema.session_variables where variable_name like 'net_%'; +select * from information_schema.session_variables where variable_name like 'net_%' order by 1; set session net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000; show global variables like 'net_%'; -select * from information_schema.global_variables where variable_name like 'net_%'; +select * from information_schema.global_variables where variable_name like 'net_%' order by 1; show session variables like 'net_%'; -select * from information_schema.session_variables where variable_name like 'net_%'; +select * from information_schema.session_variables where variable_name like 'net_%' order by 1; set net_buffer_length=1; show variables like 'net_buffer_length'; select * from information_schema.session_variables where variable_name like 'net_buffer_length'; @@ -175,7 +175,7 @@ set @@rand_seed1=10000000,@@rand_seed2=1000000; select ROUND(RAND(),5); show variables like '%alloc%'; -select * from information_schema.session_variables where variable_name like '%alloc%'; +select * from information_schema.session_variables where variable_name like '%alloc%' order by 1; set @@range_alloc_block_size=1024*16; set @@query_alloc_block_size=1024*17+2; set @@query_prealloc_size=1024*18; @@ -183,12 +183,12 @@ set @@transaction_alloc_block_size=1024*20-1; set @@transaction_prealloc_size=1024*21-1; select @@query_alloc_block_size; show variables like '%alloc%'; -select * from information_schema.session_variables where variable_name like '%alloc%'; +select * from information_schema.session_variables where variable_name like '%alloc%' order by 1; set @@range_alloc_block_size=default; set @@query_alloc_block_size=default, @@query_prealloc_size=default; set transaction_alloc_block_size=default, @@transaction_prealloc_size=default; show variables like '%alloc%'; -select * from information_schema.session_variables where variable_name like '%alloc%'; +select * from information_schema.session_variables where variable_name like '%alloc%' order by 1; # # Bug #10904 Illegal mix of collations between @@ -669,7 +669,7 @@ select @@ssl_ca, @@ssl_capath, @@ssl_cert, @@ssl_cipher, @@ssl_key; --replace_column 2 # show variables like 'ssl%'; --replace_column 2 # -select * from information_schema.session_variables where variable_name like 'ssl%'; +select * from information_schema.session_variables where variable_name like 'ssl%' order by 1; # # Bug #19616: make log_queries_not_using_indexes available in SHOW VARIABLES diff --git a/mysql-test/t/warnings_engine_disabled-master.opt b/mysql-test/t/warnings_engine_disabled-master.opt index 99837e4a4cb..f51c1789a16 100644 --- a/mysql-test/t/warnings_engine_disabled-master.opt +++ b/mysql-test/t/warnings_engine_disabled-master.opt @@ -1 +1 @@ ---loose-skip-ndb +--loose-skip-plugin-ndbcluster -- cgit v1.2.1 From 3ecbb5a4437a1ce8be7a5c83354ff698846602cc Mon Sep 17 00:00:00 2001 From: "serg@janus.mylan" <> Date: Fri, 13 Apr 2007 19:23:02 +0200 Subject: wl#2936 - fixing problems --- mysql-test/mysql-test-run.pl | 14 +++++++------- mysql-test/r/flush2.result | 2 ++ mysql-test/r/im_utils.result | 8 ++++---- 3 files changed, 13 insertions(+), 11 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 33836837d53..aabd15838e2 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2930,8 +2930,8 @@ sub install_db ($$) { mtr_add_arg($args, "--skip-grant-tables"); mtr_add_arg($args, "--basedir=%s", $path_my_basedir); mtr_add_arg($args, "--datadir=%s", $data_dir); - mtr_add_arg($args, "--skip-innodb"); - mtr_add_arg($args, "--skip-ndbcluster"); + mtr_add_arg($args, "--loose-skip-innodb"); + mtr_add_arg($args, "--loose-skip-ndbcluster"); mtr_add_arg($args, "--tmpdir=."); mtr_add_arg($args, "--core-file"); @@ -3037,8 +3037,8 @@ character-sets-dir = $path_charsetsdir basedir = $path_my_basedir server_id = $server_id skip-stack-trace -skip-innodb -skip-ndbcluster +loose-skip-innodb +loose-skip-ndbcluster EOF ; if ( $mysql_version_id < 50100 ) @@ -3676,7 +3676,7 @@ sub mysqld_arguments ($$$$$) { if ( $opt_skip_ndbcluster || !$cluster->{'pid'}) { - mtr_add_arg($args, "%s--skip-ndbcluster", $prefix); + mtr_add_arg($args, "%s--loose-skip-ndbcluster", $prefix); } else { @@ -3731,7 +3731,7 @@ sub mysqld_arguments ($$$$$) { $slave->[$idx]->{'port'}); mtr_add_arg($args, "%s--report-user=root", $prefix); mtr_add_arg($args, "%s--skip-innodb", $prefix); - mtr_add_arg($args, "%s--skip-ndbcluster", $prefix); + mtr_add_arg($args, "%s--loose-skip-ndbcluster", $prefix); mtr_add_arg($args, "%s--skip-slave-start", $prefix); # Directory where slaves find the dumps generated by "load data" @@ -3767,7 +3767,7 @@ sub mysqld_arguments ($$$$$) { $slave->[$idx]->{'cluster'} == -1 || !$clusters->[$slave->[$idx]->{'cluster'}]->{'pid'} ) { - mtr_add_arg($args, "%s--skip-ndbcluster", $prefix); + mtr_add_arg($args, "%s--loose-skip-ndbcluster", $prefix); } else { diff --git a/mysql-test/r/flush2.result b/mysql-test/r/flush2.result index 8257fa05b41..25969a72ef5 100644 --- a/mysql-test/r/flush2.result +++ b/mysql-test/r/flush2.result @@ -5,6 +5,7 @@ Variable_name Value log ON log_bin OFF log_bin_trust_function_creators ON +log_bin_trust_routine_creators ON log_error log_output TABLE log_queries_not_using_indexes OFF @@ -17,6 +18,7 @@ Variable_name Value log ON log_bin OFF log_bin_trust_function_creators ON +log_bin_trust_routine_creators ON log_error log_output TABLE log_queries_not_using_indexes OFF diff --git a/mysql-test/r/im_utils.result b/mysql-test/r/im_utils.result index b2885030637..df67a2eb960 100644 --- a/mysql-test/r/im_utils.result +++ b/mysql-test/r/im_utils.result @@ -20,8 +20,8 @@ character-sets-dir VALUE basedir VALUE server_id VALUE skip-stack-trace VALUE -skip-plugin-innodb VALUE -skip-plugin-ndbcluster VALUE +loose-skip-innodb VALUE +loose-skip-ndbcluster VALUE log-output VALUE SHOW INSTANCE OPTIONS mysqld2; option_name value @@ -38,8 +38,8 @@ character-sets-dir VALUE basedir VALUE server_id VALUE skip-stack-trace VALUE -skip-plugin-innodb VALUE -skip-plugin-ndbcluster VALUE +loose-skip-innodb VALUE +loose-skip-ndbcluster VALUE nonguarded VALUE log-output VALUE START INSTANCE mysqld2; -- cgit v1.2.1 From c53037af36e1e7af2996299fc6f0d126619f2565 Mon Sep 17 00:00:00 2001 From: "serg@sergbook.mysql.com" <> Date: Sun, 15 Apr 2007 15:47:27 +0200 Subject: more wl#2936 fixes: removed implicit ha_thd() calls (too error-prone), fixed an assert crash --- mysql-test/mysql-test-run.pl | 7 +++++-- mysql-test/r/partition_innodb.result | 5 +++-- mysql-test/t/partition_innodb.test | 1 - 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index aabd15838e2..fbd1ed4df5b 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -1330,10 +1330,13 @@ sub collect_mysqld_features () { my $found_variable_list_start= 0; # - # Execute "mysqld --no-defaults --help --verbose" to get a + # Execute "mysqld --help --verbose" to get a list # of all features and settings # - my $list= `$exe_mysqld --no-defaults --verbose --help`; + # --no-defaults and --skip-grant-tables are to avoid loading + # system-wide configs and plugins + # + my $list= `$exe_mysqld --no-defaults --skip-grant-tables --verbose --help`; foreach my $line (split('\n', $list)) { diff --git a/mysql-test/r/partition_innodb.result b/mysql-test/r/partition_innodb.result index 799f1b2c76f..96eee40b9f6 100644 --- a/mysql-test/r/partition_innodb.result +++ b/mysql-test/r/partition_innodb.result @@ -66,10 +66,11 @@ engine = innodb partition by list (a) (partition p0 values in (0)); alter table t1 engine = x; -ERROR 42000: Unknown table engine 'x' +Warnings: +Warning 1266 Using storage engine MyISAM for table 't1' show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (0) ENGINE = InnoDB) */ +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (0) ENGINE = MyISAM) */ drop table t1; diff --git a/mysql-test/t/partition_innodb.test b/mysql-test/t/partition_innodb.test index 9f8792c924f..782e204742f 100644 --- a/mysql-test/t/partition_innodb.test +++ b/mysql-test/t/partition_innodb.test @@ -71,7 +71,6 @@ engine = innodb partition by list (a) (partition p0 values in (0)); ---error ER_UNKNOWN_STORAGE_ENGINE alter table t1 engine = x; show create table t1; drop table t1; -- cgit v1.2.1