List:Commits« Previous MessageNext Message »
From:Christopher Powers Date:November 17 2011 10:04pm
Subject:bzr push into mysql-trunk-wl5461 branch (chris.powers:3434 to 3438) WL#5461
View as plain text  
 3438 Christopher Powers	2011-11-17
      WL#5461 PERFORMANCE_SCHEMA MY.CNF Default Setup
      
      Update mysqld--help-notwin testcase

    modified:
      mysql-test/r/mysqld--help-notwin.result
 3437 Christopher Powers	2011-11-17
      WL#5461 PERFORMANCE_SCHEMA MY.CNF Default Setup
      
      Changes per code review:
      - Make new test cases platform- and compile option-generic
      - Issue warnings for invalid configuration options
      - Improve configuration option descriptions
      - Misc code tweaks

    modified:
      mysql-test/r/mysqld--help-win.result
      mysql-test/suite/perfschema/r/setup_consumers_defaults.result
      mysql-test/suite/perfschema/r/setup_instruments_defaults.result
      mysql-test/suite/perfschema/t/setup_consumers_defaults.test
      mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt
      mysql-test/suite/perfschema/t/setup_instruments_defaults.test
      sql/mysqld.cc
      sql/sys_vars.cc
      storage/perfschema/pfs_instr_class.cc
      storage/perfschema/pfs_instr_class.h
      storage/perfschema/pfs_server.cc
      storage/perfschema/pfs_server.h
 3436 Christopher Powers	2011-11-17
      WL#5461 PERFORMANCE_SCHEMA MY.CNF Defaults Setup
      
      setup_instruments_defaults.test
      - Remove SELECT on setup_instruments - inconsistent across platforms

    modified:
      mysql-test/suite/perfschema/r/setup_instruments_defaults.result
      mysql-test/suite/perfschema/t/setup_instruments_defaults.test
      mysql-test/valgrind.supp
 3435 Christopher Powers	2011-11-17 [merge]
      local merge

    removed:
      mysql-test/suite/innodb_fts/r/fulltext_plugin.result
      mysql-test/suite/innodb_fts/t/fulltext_plugin.test
    added:
      mysql-test/suite/sys_vars/r/innodb_disable_sort_file_cache_basic.result
      mysql-test/suite/sys_vars/r/innodb_ft_aux_table_basic.result
      mysql-test/suite/sys_vars/r/innodb_ft_cache_size_basic.result
      mysql-test/suite/sys_vars/r/innodb_ft_enable_diag_print_basic.result
      mysql-test/suite/sys_vars/r/innodb_ft_enable_stopword_basic.result
      mysql-test/suite/sys_vars/r/innodb_ft_max_token_size_basic.result
      mysql-test/suite/sys_vars/r/innodb_ft_min_token_size_basic.result
      mysql-test/suite/sys_vars/r/innodb_ft_num_word_optimize_basic.result
      mysql-test/suite/sys_vars/r/innodb_ft_server_stopword_table_basic.result
      mysql-test/suite/sys_vars/r/innodb_ft_sort_pll_degree_basic.result
      mysql-test/suite/sys_vars/r/innodb_ft_user_stopword_table_basic.result
      mysql-test/suite/sys_vars/r/innodb_optimize_fulltext_only_basic.result
      mysql-test/suite/sys_vars/r/innodb_sort_buf_size_basic.result
      mysql-test/suite/sys_vars/t/innodb_disable_sort_file_cache_basic.test
      mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test
      mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test
      mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test
      mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test
      mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test
      mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test
      mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test
      mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test
      mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test
      mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test
      mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test
      mysql-test/suite/sys_vars/t/innodb_sort_buf_size_basic.test
    modified:
      libmysql/CMakeLists.txt
      mysql-test/r/group_by.result
      mysql-test/suite/innodb_fts/t/disabled.def
      mysql-test/suite/innodb_fts/t/innodb-fts-stopword.test
      mysql-test/suite/innodb_fts/t/innodb_fts_large_records.test
      mysql-test/suite/innodb_fts/t/innodb_fts_transaction.test
      mysql-test/suite/opt_trace/r/subquery_no_prot.result
      mysql-test/suite/opt_trace/r/subquery_ps_prot.result
      mysql-test/suite/sys_vars/r/all_vars.result
      mysql-test/t/group_by.test
      mysql-test/valgrind.supp
      scripts/mysql_config.sh
      sql/CMakeLists.txt
      sql/sql_select.cc
      storage/innobase/fts/fts0fts.c
      storage/innobase/fts/fts0opt.c
      storage/innobase/fts/fts0que.c
      storage/innobase/handler/ha_innodb.cc
      storage/innobase/include/rem0cmp.ic
      storage/innobase/row/row0ftsort.c
      storage/innobase/row/row0merge.c
      storage/innobase/row/row0upd.c
      support-files/mysql.spec.sh
 3434 Christopher Powers	2011-11-16 [merge]
      local merge

    removed:
      storage/innobase/include/srv0conc.h
      storage/innobase/srv/srv0conc.c
    added:
      mysql-test/suite/innodb_fts/
      mysql-test/suite/innodb_fts/r/
      mysql-test/suite/innodb_fts/r/fulltext.result
      mysql-test/suite/innodb_fts/r/fulltext2.result
      mysql-test/suite/innodb_fts/r/fulltext3.result
      mysql-test/suite/innodb_fts/r/fulltext_cache.result
      mysql-test/suite/innodb_fts/r/fulltext_distinct.result
      mysql-test/suite/innodb_fts/r/fulltext_left_join.result
      mysql-test/suite/innodb_fts/r/fulltext_misc.result
      mysql-test/suite/innodb_fts/r/fulltext_multi.result
      mysql-test/suite/innodb_fts/r/fulltext_order_by.result
      mysql-test/suite/innodb_fts/r/fulltext_plugin.result
      mysql-test/suite/innodb_fts/r/fulltext_update.result
      mysql-test/suite/innodb_fts/r/fulltext_var.result
      mysql-test/suite/innodb_fts/r/innodb-fts-basic.result
      mysql-test/suite/innodb_fts/r/innodb-fts-ddl.result
      mysql-test/suite/innodb_fts/r/innodb-fts-fic.result
      mysql-test/suite/innodb_fts/r/innodb-fts-stopword.result
      mysql-test/suite/innodb_fts/r/innodb_fts_large_records.result
      mysql-test/suite/innodb_fts/r/innodb_fts_misc.result
      mysql-test/suite/innodb_fts/r/innodb_fts_misc_1.result
      mysql-test/suite/innodb_fts/r/innodb_fts_mutiple_index.result
      mysql-test/suite/innodb_fts/r/innodb_fts_proximity.result
      mysql-test/suite/innodb_fts/r/innodb_fts_transaction.result
      mysql-test/suite/innodb_fts/t/
      mysql-test/suite/innodb_fts/t/disabled.def
      mysql-test/suite/innodb_fts/t/fulltext.test
      mysql-test/suite/innodb_fts/t/fulltext2.test
      mysql-test/suite/innodb_fts/t/fulltext3.test
      mysql-test/suite/innodb_fts/t/fulltext_cache.test
      mysql-test/suite/innodb_fts/t/fulltext_distinct.test
      mysql-test/suite/innodb_fts/t/fulltext_left_join.test
      mysql-test/suite/innodb_fts/t/fulltext_misc.test
      mysql-test/suite/innodb_fts/t/fulltext_multi.test
      mysql-test/suite/innodb_fts/t/fulltext_order_by.test
      mysql-test/suite/innodb_fts/t/fulltext_plugin-master.opt
      mysql-test/suite/innodb_fts/t/fulltext_plugin.test
      mysql-test/suite/innodb_fts/t/fulltext_update.test
      mysql-test/suite/innodb_fts/t/fulltext_var.test
      mysql-test/suite/innodb_fts/t/innodb-fts-basic.test
      mysql-test/suite/innodb_fts/t/innodb-fts-ddl.test
      mysql-test/suite/innodb_fts/t/innodb-fts-fic.test
      mysql-test/suite/innodb_fts/t/innodb-fts-stopword.test
      mysql-test/suite/innodb_fts/t/innodb_fts_large_records.test
      mysql-test/suite/innodb_fts/t/innodb_fts_misc.test
      mysql-test/suite/innodb_fts/t/innodb_fts_misc_1.test
      mysql-test/suite/innodb_fts/t/innodb_fts_mutiple_index.test
      mysql-test/suite/innodb_fts/t/innodb_fts_proximity.test
      mysql-test/suite/innodb_fts/t/innodb_fts_transaction.test
      storage/innobase/fts/
      storage/innobase/fts/Makefile.query
      storage/innobase/fts/fts0ast.c
      storage/innobase/fts/fts0blex.c
      storage/innobase/fts/fts0blex.l
      storage/innobase/fts/fts0config.c
      storage/innobase/fts/fts0opt.c
      storage/innobase/fts/fts0pars.c
      storage/innobase/fts/fts0pars.y
      storage/innobase/fts/fts0que.c
      storage/innobase/fts/fts0sql.c
      storage/innobase/fts/fts0tlex.c
      storage/innobase/fts/fts0tlex.l
      storage/innobase/fts/make_parser.sh
      storage/innobase/fut/fut0fut.c
      storage/innobase/include/fts0ast.h
      storage/innobase/include/fts0blex.h
      storage/innobase/include/fts0fts.h
      storage/innobase/include/fts0opt.h
      storage/innobase/include/fts0pars.h
      storage/innobase/include/fts0priv.h
      storage/innobase/include/fts0tlex.h
      storage/innobase/include/fts0types.h
      storage/innobase/include/fts0types.ic
      storage/innobase/include/fts0vlc.ic
      storage/innobase/include/fts_uc_data.ic
      storage/innobase/include/row0ftsort.h
      storage/innobase/include/srv0conc.h
      storage/innobase/row/row0ftsort.c
      storage/innobase/srv/srv0conc.c
    renamed:
      storage/innobase/fut/fut0fut.c => storage/innobase/fts/fts0fts.c
    modified:
      include/my_base.h
      mysql-test/collections/default.push
      mysql-test/mysql-test-run.pl
      mysql-test/r/information_schema.result
      mysql-test/r/mysqlshow.result
      mysql-test/suite/innodb/r/innodb.result
      mysql-test/suite/innodb/t/innodb.test
      mysql-test/suite/sys_vars/r/all_vars.result
      mysys/my_handler_errors.h
      sql/handler.cc
      sql/share/errmsg-utf8.txt
      sql/sql_partition.cc
      storage/innobase/CMakeLists.txt
      storage/innobase/btr/btr0btr.c
      storage/innobase/btr/btr0cur.c
      storage/innobase/dict/dict0crea.c
      storage/innobase/dict/dict0dict.c
      storage/innobase/dict/dict0load.c
      storage/innobase/dict/dict0mem.c
      storage/innobase/dict/dict0stats.c
      storage/innobase/eval/eval0eval.c
      storage/innobase/handler/ha_innodb.cc
      storage/innobase/handler/ha_innodb.h
      storage/innobase/handler/handler0alter.cc
      storage/innobase/handler/i_s.cc
      storage/innobase/handler/i_s.h
      storage/innobase/include/btr0cur.h
      storage/innobase/include/buf0buf.h
      storage/innobase/include/buf0buf.ic
      storage/innobase/include/data0type.h
      storage/innobase/include/data0type.ic
      storage/innobase/include/db0err.h
      storage/innobase/include/dict0dict.h
      storage/innobase/include/dict0dict.ic
      storage/innobase/include/dict0mem.h
      storage/innobase/include/mach0data.h
      storage/innobase/include/mach0data.ic
      storage/innobase/include/os0sync.h
      storage/innobase/include/pars0grm.h
      storage/innobase/include/pars0pars.h
      storage/innobase/include/pars0sym.h
      storage/innobase/include/que0que.h
      storage/innobase/include/que0que.ic
      storage/innobase/include/rem0cmp.h
      storage/innobase/include/rem0cmp.ic
      storage/innobase/include/rem0rec.h
      storage/innobase/include/row0merge.h
      storage/innobase/include/row0mysql.h
      storage/innobase/include/row0sel.h
      storage/innobase/include/row0upd.h
      storage/innobase/include/row0upd.ic
      storage/innobase/include/srv0srv.h
      storage/innobase/include/srv0start.h
      storage/innobase/include/sync0rw.h
      storage/innobase/include/sync0sync.h
      storage/innobase/include/trx0trx.h
      storage/innobase/include/univ.i
      storage/innobase/include/ut0list.h
      storage/innobase/include/ut0list.ic
      storage/innobase/include/ut0mem.h
      storage/innobase/include/ut0rbt.h
      storage/innobase/include/ut0ut.h
      storage/innobase/include/ut0vec.h
      storage/innobase/include/ut0vec.ic
      storage/innobase/include/ut0wqueue.h
      storage/innobase/lock/lock0lock.c
      storage/innobase/log/log0recv.c
      storage/innobase/os/os0file.c
      storage/innobase/os/os0sync.c
      storage/innobase/pars/lexyy.c
      storage/innobase/pars/pars0grm.c
      storage/innobase/pars/pars0grm.y
      storage/innobase/pars/pars0lex.l
      storage/innobase/pars/pars0opt.c
      storage/innobase/pars/pars0pars.c
      storage/innobase/pars/pars0sym.c
      storage/innobase/rem/rem0cmp.c
      storage/innobase/rem/rem0rec.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/srv0start.c
      storage/innobase/sync/sync0sync.c
      storage/innobase/trx/trx0purge.c
      storage/innobase/trx/trx0roll.c
      storage/innobase/trx/trx0trx.c
      storage/innobase/ut/ut0list.c
      storage/innobase/ut/ut0mem.c
      storage/innobase/ut/ut0rbt.c
      storage/innobase/ut/ut0ut.c
      storage/innobase/ut/ut0vec.c
      storage/innobase/ut/ut0wqueue.c
      storage/innobase/fts/fts0fts.c
=== modified file 'libmysql/CMakeLists.txt'
--- a/libmysql/CMakeLists.txt	2011-07-04 00:25:46 +0000
+++ b/libmysql/CMakeLists.txt	2011-11-17 11:40:29 +0000
@@ -134,12 +134,6 @@ CACHE INTERNAL "Functions exported by cl
 
 )
 
-IF(WIN32)
-  ADD_SUBDIRECTORY(authentication_win)
-  SET(WITH_AUTHENTICATION_WIN 1)
-  ADD_DEFINITIONS(-DAUTHENTICATION_WIN)
-ENDIF(WIN32)
-
 SET(CLIENT_SOURCES
   get_password.c 
   libmysql.c
@@ -157,9 +151,15 @@ ADD_DEPENDENCIES(clientlib GenError)
 
 SET(LIBS clientlib dbug strings vio mysys ${ZLIB_LIBRARY} ${SSL_LIBRARIES} ${LIBDL})
 
-IF(WITH_AUTHENTICATION_WIN)
+#
+# On Windows platform client library includes the client-side 
+# Windows Native Authentication plugin.
+#
+IF(WIN32)
+  ADD_DEFINITIONS(-DAUTHENTICATION_WIN)
+  ADD_SUBDIRECTORY(authentication_win)
   LIST(APPEND LIBS auth_win_client)
-ENDIF(WITH_AUTHENTICATION_WIN)
+ENDIF()
 
 # Merge several convenience libraries into one big mysqlclient
 # and link them together into shared library.

=== modified file 'mysql-test/r/group_by.result'
--- a/mysql-test/r/group_by.result	2011-11-11 12:36:01 +0000
+++ b/mysql-test/r/group_by.result	2011-11-17 10:09:13 +0000
@@ -2153,3 +2153,54 @@ col2
 8
 
 DROP TABLE t1,t2;
+#
+# Bug#11761078: 53534: INCORRECT 'SELECT SQL_BIG_RESULT...' 
+#               WITH GROUP BY ON DUPLICATED FIELDS
+#
+CREATE TABLE t1(
+col1 int, 
+UNIQUE INDEX idx (col1)
+);
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+EXPLAIN SELECT SQL_BIG_RESULT col1 AS field1, col1 AS field2
+FROM t1 GROUP BY field1, field2;;
+id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
+1	SIMPLE	t1	range	NULL	idx	5	NULL	6	Using index for group-by; Using filesort
+SELECT SQL_BIG_RESULT col1 AS field1, col1 AS field2
+FROM t1 GROUP BY field1, field2;;
+field1	field2
+1	1
+2	2
+3	3
+4	4
+5	5
+6	6
+7	7
+8	8
+9	9
+10	10
+CREATE VIEW v1 AS SELECT * FROM t1;
+SELECT SQL_BIG_RESULT col1 AS field1, col1 AS field2
+FROM v1 
+GROUP BY field1, field2;
+field1	field2
+1	1
+2	2
+3	3
+4	4
+5	5
+6	6
+7	7
+8	8
+9	9
+10	10
+SELECT SQL_BIG_RESULT tbl1.col1 AS field1, tbl2.col1 AS field2
+FROM t1 as tbl1, t1 as tbl2 
+GROUP BY field1, field2 
+LIMIT 3;
+field1	field2
+1	1
+1	2
+1	3
+DROP VIEW v1;
+DROP TABLE t1;

=== modified file 'mysql-test/r/mysqld--help-notwin.result'
--- a/mysql-test/r/mysqld--help-notwin.result	2011-11-16 07:36:28 +0000
+++ b/mysql-test/r/mysqld--help-notwin.result	2011-11-17 22:02:03 +0000
@@ -456,29 +456,40 @@ The following options may be given as th
  --performance-schema-accounts-size=# 
  Maximum number of instrumented user@host accounts.
  --performance-schema-consumer-events-stages-current 
- Enable the events_stages_current consumer.
+ Default startup value for the events_stages_current
+ consumer.
  --performance-schema-consumer-events-stages-history 
- Enable the events_stages_history consumer.
+ Default startup value for the events_stages_history
+ consumer.
  --performance-schema-consumer-events-stages-history-long 
- Enable the events_stages_history_long consumer.
+ Default startup value for the events_stages_history_long
+ consumer.
  --performance-schema-consumer-events-statements-current 
- Enable the events_statements_current consumer.
+ Default startup value for the events_statements_current
+ consumer.
  (Defaults to on; use --skip-performance-schema-consumer-events-statements-current to disable.)
  --performance-schema-consumer-events-statements-history 
- Enable the events_statements_history consumer.
+ Default startup value for the events_statements_history
+ consumer.
  --performance-schema-consumer-events-statements-history-long 
- Enable the events_statements_history_long consumer.
+ Default startup value for the
+ events_statements_history_long consumer.
  --performance-schema-consumer-events-waits-current 
- Enable the events_waits_current consumer.
+ Default startup value for the events_waits_current
+ consumer.
  --performance-schema-consumer-events-waits-history 
- Enable the events_waits_history consumer.
+ Default startup value for the events_waits_history
+ consumer.
  --performance-schema-consumer-events-waits-history-long 
- Enable the events_waits_history_long consumer.
+ Default startup value for the events_waits_history_long
+ consumer.
  --performance-schema-consumer-global-instrumentation 
- Enable the global_instrumentation consumer.
+ Default startup value for the global_instrumentation
+ consumer.
  (Defaults to on; use --skip-performance-schema-consumer-global-instrumentation to disable.)
  --performance-schema-consumer-thread-instrumentation 
- Enable the thread_instrumentation consumer.
+ Default startup value for the thread_instrumentation
+ consumer.
  (Defaults to on; use --skip-performance-schema-consumer-thread-instrumentation to disable.)
  --performance-schema-events-stages-history-long-size=# 
  Number of rows in EVENTS_STAGES_HISTORY_LONG.
@@ -495,7 +506,8 @@ The following options may be given as th
  --performance-schema-hosts-size=# 
  Maximum number of instrumented hosts.
  --performance-schema-instrument[=name] 
- Enable a performance schema instrument.
+ Default startup value for a performance schema
+ instrument.
  --performance-schema-max-cond-classes=# 
  Maximum number of condition instruments.
  --performance-schema-max-cond-instances=# 

=== modified file 'mysql-test/r/mysqld--help-win.result'
--- a/mysql-test/r/mysqld--help-win.result	2011-11-16 07:36:28 +0000
+++ b/mysql-test/r/mysqld--help-win.result	2011-11-17 21:44:20 +0000
@@ -456,29 +456,40 @@ The following options may be given as th
  --performance-schema-accounts-size=# 
  Maximum number of instrumented user@host accounts.
  --performance-schema-consumer-events-stages-current 
- Enable the events_stages_current consumer.
+ Default startup value for the events_stages_current
+ consumer.
  --performance-schema-consumer-events-stages-history 
- Enable the events_stages_history consumer.
+ Default startup value for the events_stages_history
+ consumer.
  --performance-schema-consumer-events-stages-history-long 
- Enable the events_stages_history_long consumer.
+ Default startup value for the events_stages_history_long
+ consumer.
  --performance-schema-consumer-events-statements-current 
- Enable the events_statements_current consumer.
+ Default startup value for the events_statements_current
+ consumer.
  (Defaults to on; use --skip-performance-schema-consumer-events-statements-current to disable.)
  --performance-schema-consumer-events-statements-history 
- Enable the events_statements_history consumer.
+ Default startup value for the events_statements_history
+ consumer.
  --performance-schema-consumer-events-statements-history-long 
- Enable the events_statements_history_long consumer.
+ Default startup value for the
+ events_statements_history_long consumer.
  --performance-schema-consumer-events-waits-current 
- Enable the events_waits_current consumer.
+ Default startup value for the events_waits_current
+ consumer.
  --performance-schema-consumer-events-waits-history 
- Enable the events_waits_history consumer.
+ Default startup value for the events_waits_history
+ consumer.
  --performance-schema-consumer-events-waits-history-long 
- Enable the events_waits_history_long consumer.
+ Default startup value for the events_waits_history_long
+ consumer.
  --performance-schema-consumer-global-instrumentation 
- Enable the global_instrumentation consumer.
+ Default startup value for the global_instrumentation
+ consumer.
  (Defaults to on; use --skip-performance-schema-consumer-global-instrumentation to disable.)
  --performance-schema-consumer-thread-instrumentation 
- Enable the thread_instrumentation consumer.
+ Default startup value for the thread_instrumentation
+ consumer.
  (Defaults to on; use --skip-performance-schema-consumer-thread-instrumentation to disable.)
  --performance-schema-events-stages-history-long-size=# 
  Number of rows in EVENTS_STAGES_HISTORY_LONG.
@@ -495,7 +506,8 @@ The following options may be given as th
  --performance-schema-hosts-size=# 
  Maximum number of instrumented hosts.
  --performance-schema-instrument[=name] 
- Enable a performance schema instrument.
+ Default startup value for a performance schema
+ instrument.
  --performance-schema-max-cond-classes=# 
  Maximum number of condition instruments.
  --performance-schema-max-cond-instances=# 

=== removed file 'mysql-test/suite/innodb_fts/r/fulltext_plugin.result'
--- a/mysql-test/suite/innodb_fts/r/fulltext_plugin.result	2011-06-08 20:39:01 +0000
+++ b/mysql-test/suite/innodb_fts/r/fulltext_plugin.result	1970-01-01 00:00:00 +0000
@@ -1,5 +0,0 @@
-INSTALL PLUGIN simple_parser SONAME 'mypluglib.so';
-CREATE TABLE t1(a TEXT, b TEXT, FULLTEXT(a) WITH PARSER simple_parser) ENGINE = <default_engine>;
-ALTER TABLE t1 ADD FULLTEXT(b) WITH PARSER simple_parser;
-DROP TABLE t1;
-UNINSTALL PLUGIN simple_parser;

=== modified file 'mysql-test/suite/innodb_fts/t/disabled.def'
--- a/mysql-test/suite/innodb_fts/t/disabled.def	2011-11-14 17:18:11 +0000
+++ b/mysql-test/suite/innodb_fts/t/disabled.def	2011-11-17 11:02:53 +0000
@@ -9,5 +9,3 @@
 #  Do not use any TAB characters for whitespace.
 #
 ##############################################################################
-fulltext_plugin : INNODB_FTS: Do not support external parser plugin
-innodb_fts_large_records: INNODB_FTS: Long running test, could be timed out on slow machines

=== removed file 'mysql-test/suite/innodb_fts/t/fulltext_plugin.test'
--- a/mysql-test/suite/innodb_fts/t/fulltext_plugin.test	2011-06-07 11:42:31 +0000
+++ b/mysql-test/suite/innodb_fts/t/fulltext_plugin.test	1970-01-01 00:00:00 +0000
@@ -1,13 +0,0 @@
---source include/have_simple_parser.inc
-
-#
-# BUG#39746 - Debug flag breaks struct definition (server crash)
-#
-let $default_engine = `select @@SESSION.default_storage_engine`;
---replace_regex /\.dll/.so/
-eval INSTALL PLUGIN simple_parser SONAME '$SIMPLE_PARSER';
---replace_result $default_engine <default_engine>
-EVAL CREATE TABLE t1(a TEXT, b TEXT, FULLTEXT(a) WITH PARSER simple_parser) ENGINE = $default_engine;
-ALTER TABLE t1 ADD FULLTEXT(b) WITH PARSER simple_parser;
-DROP TABLE t1;
-UNINSTALL PLUGIN simple_parser;

=== modified file 'mysql-test/suite/innodb_fts/t/innodb-fts-stopword.test'
--- a/mysql-test/suite/innodb_fts/t/innodb-fts-stopword.test	2011-08-04 11:30:19 +0000
+++ b/mysql-test/suite/innodb_fts/t/innodb-fts-stopword.test	2011-11-17 11:02:53 +0000
@@ -635,6 +635,9 @@ ALTER TABLE articles ADD FULLTEXT INDEX
 SELECT * FROM articles WHERE MATCH(title,body) AGAINST("+when" IN BOOLEAN MODE);
 SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('the');
 
+disconnect con1;
+--source include/wait_until_disconnected.inc
+
 --echo "In connection default"
 --connection default
 SET SESSION innodb_ft_enable_stopword = 1;

=== modified file 'mysql-test/suite/innodb_fts/t/innodb_fts_large_records.test'
--- a/mysql-test/suite/innodb_fts/t/innodb_fts_large_records.test	2011-09-09 08:27:24 +0000
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_large_records.test	2011-11-17 11:02:53 +0000
@@ -1,3 +1,6 @@
+--source include/not_windows.inc
+--source include/big_test.inc
+
 # This test for FTS index with big records
 # case a) more words in single record
 # b) more words across records

=== modified file 'mysql-test/suite/innodb_fts/t/innodb_fts_transaction.test'
--- a/mysql-test/suite/innodb_fts/t/innodb_fts_transaction.test	2011-08-30 09:23:17 +0000
+++ b/mysql-test/suite/innodb_fts/t/innodb_fts_transaction.test	2011-11-17 11:02:53 +0000
@@ -580,6 +580,7 @@ SELECT * FROM t1
 
 --disconnect con1
 --disconnect con2
+--source include/wait_until_disconnected.inc
 
 --connection default
 DROP TABLE t1;
@@ -1029,6 +1030,8 @@ SELECT * FROM t1;
 
 --disconnect con1
 --disconnect con2
+--source include/wait_until_disconnected.inc
+
 
 --connection default
 DROP TABLE t1;

=== modified file 'mysql-test/suite/opt_trace/r/subquery_no_prot.result'
--- a/mysql-test/suite/opt_trace/r/subquery_no_prot.result	2011-11-08 07:51:49 +0000
+++ b/mysql-test/suite/opt_trace/r/subquery_no_prot.result	2011-11-17 10:09:13 +0000
@@ -1691,11 +1691,12 @@ field4,field5,field6	{
                   "item": "`alias2`.`col_varchar_nokey`"
                 },
                 {
-                  "item": "`alias2`.`col_varchar_nokey`"
+                  "item": "`alias2`.`col_varchar_nokey`",
+                  "duplicate_item": true
                 }
               ] /* items */,
               "resulting_clause_is_simple": false,
-              "resulting_clause": "`test`.`alias1`.`col_varchar_key`,`test`.`alias1`.`col_date_key`,`alias2`.`col_varchar_nokey`,`alias2`.`col_varchar_nokey`"
+              "resulting_clause": "`test`.`alias1`.`col_varchar_key`,`test`.`alias1`.`col_date_key`,`alias2`.`col_varchar_nokey`"
             } /* clause_processing */
           },
           {
@@ -1741,12 +1742,6 @@ field4,field5,field6	{
               },
               {
                 "direction": "asc",
-                "database": "",
-                "table": "",
-                "field": "col_varchar_nokey"
-              },
-              {
-                "direction": "asc",
                 "database": "",
                 "table": "",
                 "field": "col_varchar_nokey"

=== modified file 'mysql-test/suite/opt_trace/r/subquery_ps_prot.result'
--- a/mysql-test/suite/opt_trace/r/subquery_ps_prot.result	2011-11-08 07:51:49 +0000
+++ b/mysql-test/suite/opt_trace/r/subquery_ps_prot.result	2011-11-17 10:09:13 +0000
@@ -1669,11 +1669,12 @@ field4,field5,field6	{
                   "item": "`alias2`.`col_varchar_nokey`"
                 },
                 {
-                  "item": "`alias2`.`col_varchar_nokey`"
+                  "item": "`alias2`.`col_varchar_nokey`",
+                  "duplicate_item": true
                 }
               ] /* items */,
               "resulting_clause_is_simple": false,
-              "resulting_clause": "`test`.`alias1`.`col_varchar_key`,`test`.`alias1`.`col_date_key`,`alias2`.`col_varchar_nokey`,`alias2`.`col_varchar_nokey`"
+              "resulting_clause": "`test`.`alias1`.`col_varchar_key`,`test`.`alias1`.`col_date_key`,`alias2`.`col_varchar_nokey`"
             } /* clause_processing */
           },
           {
@@ -1719,12 +1720,6 @@ field4,field5,field6	{
               },
               {
                 "direction": "asc",
-                "database": "",
-                "table": "",
-                "field": "col_varchar_nokey"
-              },
-              {
-                "direction": "asc",
                 "database": "",
                 "table": "",
                 "field": "col_varchar_nokey"

=== modified file 'mysql-test/suite/perfschema/r/setup_consumers_defaults.result'
--- a/mysql-test/suite/perfschema/r/setup_consumers_defaults.result	2011-11-16 07:05:50 +0000
+++ b/mysql-test/suite/perfschema/r/setup_consumers_defaults.result	2011-11-17 21:44:20 +0000
@@ -1,13 +1,3 @@
-SELECT COUNT(*) = 6 AS 'Expect 1'
-FROM performance_schema.setup_consumers
-WHERE enabled = 'yes';
-Expect 1
-1
-SELECT COUNT(*) = 5 AS 'Expect 1'
-FROM performance_schema.setup_consumers
-WHERE enabled = 'no';
-Expect 1
-1
 SELECT * FROM performance_schema.setup_consumers ORDER BY name;
 NAME	ENABLED
 events_stages_current	NO

=== modified file 'mysql-test/suite/perfschema/r/setup_instruments_defaults.result'
--- a/mysql-test/suite/perfschema/r/setup_instruments_defaults.result	2011-11-16 18:32:09 +0000
+++ b/mysql-test/suite/perfschema/r/setup_instruments_defaults.result	2011-11-17 21:44:20 +0000
@@ -1,533 +1,34 @@
-SELECT COUNT(*) = 31 AS 'Expect 1'
-FROM performance_schema.setup_instruments
-WHERE name LIKE 'wait/synch/mutex/sql/%' AND enabled = 'no' and timed = 'no';
-Expect 1
-1
-SELECT COUNT(*) = 1 AS 'Expect 1'
-FROM performance_schema.setup_instruments
-WHERE name = 'wait/synch/mutex/sql/LOCK_thread_count' AND enabled = 'no' and timed = 'no';
-Expect 1
-1
-SELECT COUNT(*) = 4 AS 'Expect 1'
-FROM performance_schema.setup_instruments
-WHERE name LIKE 'wait/synch/mutex/sql/LOCK_%' AND enabled = 'yes' and timed = 'no';
-Expect 1
-1
-SELECT COUNT(*) = 1 AS 'Expect 1'
-FROM performance_schema.setup_instruments
-WHERE name LIKE 'stage/%' AND enabled = 'yes' and timed = 'no';
-Expect 1
-1
-SELECT * FROM performance_schema.setup_instruments ORDER BY name;
+SELECT * FROM performance_schema.setup_instruments
+WHERE name IN (
+'wait/synch/mutex/sql/LOCK_user_conn',
+'wait/synch/mutex/sql/LOCK_uuid_generator',
+'wait/synch/mutex/sql/LOCK_xid_cache'
+  'stage/sql/creating table')
+AND enabled = 'yes' AND timed = 'no'
+ORDER BY name;
 NAME	ENABLED	TIMED
-idle	YES	YES
-stage/mysys/Waiting for table level lock	YES	YES
-stage/sql/After create	YES	YES
-stage/sql/allocating local table	YES	YES
-stage/sql/Changing master	YES	YES
-stage/sql/Checking master version	YES	YES
-stage/sql/checking permissions	YES	YES
-stage/sql/checking privileges on cached query	YES	YES
-stage/sql/checking query cache for query	YES	YES
-stage/sql/cleaning up	YES	YES
-stage/sql/closing tables	YES	YES
-stage/sql/Connecting to master	YES	YES
-stage/sql/converting HEAP to MyISAM	YES	YES
-stage/sql/copy to tmp table	YES	YES
-stage/sql/Copying to group table	YES	YES
-stage/sql/Copying to tmp table	YES	YES
-stage/sql/Creating delayed handler	YES	YES
-stage/sql/Creating sort index	YES	YES
-stage/sql/creating table	YES	YES
-stage/sql/Creating tmp table	YES	YES
-stage/sql/deleting from main table	YES	YES
-stage/sql/deleting from reference tables	YES	YES
-stage/sql/discard_or_import_tablespace	YES	YES
-stage/sql/end	YES	YES
-stage/sql/executing	YES	YES
-stage/sql/Execution of init_command	YES	YES
-stage/sql/explaining	YES	YES
-stage/sql/Finished reading one binlog; switching to next binlog	YES	YES
-stage/sql/Flushing relay log and master info repository.	YES	YES
-stage/sql/Flushing relay-log info file.	YES	YES
-stage/sql/freeing items	YES	YES
-stage/sql/FULLTEXT initialization	YES	YES
-stage/sql/got handler lock	YES	YES
-stage/sql/got old table	YES	YES
-stage/sql/init	YES	YES
-stage/sql/insert	YES	YES
-stage/sql/invalidating query cache entries (table list)	YES	YES
-stage/sql/invalidating query cache entries (table)	YES	YES
-stage/sql/Killing slave	YES	YES
-stage/sql/logging slow query	YES	YES
-stage/sql/Making temporary file (append) before replaying LOAD DATA INFILE.	YES	YES
-stage/sql/Making temporary file (create) before replaying LOAD DATA INFILE.	YES	YES
-stage/sql/manage keys	YES	YES
-stage/sql/Master has sent all binlog to slave; waiting for binlog to be updated	YES	YES
-stage/sql/Opening tables	YES	YES
-stage/sql/optimizing	YES	YES
-stage/sql/preparing	YES	YES
-stage/sql/Purging old relay logs	YES	YES
-stage/sql/query end	YES	YES
-stage/sql/Queueing master event to the relay log	YES	YES
-stage/sql/Reading event from the relay log	YES	YES
-stage/sql/Registering slave on master	YES	YES
-stage/sql/Removing duplicates	YES	YES
-stage/sql/removing tmp table	YES	YES
-stage/sql/rename	YES	YES
-stage/sql/rename result table	YES	YES
-stage/sql/Requesting binlog dump	YES	YES
-stage/sql/reschedule	YES	YES
-stage/sql/Searching rows for update	YES	YES
-stage/sql/Sending binlog event to slave	YES	YES
-stage/sql/sending cached result to client	YES	YES
-stage/sql/Sending data	YES	YES
-stage/sql/setup	YES	YES
-stage/sql/Slave has read all relay log; waiting for the slave I/O thread to update it	YES	YES
-stage/sql/Sorting for group	YES	YES
-stage/sql/Sorting for order	YES	YES
-stage/sql/Sorting result	YES	YES
-stage/sql/statistics	YES	YES
-stage/sql/storing result in query cache	YES	YES
-stage/sql/storing row into queue	YES	YES
-stage/sql/System lock	YES	YES
-stage/sql/update	YES	YES
-stage/sql/updating	YES	YES
-stage/sql/updating main table	YES	YES
-stage/sql/updating reference tables	YES	YES
-stage/sql/upgrading lock	YES	YES
-stage/sql/User lock	YES	YES
-stage/sql/User sleep	YES	YES
-stage/sql/verifying table	YES	YES
-stage/sql/Waiting for commit lock	YES	YES
-stage/sql/waiting for delay_list	YES	YES
-stage/sql/Waiting for event metadata lock	YES	YES
-stage/sql/Waiting for global read lock	YES	YES
-stage/sql/waiting for handler insert	YES	YES
-stage/sql/waiting for handler lock	YES	YES
-stage/sql/waiting for handler open	YES	YES
-stage/sql/Waiting for INSERT	YES	YES
-stage/sql/Waiting for master to send event	YES	YES
-stage/sql/Waiting for master update	YES	YES
-stage/sql/Waiting for next activation	YES	YES
-stage/sql/Waiting for query cache lock	YES	YES
-stage/sql/Waiting for schema metadata lock	YES	YES
-stage/sql/Waiting for slave mutex on exit	YES	YES
-stage/sql/Waiting for slave thread to start	YES	YES
-stage/sql/Waiting for stored function metadata lock	YES	YES
-stage/sql/Waiting for stored procedure metadata lock	YES	YES
-stage/sql/Waiting for table flush	YES	YES
-stage/sql/Waiting for table metadata lock	YES	YES
-stage/sql/Waiting for the next event in relay log	YES	YES
-stage/sql/Waiting for the scheduler to stop	YES	YES
-stage/sql/Waiting for the slave SQL thread to advance position	YES	YES
-stage/sql/Waiting for trigger metadata lock	YES	YES
-stage/sql/Waiting on empty queue	YES	YES
-stage/sql/Waiting to finalize termination	YES	YES
-stage/sql/Waiting to get readlock	YES	YES
-stage/sql/Waiting until MASTER_DELAY seconds after master executed event	YES	NO
-statement/com/	YES	YES
-statement/com/Binlog Dump	YES	YES
-statement/com/Change user	YES	YES
-statement/com/Close stmt	YES	YES
-statement/com/Connect	YES	YES
-statement/com/Connect Out	YES	YES
-statement/com/Create DB	YES	YES
-statement/com/Daemon	YES	YES
-statement/com/Debug	YES	YES
-statement/com/Delayed insert	YES	YES
-statement/com/Drop DB	YES	YES
-statement/com/Error	YES	YES
-statement/com/Execute	YES	YES
-statement/com/Fetch	YES	YES
-statement/com/Field List	YES	YES
-statement/com/Init DB	YES	YES
-statement/com/Kill	YES	YES
-statement/com/Long Data	YES	YES
-statement/com/Ping	YES	YES
-statement/com/Prepare	YES	YES
-statement/com/Processlist	YES	YES
-statement/com/Query	YES	YES
-statement/com/Quit	YES	YES
-statement/com/Refresh	YES	YES
-statement/com/Register Slave	YES	YES
-statement/com/Reset stmt	YES	YES
-statement/com/Set option	YES	YES
-statement/com/Shutdown	YES	YES
-statement/com/Sleep	YES	YES
-statement/com/Statistics	YES	YES
-statement/com/Table Dump	YES	YES
-statement/com/Time	YES	YES
-statement/sql/alter_db	YES	YES
-statement/sql/alter_db_upgrade	YES	YES
-statement/sql/alter_event	YES	YES
-statement/sql/alter_function	YES	YES
-statement/sql/alter_procedure	YES	YES
-statement/sql/alter_server	YES	YES
-statement/sql/alter_table	YES	YES
-statement/sql/alter_tablespace	YES	YES
-statement/sql/analyze	YES	YES
-statement/sql/assign_to_keycache	YES	YES
-statement/sql/begin	YES	YES
-statement/sql/binlog	YES	YES
-statement/sql/call_procedure	YES	YES
-statement/sql/change_db	YES	YES
-statement/sql/change_master	YES	YES
-statement/sql/check	YES	YES
-statement/sql/checksum	YES	YES
-statement/sql/commit	YES	YES
-statement/sql/create_db	YES	YES
-statement/sql/create_event	YES	YES
-statement/sql/create_function	YES	YES
-statement/sql/create_index	YES	YES
-statement/sql/create_procedure	YES	YES
-statement/sql/create_server	YES	YES
-statement/sql/create_table	YES	YES
-statement/sql/create_trigger	YES	YES
-statement/sql/create_udf	YES	YES
-statement/sql/create_user	YES	YES
-statement/sql/create_view	YES	YES
-statement/sql/dealloc_sql	YES	YES
-statement/sql/delete	YES	YES
-statement/sql/delete_multi	YES	YES
-statement/sql/do	YES	YES
-statement/sql/drop_db	YES	YES
-statement/sql/drop_event	YES	YES
-statement/sql/drop_function	YES	YES
-statement/sql/drop_index	YES	YES
-statement/sql/drop_procedure	YES	YES
-statement/sql/drop_server	YES	YES
-statement/sql/drop_table	YES	YES
-statement/sql/drop_trigger	YES	YES
-statement/sql/drop_user	YES	YES
-statement/sql/drop_view	YES	YES
-statement/sql/empty_query	YES	YES
-statement/sql/error	YES	YES
-statement/sql/execute_sql	YES	YES
-statement/sql/flush	YES	YES
-statement/sql/get_diagnostics	YES	YES
-statement/sql/grant	YES	YES
-statement/sql/ha_close	YES	YES
-statement/sql/ha_open	YES	YES
-statement/sql/ha_read	YES	YES
-statement/sql/help	YES	YES
-statement/sql/insert	YES	YES
-statement/sql/insert_select	YES	YES
-statement/sql/install_plugin	YES	YES
-statement/sql/kill	YES	YES
-statement/sql/load	YES	YES
-statement/sql/lock_tables	YES	YES
-statement/sql/optimize	YES	YES
-statement/sql/preload_keys	YES	YES
-statement/sql/prepare_sql	YES	YES
-statement/sql/purge	YES	YES
-statement/sql/purge_before_date	YES	YES
-statement/sql/release_savepoint	YES	YES
-statement/sql/rename_table	YES	YES
-statement/sql/rename_user	YES	YES
-statement/sql/repair	YES	YES
-statement/sql/replace	YES	YES
-statement/sql/replace_select	YES	YES
-statement/sql/reset	YES	YES
-statement/sql/resignal	YES	YES
-statement/sql/revoke	YES	YES
-statement/sql/revoke_all	YES	YES
-statement/sql/rollback	YES	YES
-statement/sql/rollback_to_savepoint	YES	YES
-statement/sql/savepoint	YES	YES
-statement/sql/select	YES	YES
-statement/sql/set_option	YES	YES
-statement/sql/show_authors	YES	YES
-statement/sql/show_binlogs	YES	YES
-statement/sql/show_binlog_events	YES	YES
-statement/sql/show_charsets	YES	YES
-statement/sql/show_collations	YES	YES
-statement/sql/show_contributors	YES	YES
-statement/sql/show_create_db	YES	YES
-statement/sql/show_create_event	YES	YES
-statement/sql/show_create_func	YES	YES
-statement/sql/show_create_proc	YES	YES
-statement/sql/show_create_table	YES	YES
-statement/sql/show_create_trigger	YES	YES
-statement/sql/show_databases	YES	YES
-statement/sql/show_engine_logs	YES	YES
-statement/sql/show_engine_mutex	YES	YES
-statement/sql/show_engine_status	YES	YES
-statement/sql/show_errors	YES	YES
-statement/sql/show_events	YES	YES
-statement/sql/show_fields	YES	YES
-statement/sql/show_function_code	YES	YES
-statement/sql/show_function_status	YES	YES
-statement/sql/show_grants	YES	YES
-statement/sql/show_keys	YES	YES
-statement/sql/show_master_status	YES	YES
-statement/sql/show_open_tables	YES	YES
-statement/sql/show_plugins	YES	YES
-statement/sql/show_privileges	YES	YES
-statement/sql/show_procedure_code	YES	YES
-statement/sql/show_procedure_status	YES	YES
-statement/sql/show_processlist	YES	YES
-statement/sql/show_profile	YES	YES
-statement/sql/show_profiles	YES	YES
-statement/sql/show_relaylog_events	YES	YES
-statement/sql/show_slave_hosts	YES	YES
-statement/sql/show_slave_status	YES	YES
-statement/sql/show_status	YES	YES
-statement/sql/show_storage_engines	YES	YES
-statement/sql/show_tables	YES	YES
-statement/sql/show_table_status	YES	YES
-statement/sql/show_triggers	YES	YES
-statement/sql/show_variables	YES	YES
-statement/sql/show_warnings	YES	YES
-statement/sql/signal	YES	YES
-statement/sql/slave_start	YES	YES
-statement/sql/slave_stop	YES	YES
-statement/sql/truncate	YES	YES
-statement/sql/uninstall_plugin	YES	YES
-statement/sql/unlock_tables	YES	YES
-statement/sql/update	YES	YES
-statement/sql/update_multi	YES	YES
-statement/sql/xa_commit	YES	YES
-statement/sql/xa_end	YES	YES
-statement/sql/xa_prepare	YES	YES
-statement/sql/xa_recover	YES	YES
-statement/sql/xa_rollback	YES	YES
-statement/sql/xa_start	YES	YES
-wait/io/file/csv/data	YES	YES
-wait/io/file/csv/metadata	YES	YES
-wait/io/file/csv/update	YES	YES
-wait/io/file/innodb/innodb_data_file	YES	YES
-wait/io/file/innodb/innodb_log_file	YES	YES
-wait/io/file/innodb/innodb_temp_file	YES	YES
-wait/io/file/myisam/data_tmp	YES	YES
-wait/io/file/myisam/dfile	YES	YES
-wait/io/file/myisam/kfile	YES	YES
-wait/io/file/myisam/log	YES	YES
-wait/io/file/myisammrg/MRG	YES	YES
-wait/io/file/mysys/charset	YES	YES
-wait/io/file/mysys/cnf	YES	YES
-wait/io/file/mysys/proc_meminfo	YES	YES
-wait/io/file/sql/binlog	YES	YES
-wait/io/file/sql/binlog_index	YES	YES
-wait/io/file/sql/casetest	YES	YES
-wait/io/file/sql/dbopt	YES	YES
-wait/io/file/sql/des_key_file	YES	YES
-wait/io/file/sql/ERRMSG	YES	YES
-wait/io/file/sql/file_parser	YES	YES
-wait/io/file/sql/FRM	YES	YES
-wait/io/file/sql/global_ddl_log	YES	YES
-wait/io/file/sql/init	YES	YES
-wait/io/file/sql/load	YES	YES
-wait/io/file/sql/LOAD_FILE	YES	YES
-wait/io/file/sql/log_event_data	YES	YES
-wait/io/file/sql/log_event_info	YES	YES
-wait/io/file/sql/map	YES	YES
-wait/io/file/sql/master_info	YES	YES
-wait/io/file/sql/misc	YES	YES
-wait/io/file/sql/partition	YES	YES
-wait/io/file/sql/pid	YES	YES
-wait/io/file/sql/query_log	YES	YES
-wait/io/file/sql/relaylog	YES	YES
-wait/io/file/sql/relaylog_index	YES	YES
-wait/io/file/sql/relay_log_info	YES	YES
-wait/io/file/sql/select_to_file	YES	YES
-wait/io/file/sql/send_file	YES	YES
-wait/io/file/sql/slow_log	YES	YES
-wait/io/file/sql/tclog	YES	YES
-wait/io/file/sql/trigger	YES	YES
-wait/io/file/sql/trigger_name	YES	YES
-wait/io/socket/sql/client_connection	YES	YES
-wait/io/socket/sql/server_tcpip_socket	YES	YES
-wait/io/socket/sql/server_unix_socket	YES	YES
-wait/io/table/sql/handler	YES	YES
-wait/lock/table/sql/handler	YES	YES
-wait/synch/cond/innodb/commit_cond	YES	YES
-wait/synch/cond/myisam/MI_SORT_INFO::cond	YES	YES
-wait/synch/cond/mysys/COND_alarm	YES	YES
-wait/synch/cond/mysys/IO_CACHE_SHARE::cond	YES	YES
-wait/synch/cond/mysys/IO_CACHE_SHARE::cond_writer	YES	YES
-wait/synch/cond/mysys/my_thread_var::suspend	YES	YES
-wait/synch/cond/mysys/THR_COND_threads	YES	YES
-wait/synch/cond/sql/COND_flush_thread_cache	YES	YES
-wait/synch/cond/sql/COND_manager	YES	YES
-wait/synch/cond/sql/COND_queue_state	YES	YES
-wait/synch/cond/sql/COND_server_started	YES	YES
-wait/synch/cond/sql/COND_thread_cache	YES	YES
-wait/synch/cond/sql/COND_thread_count	YES	YES
-wait/synch/cond/sql/DEBUG_SYNC::cond	YES	YES
-wait/synch/cond/sql/Delayed_insert::cond	YES	YES
-wait/synch/cond/sql/Delayed_insert::cond_client	YES	YES
-wait/synch/cond/sql/Event_scheduler::COND_state	YES	YES
-wait/synch/cond/sql/Item_func_sleep::cond	YES	YES
-wait/synch/cond/sql/Master_info::data_cond	YES	YES
-wait/synch/cond/sql/Master_info::sleep_cond	YES	YES
-wait/synch/cond/sql/Master_info::start_cond	YES	YES
-wait/synch/cond/sql/Master_info::stop_cond	YES	YES
-wait/synch/cond/sql/MDL_context::COND_wait_status	YES	YES
-wait/synch/cond/sql/MYSQL_BIN_LOG::COND_prep_xids	NO	NO
-wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond	NO	NO
-wait/synch/cond/sql/MYSQL_RELAY_LOG::update_cond	YES	YES
-wait/synch/cond/sql/PAGE::cond	YES	YES
-wait/synch/cond/sql/Query_cache::COND_cache_status_changed	YES	YES
-wait/synch/cond/sql/Relay_log_info::data_cond	YES	YES
-wait/synch/cond/sql/Relay_log_info::log_space_cond	YES	YES
-wait/synch/cond/sql/Relay_log_info::pending_jobs_cond	YES	YES
-wait/synch/cond/sql/Relay_log_info::sleep_cond	YES	YES
-wait/synch/cond/sql/Relay_log_info::start_cond	YES	YES
-wait/synch/cond/sql/Relay_log_info::stop_cond	YES	YES
-wait/synch/cond/sql/TABLE_SHARE::cond	YES	YES
-wait/synch/cond/sql/TC_LOG_MMAP::COND_active	YES	YES
-wait/synch/cond/sql/TC_LOG_MMAP::COND_pool	YES	YES
-wait/synch/cond/sql/User_level_lock::cond	YES	YES
-wait/synch/cond/sql/Worker_info::jobs_cond	YES	YES
-wait/synch/mutex/archive/archive_mutex	YES	YES
-wait/synch/mutex/archive/ARCHIVE_SHARE::mutex	YES	YES
-wait/synch/mutex/blackhole/blackhole	YES	YES
-wait/synch/mutex/csv/tina	YES	YES
-wait/synch/mutex/csv/TINA_SHARE::mutex	YES	YES
-wait/synch/mutex/innodb/autoinc_mutex	YES	YES
-wait/synch/mutex/innodb/buf_pool_mutex	YES	YES
-wait/synch/mutex/innodb/buf_pool_zip_mutex	YES	YES
-wait/synch/mutex/innodb/cache_last_read_mutex	YES	YES
-wait/synch/mutex/innodb/commit_cond_mutex	YES	YES
-wait/synch/mutex/innodb/commit_threads_m	YES	YES
-wait/synch/mutex/innodb/dict_foreign_err_mutex	YES	YES
-wait/synch/mutex/innodb/dict_sys_mutex	YES	YES
-wait/synch/mutex/innodb/file_format_max_mutex	YES	YES
-wait/synch/mutex/innodb/fil_system_mutex	YES	YES
-wait/synch/mutex/innodb/flush_list_mutex	YES	YES
-wait/synch/mutex/innodb/hash_table_mutex	YES	YES
-wait/synch/mutex/innodb/ibuf_bitmap_mutex	YES	YES
-wait/synch/mutex/innodb/ibuf_mutex	YES	YES
-wait/synch/mutex/innodb/ibuf_pessimistic_insert_mutex	YES	YES
-wait/synch/mutex/innodb/innobase_share_mutex	YES	YES
-wait/synch/mutex/innodb/lock_mutex	YES	YES
-wait/synch/mutex/innodb/lock_wait_mutex	YES	YES
-wait/synch/mutex/innodb/log_flush_order_mutex	YES	YES
-wait/synch/mutex/innodb/log_sys_mutex	YES	YES
-wait/synch/mutex/innodb/mem_pool_mutex	YES	YES
-wait/synch/mutex/innodb/mutex_list_mutex	YES	YES
-wait/synch/mutex/innodb/os_mutex	YES	YES
-wait/synch/mutex/innodb/prepare_commit_mutex	YES	YES
-wait/synch/mutex/innodb/purge_sys_bh_mutex	YES	YES
-wait/synch/mutex/innodb/recv_sys_mutex	YES	YES
-wait/synch/mutex/innodb/rseg_mutex	YES	YES
-wait/synch/mutex/innodb/rw_lock_debug_mutex	YES	YES
-wait/synch/mutex/innodb/rw_lock_list_mutex	YES	YES
-wait/synch/mutex/innodb/rw_lock_mutex	YES	YES
-wait/synch/mutex/innodb/srv_dict_tmpfile_mutex	YES	YES
-wait/synch/mutex/innodb/srv_innodb_monitor_mutex	YES	YES
-wait/synch/mutex/innodb/srv_misc_tmpfile_mutex	YES	YES
-wait/synch/mutex/innodb/srv_monitor_file_mutex	YES	YES
-wait/synch/mutex/innodb/srv_sys_mutex	YES	YES
-wait/synch/mutex/innodb/srv_threads_mutex	YES	YES
-wait/synch/mutex/innodb/sync_thread_mutex	YES	YES
-wait/synch/mutex/innodb/trx_doublewrite_mutex	YES	YES
-wait/synch/mutex/innodb/trx_mutex	YES	YES
-wait/synch/mutex/innodb/trx_sys_mutex	YES	YES
-wait/synch/mutex/innodb/trx_undo_mutex	YES	YES
-wait/synch/mutex/innodb/ut_list_mutex	YES	YES
-wait/synch/mutex/memory/HP_SHARE::intern_lock	YES	YES
-wait/synch/mutex/myisam/MI_CHECK::print_msg	YES	YES
-wait/synch/mutex/myisam/MI_SORT_INFO::mutex	YES	YES
-wait/synch/mutex/myisam/MYISAM_SHARE::intern_lock	YES	YES
-wait/synch/mutex/myisammrg/MYRG_INFO::mutex	YES	YES
-wait/synch/mutex/mysys/BITMAP::mutex	YES	YES
-wait/synch/mutex/mysys/IO_CACHE::append_buffer_lock	YES	YES
-wait/synch/mutex/mysys/IO_CACHE::SHARE_mutex	YES	YES
-wait/synch/mutex/mysys/KEY_CACHE::cache_lock	YES	YES
-wait/synch/mutex/mysys/LOCK_alarm	YES	YES
-wait/synch/mutex/mysys/my_thread_var::mutex	YES	YES
-wait/synch/mutex/mysys/THR_LOCK::mutex	YES	YES
-wait/synch/mutex/mysys/THR_LOCK_charset	YES	YES
-wait/synch/mutex/mysys/THR_LOCK_heap	YES	YES
-wait/synch/mutex/mysys/THR_LOCK_lock	YES	YES
-wait/synch/mutex/mysys/THR_LOCK_malloc	YES	YES
-wait/synch/mutex/mysys/THR_LOCK_myisam	YES	YES
-wait/synch/mutex/mysys/THR_LOCK_myisam_mmap	YES	YES
-wait/synch/mutex/mysys/THR_LOCK_net	YES	YES
-wait/synch/mutex/mysys/THR_LOCK_open	YES	YES
-wait/synch/mutex/mysys/THR_LOCK_threads	YES	YES
-wait/synch/mutex/mysys/TMPDIR_mutex	YES	YES
-wait/synch/mutex/sql/Cversion_lock	NO	NO
-wait/synch/mutex/sql/DEBUG_SYNC::mutex	NO	NO
-wait/synch/mutex/sql/Delayed_insert::mutex	NO	NO
-wait/synch/mutex/sql/Event_scheduler::LOCK_scheduler_state	NO	NO
-wait/synch/mutex/sql/hash_filo::lock	NO	NO
-wait/synch/mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc	NO	NO
-wait/synch/mutex/sql/LOCK_active_mi	YES	YES
-wait/synch/mutex/sql/LOCK_audit_mask	YES	YES
-wait/synch/mutex/sql/LOCK_connection_count	YES	YES
-wait/synch/mutex/sql/LOCK_crypt	YES	YES
-wait/synch/mutex/sql/LOCK_delayed_create	YES	YES
-wait/synch/mutex/sql/LOCK_delayed_insert	YES	YES
-wait/synch/mutex/sql/LOCK_delayed_status	YES	YES
-wait/synch/mutex/sql/LOCK_des_key_file	YES	YES
-wait/synch/mutex/sql/LOCK_error_log	YES	YES
-wait/synch/mutex/sql/LOCK_error_messages	YES	YES
-wait/synch/mutex/sql/LOCK_event_queue	YES	YES
-wait/synch/mutex/sql/LOCK_gdl	YES	YES
-wait/synch/mutex/sql/LOCK_global_system_variables	YES	YES
-wait/synch/mutex/sql/LOCK_manager	YES	YES
-wait/synch/mutex/sql/LOCK_open	YES	YES
-wait/synch/mutex/sql/LOCK_plugin	YES	YES
-wait/synch/mutex/sql/LOCK_prepared_stmt_count	YES	YES
-wait/synch/mutex/sql/LOCK_server_started	YES	YES
-wait/synch/mutex/sql/LOCK_slave_list	YES	YES
-wait/synch/mutex/sql/LOCK_status	YES	YES
-wait/synch/mutex/sql/LOCK_system_variables_hash	YES	YES
-wait/synch/mutex/sql/LOCK_table_share	YES	YES
-wait/synch/mutex/sql/LOCK_thread_count	NO	NO
 wait/synch/mutex/sql/LOCK_user_conn	YES	NO
-wait/synch/mutex/sql/LOCK_user_locks	YES	NO
 wait/synch/mutex/sql/LOCK_uuid_generator	YES	NO
-wait/synch/mutex/sql/LOCK_xid_cache	YES	NO
-wait/synch/mutex/sql/LOG::LOCK_log	NO	NO
+SELECT * FROM performance_schema.setup_instruments
+WHERE name = 'wait/synch/mutex/sql/LOCK_thread_count'
+AND enabled = 'no' AND timed = 'no';
+NAME	ENABLED	TIMED
+wait/synch/mutex/sql/LOCK_thread_count	NO	NO
+SELECT * FROM performance_schema.setup_instruments
+WHERE name IN (
+'wait/synch/mutex/sql/LOG_INFO::lock',
+'wait/synch/mutex/sql/THD::LOCK_thd_data')
+AND enabled = 'yes' AND timed = 'yes'
+ORDER BY name;
+NAME	ENABLED	TIMED
 wait/synch/mutex/sql/LOG_INFO::lock	YES	YES
-wait/synch/mutex/sql/Master_info::data_lock	NO	NO
-wait/synch/mutex/sql/Master_info::run_lock	YES	YES
-wait/synch/mutex/sql/Master_info::sleep_lock	NO	NO
-wait/synch/mutex/sql/MDL_map::mutex	NO	NO
-wait/synch/mutex/sql/MDL_wait::LOCK_wait_status	NO	NO
-wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index	NO	NO
-wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_prep_xids	NO	NO
-wait/synch/mutex/sql/MYSQL_RELAY_LOG::LOCK_index	NO	NO
-wait/synch/mutex/sql/PAGE::lock	NO	NO
-wait/synch/mutex/sql/Query_cache::structure_guard_mutex	NO	NO
-wait/synch/mutex/sql/Relay_log_info::data_lock	NO	NO
-wait/synch/mutex/sql/Relay_log_info::log_space_lock	NO	NO
-wait/synch/mutex/sql/Relay_log_info::pending_jobs_lock	NO	NO
-wait/synch/mutex/sql/Relay_log_info::run_lock	NO	NO
-wait/synch/mutex/sql/Relay_log_info::sleep_lock	NO	NO
-wait/synch/mutex/sql/Relay_log_info::temp_tables_lock	NO	NO
-wait/synch/mutex/sql/Slave_reporting_capability::err_lock	NO	NO
-wait/synch/mutex/sql/TABLE_SHARE::LOCK_ha_data	NO	NO
-wait/synch/mutex/sql/TC_LOG_MMAP::LOCK_active	NO	NO
-wait/synch/mutex/sql/TC_LOG_MMAP::LOCK_pool	NO	NO
-wait/synch/mutex/sql/TC_LOG_MMAP::LOCK_sync	NO	NO
-wait/synch/mutex/sql/THD::LOCK_thd_data	NO	NO
-wait/synch/mutex/sql/tz_LOCK	NO	NO
-wait/synch/mutex/sql/Worker_info::jobs_lock	NO	NO
-wait/synch/rwlock/innodb/btr_search_latch	YES	YES
-wait/synch/rwlock/innodb/buf_block_debug_latch	YES	YES
-wait/synch/rwlock/innodb/checkpoint_lock	YES	YES
-wait/synch/rwlock/innodb/dict_operation_lock	YES	YES
-wait/synch/rwlock/innodb/dict_table_stats	YES	YES
-wait/synch/rwlock/innodb/fil_space_latch	YES	YES
-wait/synch/rwlock/innodb/hash table locks	YES	YES
-wait/synch/rwlock/innodb/index_tree_rw_lock	YES	YES
-wait/synch/rwlock/innodb/trx_i_s_cache_lock	YES	YES
-wait/synch/rwlock/innodb/trx_purge_latch	YES	YES
-wait/synch/rwlock/myisam/MYISAM_SHARE::key_root_lock	YES	YES
-wait/synch/rwlock/myisam/MYISAM_SHARE::mmap_lock	YES	YES
-wait/synch/rwlock/sql/LOCK_dboptions	YES	YES
-wait/synch/rwlock/sql/LOCK_grant	YES	YES
-wait/synch/rwlock/sql/LOCK_system_variables_hash	YES	YES
-wait/synch/rwlock/sql/LOCK_sys_init_connect	YES	YES
-wait/synch/rwlock/sql/LOCK_sys_init_slave	YES	YES
-wait/synch/rwlock/sql/LOGGER::LOCK_logger	YES	YES
-wait/synch/rwlock/sql/MDL_context::LOCK_waiting_for	YES	YES
-wait/synch/rwlock/sql/MDL_lock::rwlock	YES	YES
-wait/synch/rwlock/sql/Query_cache_query::lock	YES	YES
-wait/synch/rwlock/sql/THR_LOCK_servers	YES	YES
-wait/synch/rwlock/sql/THR_LOCK_udf	YES	YES
+wait/synch/mutex/sql/THD::LOCK_thd_data	YES	YES
+SELECT * FROM performance_schema.setup_instruments
+WHERE name IN (
+'wait/synch/mutex/sql/Delayed_insert::mutex',
+'wait/synch/mutex/sql/hash_filo::lock')
+AND enabled = 'no' AND timed = 'no'
+ORDER BY name;
+NAME	ENABLED	TIMED
+wait/synch/mutex/sql/Delayed_insert::mutex	NO	NO
+wait/synch/mutex/sql/hash_filo::lock	NO	NO

=== modified file 'mysql-test/suite/perfschema/t/setup_consumers_defaults.test'
--- a/mysql-test/suite/perfschema/t/setup_consumers_defaults.test	2011-11-16 07:05:50 +0000
+++ b/mysql-test/suite/perfschema/t/setup_consumers_defaults.test	2011-11-17 21:44:20 +0000
@@ -3,14 +3,4 @@
 --source include/not_embedded.inc
 --source include/have_perfschema.inc
 
-# performance-schema-instrument = 'wait/synch/mutex/sql/% = NO'
-
-eval SELECT COUNT(*) = 6 AS 'Expect 1'
-FROM performance_schema.setup_consumers
-WHERE enabled = 'yes';
-
-eval SELECT COUNT(*) = 5 AS 'Expect 1'
-FROM performance_schema.setup_consumers
-WHERE enabled = 'no';
-
 SELECT * FROM performance_schema.setup_consumers ORDER BY name;

=== modified file 'mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt'
--- a/mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt	2011-11-16 07:05:50 +0000
+++ b/mysql-test/suite/perfschema/t/setup_instruments_defaults-master.opt	2011-11-17 21:44:20 +0000
@@ -1,22 +1,21 @@
+--log-error=0
 --loose-performance-schema-instrument='%=ON'
 --loose-performance-schema-instrument='wait/synch/mutex/sql/% = OFF'
 --loose-performance-schema-instrument='wait/synch/mutex/sql/LOCK% = ON'
 --loose-performance-schema-instrument='wait/synch/mutex/sql/LOCK_thread_count  = OFF'
 --loose-performance-schema-instrument=' wait/synch/mutex/sql/LOCK_user_conn    = COUNTED'
---loose-performance-schema-instrument='%wait/synch/mutex/sql/%user_locks       = COUNTED'
 --loose-performance-schema-instrument='wait%/synch/mutex/sql/LOCK_uu%_genera%/ = COUNTED'
 --loose-performance-schema-instrument='%%wait/synch/mutex/sql/LOCK_xid_cache   = COUNTED'
 --loose-performance-schema-instrument='%=FOO'
 --loose-performance-schema-instrument='%=%'
 --loose-performance-schema-instrument='%'
 --loose-performance-schema-instrument=''
---loose-performance-schema-instrument='stage/sql/Waiting until MASTER_DELAY seconds after master executed event = COUNTED'
---loose-performance-schema-instrument='  unknown%instrument/event/name with blanks = YES'
---loose-performance-schema-instrument='unknown/instrument/event/name               = TRUE'
---loose-performance-schema-instrument='wait/synch/mutex/sql/LOG_INFO::lock                = 1'
---loose-performance-schema-instrument='wait/synch/mutex/sql/Master_info::data_lock        = 0'
---loose-performance-schema-instrument='wait/synch/mutex/sql/Master_info::run_lock         = TRUE'
---loose-performance-schema-instrument='wait/synch/mutex/sql/Master_info::sleep_lock       = FALSE'
---loose-performance-schema-instrument='wait/synch/cond/sql/MYSQL_BIN_LOG::COND_prep_xids = NO'
---loose-performance-schema-instrument='wait/synch/cond/sql/MYSQL_BIN_LOG::update_cond    = NO'
+--loose-performance-schema-instrument='  unknown%instrument/event/name with blanks   = YES'
+--loose-performance-schema-instrument='unknown/instrument/event/name                 = TRUE'
+--loose-performance-schema-instrument='stage/sql/creating table                      = COUNTED'
+--loose-performance-schema-instrument='wait/synch/mutex/sql/LOG_INFO::lock           = 1'
+--loose-performance-schema-instrument='wait/synch/mutex/sql/Delayed_insert::mutex    = 0'
+--loose-performance-schema-instrument='wait/synch/mutex/sql/THD::LOCK_thd_data       = TRUE'
+--loose-performance-schema-instrument='wait/synch/mutex/sql/hash_filo::lock          = FALSE'
+--loose-performance-schema-instrument='wait/synch/mutex/sql/TABLE_SHARE::LOCK_ha_data= NO'
 

=== modified file 'mysql-test/suite/perfschema/t/setup_instruments_defaults.test'
--- a/mysql-test/suite/perfschema/t/setup_instruments_defaults.test	2011-11-16 07:05:50 +0000
+++ b/mysql-test/suite/perfschema/t/setup_instruments_defaults.test	2011-11-17 21:44:20 +0000
@@ -3,22 +3,34 @@
 --source include/not_embedded.inc
 --source include/have_perfschema.inc
 
-# performance-schema-instrument = 'wait/synch/mutex/sql/% = NO'
+# Verify that the configuration options were applied correctly to the
+# setup_instruments table. These instruments that are known to persist across
+# platforms and the various compile options.
+
+SELECT * FROM performance_schema.setup_instruments
+WHERE name IN (
+  'wait/synch/mutex/sql/LOCK_user_conn',
+  'wait/synch/mutex/sql/LOCK_uuid_generator',
+  'wait/synch/mutex/sql/LOCK_xid_cache'
+  'stage/sql/creating table')
+AND enabled = 'yes' AND timed = 'no'
+ORDER BY name;
+
+SELECT * FROM performance_schema.setup_instruments
+WHERE name = 'wait/synch/mutex/sql/LOCK_thread_count'
+AND enabled = 'no' AND timed = 'no';
+
+SELECT * FROM performance_schema.setup_instruments
+WHERE name IN (
+  'wait/synch/mutex/sql/LOG_INFO::lock',
+  'wait/synch/mutex/sql/THD::LOCK_thd_data')
+AND enabled = 'yes' AND timed = 'yes'
+ORDER BY name;
+
+SELECT * FROM performance_schema.setup_instruments
+WHERE name IN (
+  'wait/synch/mutex/sql/Delayed_insert::mutex',
+  'wait/synch/mutex/sql/hash_filo::lock')
+AND enabled = 'no' AND timed = 'no'
+ORDER BY name;
 
-eval SELECT COUNT(*) = 31 AS 'Expect 1'
-FROM performance_schema.setup_instruments
-WHERE name LIKE 'wait/synch/mutex/sql/%' AND enabled = 'no' and timed = 'no';
-
-eval SELECT COUNT(*) = 1 AS 'Expect 1'
-FROM performance_schema.setup_instruments
-WHERE name = 'wait/synch/mutex/sql/LOCK_thread_count' AND enabled = 'no' and timed = 'no';
-
-eval SELECT COUNT(*) = 4 AS 'Expect 1'
-FROM performance_schema.setup_instruments
-WHERE name LIKE 'wait/synch/mutex/sql/LOCK_%' AND enabled = 'yes' and timed = 'no';
-
-eval SELECT COUNT(*) = 1 AS 'Expect 1'
-FROM performance_schema.setup_instruments
-WHERE name LIKE 'stage/%' AND enabled = 'yes' and timed = 'no';
-
-SELECT * FROM performance_schema.setup_instruments ORDER BY name;

=== modified file 'mysql-test/suite/sys_vars/r/all_vars.result'
--- a/mysql-test/suite/sys_vars/r/all_vars.result	2011-10-27 04:20:52 +0000
+++ b/mysql-test/suite/sys_vars/r/all_vars.result	2011-11-17 11:02:53 +0000
@@ -13,31 +13,5 @@ There should be *no* long test name list
 select variable_name as `There should be *no* variables listed below:` from t2
 left join t1 on variable_name=test_name where test_name is null ORDER BY variable_name;
 There should be *no* variables listed below:
-INNODB_DISABLE_SORT_FILE_CACHE
-INNODB_DISABLE_SORT_FILE_CACHE
-INNODB_FT_AUX_TABLE
-INNODB_FT_AUX_TABLE
-INNODB_FT_CACHE_SIZE
-INNODB_FT_CACHE_SIZE
-INNODB_FT_ENABLE_DIAG_PRINT
-INNODB_FT_ENABLE_DIAG_PRINT
-INNODB_FT_ENABLE_STOPWORD
-INNODB_FT_ENABLE_STOPWORD
-INNODB_FT_MAX_TOKEN_SIZE
-INNODB_FT_MAX_TOKEN_SIZE
-INNODB_FT_MIN_TOKEN_SIZE
-INNODB_FT_MIN_TOKEN_SIZE
-INNODB_FT_NUM_WORD_OPTIMIZE
-INNODB_FT_NUM_WORD_OPTIMIZE
-INNODB_FT_SERVER_STOPWORD_TABLE
-INNODB_FT_SERVER_STOPWORD_TABLE
-INNODB_FT_SORT_PLL_DEGREE
-INNODB_FT_SORT_PLL_DEGREE
-INNODB_FT_USER_STOPWORD_TABLE
-INNODB_FT_USER_STOPWORD_TABLE
-INNODB_OPTIMIZE_FULLTEXT_ONLY
-INNODB_OPTIMIZE_FULLTEXT_ONLY
-INNODB_SORT_BUF_SIZE
-INNODB_SORT_BUF_SIZE
 drop table t1;
 drop table t2;

=== added file 'mysql-test/suite/sys_vars/r/innodb_disable_sort_file_cache_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_disable_sort_file_cache_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_disable_sort_file_cache_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,92 @@
+SET @start_global_value = @@global.innodb_disable_sort_file_cache;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are 'ON' and 'OFF' 
+select @@global.innodb_disable_sort_file_cache in (0, 1);
+@@global.innodb_disable_sort_file_cache in (0, 1)
+1
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+0
+select @@session.innodb_disable_sort_file_cache;
+ERROR HY000: Variable 'innodb_disable_sort_file_cache' is a GLOBAL variable
+show global variables like 'innodb_disable_sort_file_cache';
+Variable_name	Value
+innodb_disable_sort_file_cache	OFF
+show session variables like 'innodb_disable_sort_file_cache';
+Variable_name	Value
+innodb_disable_sort_file_cache	OFF
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	OFF
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	OFF
+set global innodb_disable_sort_file_cache='OFF';
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+0
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	OFF
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	OFF
+set @@global.innodb_disable_sort_file_cache=1;
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+1
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	ON
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	ON
+set global innodb_disable_sort_file_cache=0;
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+0
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	OFF
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	OFF
+set @@global.innodb_disable_sort_file_cache='ON';
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+1
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	ON
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	ON
+set session innodb_disable_sort_file_cache='OFF';
+ERROR HY000: Variable 'innodb_disable_sort_file_cache' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_disable_sort_file_cache='ON';
+ERROR HY000: Variable 'innodb_disable_sort_file_cache' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_disable_sort_file_cache=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_disable_sort_file_cache'
+set global innodb_disable_sort_file_cache=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_disable_sort_file_cache'
+set global innodb_disable_sort_file_cache=2;
+ERROR 42000: Variable 'innodb_disable_sort_file_cache' can't be set to the value of '2'
+NOTE: The following should fail with ER_WRONG_VALUE_FOR_VAR (BUG#50643)
+set global innodb_disable_sort_file_cache=-3;
+select @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+1
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	ON
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_DISABLE_SORT_FILE_CACHE	ON
+set global innodb_disable_sort_file_cache='AUTO';
+ERROR 42000: Variable 'innodb_disable_sort_file_cache' can't be set to the value of 'AUTO'
+SET @@global.innodb_disable_sort_file_cache = @start_global_value;
+SELECT @@global.innodb_disable_sort_file_cache;
+@@global.innodb_disable_sort_file_cache
+0

=== added file 'mysql-test/suite/sys_vars/r/innodb_ft_aux_table_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_ft_aux_table_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_aux_table_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,32 @@
+SET @start_global_value = @@global.innodb_ft_aux_table;
+SELECT @start_global_value;
+@start_global_value
+NULL
+select @@session.innodb_ft_aux_table;
+ERROR HY000: Variable 'innodb_ft_aux_table' is a GLOBAL variable
+show global variables like 'innodb_ft_aux_table';
+Variable_name	Value
+innodb_ft_aux_table	
+show session variables like 'innodb_ft_aux_table';
+Variable_name	Value
+innodb_ft_aux_table	
+select * from information_schema.global_variables where variable_name='innodb_ft_aux_table';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_AUX_TABLE	
+select * from information_schema.session_variables where variable_name='innodb_ft_aux_table';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_AUX_TABLE	
+set session innodb_ft_aux_table='Salmon';
+ERROR HY000: Variable 'innodb_ft_aux_table' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_ft_aux_table='Salmon';
+ERROR HY000: Variable 'innodb_ft_aux_table' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_ft_aux_table=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_aux_table'
+set global innodb_ft_aux_table=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_aux_table'
+set global innodb_ft_aux_table='Salmon';
+ERROR 42000: Variable 'innodb_ft_aux_table' can't be set to the value of 'Salmon'
+SET @@global.innodb_ft_aux_table = @start_global_value;
+SELECT @@global.innodb_ft_aux_table;
+@@global.innodb_ft_aux_table
+NULL

=== added file 'mysql-test/suite/sys_vars/r/innodb_ft_cache_size_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_ft_cache_size_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_cache_size_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,21 @@
+select @@global.innodb_ft_cache_size;
+@@global.innodb_ft_cache_size
+32000000
+select @@session.innodb_ft_cache_size;
+ERROR HY000: Variable 'innodb_ft_cache_size' is a GLOBAL variable
+show global variables like 'innodb_ft_cache_size';
+Variable_name	Value
+innodb_ft_cache_size	32000000
+show session variables like 'innodb_ft_cache_size';
+Variable_name	Value
+innodb_ft_cache_size	32000000
+select * from information_schema.global_variables where variable_name='innodb_ft_cache_size';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_CACHE_SIZE	32000000
+select * from information_schema.session_variables where variable_name='innodb_ft_cache_size';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_CACHE_SIZE	32000000
+set global innodb_ft_cache_size=1;
+ERROR HY000: Variable 'innodb_ft_cache_size' is a read only variable
+set session innodb_ft_cache_size=1;
+ERROR HY000: Variable 'innodb_ft_cache_size' is a read only variable

=== added file 'mysql-test/suite/sys_vars/r/innodb_ft_enable_diag_print_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_ft_enable_diag_print_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_enable_diag_print_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,92 @@
+SET @start_global_value = @@global.innodb_ft_enable_diag_print;
+SELECT @start_global_value;
+@start_global_value
+1
+Valid values are 'ON' and 'OFF' 
+select @@global.innodb_ft_enable_diag_print in (0, 1);
+@@global.innodb_ft_enable_diag_print in (0, 1)
+1
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+1
+select @@session.innodb_ft_enable_diag_print;
+ERROR HY000: Variable 'innodb_ft_enable_diag_print' is a GLOBAL variable
+show global variables like 'innodb_ft_enable_diag_print';
+Variable_name	Value
+innodb_ft_enable_diag_print	ON
+show session variables like 'innodb_ft_enable_diag_print';
+Variable_name	Value
+innodb_ft_enable_diag_print	ON
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	ON
+set global innodb_ft_enable_diag_print='OFF';
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+0
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	OFF
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	OFF
+set @@global.innodb_ft_enable_diag_print=1;
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	ON
+set global innodb_ft_enable_diag_print=0;
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+0
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	OFF
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	OFF
+set @@global.innodb_ft_enable_diag_print='ON';
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	ON
+set session innodb_ft_enable_diag_print='OFF';
+ERROR HY000: Variable 'innodb_ft_enable_diag_print' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_ft_enable_diag_print='ON';
+ERROR HY000: Variable 'innodb_ft_enable_diag_print' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_ft_enable_diag_print=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_diag_print'
+set global innodb_ft_enable_diag_print=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_diag_print'
+set global innodb_ft_enable_diag_print=2;
+ERROR 42000: Variable 'innodb_ft_enable_diag_print' can't be set to the value of '2'
+NOTE: The following should fail with ER_WRONG_VALUE_FOR_VAR (BUG#50643)
+set global innodb_ft_enable_diag_print=-3;
+select @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_DIAG_PRINT	ON
+set global innodb_ft_enable_diag_print='AUTO';
+ERROR 42000: Variable 'innodb_ft_enable_diag_print' can't be set to the value of 'AUTO'
+SET @@global.innodb_ft_enable_diag_print = @start_global_value;
+SELECT @@global.innodb_ft_enable_diag_print;
+@@global.innodb_ft_enable_diag_print
+1

=== added file 'mysql-test/suite/sys_vars/r/innodb_ft_enable_stopword_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_ft_enable_stopword_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_enable_stopword_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,120 @@
+SET @start_global_value = @@global.innodb_ft_enable_stopword;
+SELECT @start_global_value;
+@start_global_value
+1
+Valid values are 'ON' and 'OFF' 
+select @@global.innodb_ft_enable_stopword in (0, 1);
+@@global.innodb_ft_enable_stopword in (0, 1)
+1
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+1
+select @@session.innodb_ft_enable_stopword in (0, 1);
+@@session.innodb_ft_enable_stopword in (0, 1)
+1
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+1
+show global variables like 'innodb_ft_enable_stopword';
+Variable_name	Value
+innodb_ft_enable_stopword	ON
+show session variables like 'innodb_ft_enable_stopword';
+Variable_name	Value
+innodb_ft_enable_stopword	ON
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	ON
+set global innodb_ft_enable_stopword='OFF';
+set session innodb_ft_enable_stopword='OFF';
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+0
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+0
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	OFF
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	OFF
+set @@global.innodb_ft_enable_stopword=1;
+set @@session.innodb_ft_enable_stopword=1;
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+1
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	ON
+set global innodb_ft_enable_stopword=0;
+set session innodb_ft_enable_stopword=0;
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+0
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+0
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	OFF
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	OFF
+set @@global.innodb_ft_enable_stopword='ON';
+set @@session.innodb_ft_enable_stopword='ON';
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+1
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	ON
+set global innodb_ft_enable_stopword=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_stopword'
+set session innodb_ft_enable_stopword=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_stopword'
+set global innodb_ft_enable_stopword=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_stopword'
+set session innodb_ft_enable_stopword=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_enable_stopword'
+set global innodb_ft_enable_stopword=2;
+ERROR 42000: Variable 'innodb_ft_enable_stopword' can't be set to the value of '2'
+set session innodb_ft_enable_stopword=2;
+ERROR 42000: Variable 'innodb_ft_enable_stopword' can't be set to the value of '2'
+set global innodb_ft_enable_stopword='AUTO';
+ERROR 42000: Variable 'innodb_ft_enable_stopword' can't be set to the value of 'AUTO'
+set session innodb_ft_enable_stopword='AUTO';
+ERROR 42000: Variable 'innodb_ft_enable_stopword' can't be set to the value of 'AUTO'
+NOTE: The following should fail with ER_WRONG_VALUE_FOR_VAR (BUG#50643)
+set global innodb_ft_enable_stopword=-3;
+set session innodb_ft_enable_stopword=-7;
+select @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+1
+select @@session.innodb_ft_enable_stopword;
+@@session.innodb_ft_enable_stopword
+1
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	ON
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_ENABLE_STOPWORD	ON
+SET @@global.innodb_ft_enable_stopword = @start_global_value;
+SELECT @@global.innodb_ft_enable_stopword;
+@@global.innodb_ft_enable_stopword
+1

=== added file 'mysql-test/suite/sys_vars/r/innodb_ft_max_token_size_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_ft_max_token_size_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_max_token_size_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,21 @@
+select @@global.innodb_ft_max_token_size;
+@@global.innodb_ft_max_token_size
+84
+select @@session.innodb_ft_max_token_size;
+ERROR HY000: Variable 'innodb_ft_max_token_size' is a GLOBAL variable
+show global variables like 'innodb_ft_max_token_size';
+Variable_name	Value
+innodb_ft_max_token_size	84
+show session variables like 'innodb_ft_max_token_size';
+Variable_name	Value
+innodb_ft_max_token_size	84
+select * from information_schema.global_variables where variable_name='innodb_ft_max_token_size';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_MAX_TOKEN_SIZE	84
+select * from information_schema.session_variables where variable_name='innodb_ft_max_token_size';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_MAX_TOKEN_SIZE	84
+set global innodb_ft_max_token_size=1;
+ERROR HY000: Variable 'innodb_ft_max_token_size' is a read only variable
+set session innodb_ft_max_token_size=1;
+ERROR HY000: Variable 'innodb_ft_max_token_size' is a read only variable

=== added file 'mysql-test/suite/sys_vars/r/innodb_ft_min_token_size_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_ft_min_token_size_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_min_token_size_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,21 @@
+select @@global.innodb_ft_min_token_size;
+@@global.innodb_ft_min_token_size
+3
+select @@session.innodb_ft_min_token_size;
+ERROR HY000: Variable 'innodb_ft_min_token_size' is a GLOBAL variable
+show global variables like 'innodb_ft_min_token_size';
+Variable_name	Value
+innodb_ft_min_token_size	3
+show session variables like 'innodb_ft_min_token_size';
+Variable_name	Value
+innodb_ft_min_token_size	3
+select * from information_schema.global_variables where variable_name='innodb_ft_min_token_size';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_MIN_TOKEN_SIZE	3
+select * from information_schema.session_variables where variable_name='innodb_ft_min_token_size';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_MIN_TOKEN_SIZE	3
+set global innodb_ft_min_token_size=1;
+ERROR HY000: Variable 'innodb_ft_min_token_size' is a read only variable
+set session innodb_ft_min_token_size=1;
+ERROR HY000: Variable 'innodb_ft_min_token_size' is a read only variable

=== added file 'mysql-test/suite/sys_vars/r/innodb_ft_num_word_optimize_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_ft_num_word_optimize_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_num_word_optimize_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,56 @@
+SET @start_global_value = @@global.innodb_ft_num_word_optimize;
+SELECT @start_global_value;
+@start_global_value
+2000
+Valid values are zero or above
+select @@global.innodb_ft_num_word_optimize >=1000;
+@@global.innodb_ft_num_word_optimize >=1000
+1
+select @@global.innodb_ft_num_word_optimize;
+@@global.innodb_ft_num_word_optimize
+2000
+select @@session.innodb_ft_num_word_optimize;
+ERROR HY000: Variable 'innodb_ft_num_word_optimize' is a GLOBAL variable
+show global variables like 'innodb_ft_num_word_optimize';
+Variable_name	Value
+innodb_ft_num_word_optimize	2000
+show session variables like 'innodb_ft_num_word_optimize';
+Variable_name	Value
+innodb_ft_num_word_optimize	2000
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_NUM_WORD_OPTIMIZE	2000
+select * from information_schema.session_variables where variable_name='innodb_ft_num_word_optimize';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_NUM_WORD_OPTIMIZE	2000
+set global innodb_ft_num_word_optimize=1000;
+select @@global.innodb_ft_num_word_optimize;
+@@global.innodb_ft_num_word_optimize
+1000
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_NUM_WORD_OPTIMIZE	1000
+select * from information_schema.session_variables where variable_name='innodb_ft_num_word_optimize';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_NUM_WORD_OPTIMIZE	1000
+set session innodb_ft_num_word_optimize=1000;
+ERROR HY000: Variable 'innodb_ft_num_word_optimize' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_ft_num_word_optimize=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_num_word_optimize'
+set global innodb_ft_num_word_optimize=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_num_word_optimize'
+set global innodb_ft_num_word_optimize="foo";
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_num_word_optimize'
+set global innodb_ft_num_word_optimize=-7;
+Warnings:
+Warning	1292	Truncated incorrect innodb_ft_num_word_optimize value: '-7'
+select @@global.innodb_ft_num_word_optimize;
+@@global.innodb_ft_num_word_optimize
+1000
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_NUM_WORD_OPTIMIZE	1000
+SET @@global.innodb_ft_num_word_optimize = @start_global_value;
+SELECT @@global.innodb_ft_num_word_optimize;
+@@global.innodb_ft_num_word_optimize
+2000

=== added file 'mysql-test/suite/sys_vars/r/innodb_ft_server_stopword_table_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_ft_server_stopword_table_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_server_stopword_table_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,32 @@
+SET @start_global_value = @@global.innodb_ft_server_stopword_table;
+SELECT @start_global_value;
+@start_global_value
+NULL
+select @@session.innodb_ft_server_stopword_table;
+ERROR HY000: Variable 'innodb_ft_server_stopword_table' is a GLOBAL variable
+show global variables like 'innodb_ft_server_stopword_table';
+Variable_name	Value
+innodb_ft_server_stopword_table	
+show session variables like 'innodb_ft_server_stopword_table';
+Variable_name	Value
+innodb_ft_server_stopword_table	
+select * from information_schema.global_variables where variable_name='innodb_ft_server_stopword_table';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_SERVER_STOPWORD_TABLE	
+select * from information_schema.session_variables where variable_name='innodb_ft_server_stopword_table';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_SERVER_STOPWORD_TABLE	
+set session innodb_ft_server_stopword_table='Salmon';
+ERROR HY000: Variable 'innodb_ft_server_stopword_table' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_ft_server_stopword_table='Salmon';
+ERROR HY000: Variable 'innodb_ft_server_stopword_table' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_ft_server_stopword_table=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_server_stopword_table'
+set global innodb_ft_server_stopword_table=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_server_stopword_table'
+set global innodb_ft_server_stopword_table='Salmon';
+ERROR 42000: Variable 'innodb_ft_server_stopword_table' can't be set to the value of 'Salmon'
+SET @@global.innodb_ft_server_stopword_table = @start_global_value;
+SELECT @@global.innodb_ft_server_stopword_table;
+@@global.innodb_ft_server_stopword_table
+NULL

=== added file 'mysql-test/suite/sys_vars/r/innodb_ft_sort_pll_degree_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_ft_sort_pll_degree_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_sort_pll_degree_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,21 @@
+select @@global.innodb_ft_sort_pll_degree;
+@@global.innodb_ft_sort_pll_degree
+2
+select @@session.innodb_ft_sort_pll_degree;
+ERROR HY000: Variable 'innodb_ft_sort_pll_degree' is a GLOBAL variable
+show global variables like 'innodb_ft_sort_pll_degree';
+Variable_name	Value
+innodb_ft_sort_pll_degree	2
+show session variables like 'innodb_ft_sort_pll_degree';
+Variable_name	Value
+innodb_ft_sort_pll_degree	2
+select * from information_schema.global_variables where variable_name='innodb_ft_sort_pll_degree';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_SORT_PLL_DEGREE	2
+select * from information_schema.session_variables where variable_name='innodb_ft_sort_pll_degree';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_SORT_PLL_DEGREE	2
+set global innodb_ft_sort_pll_degree=1;
+ERROR HY000: Variable 'innodb_ft_sort_pll_degree' is a read only variable
+set session innodb_ft_sort_pll_degree=1;
+ERROR HY000: Variable 'innodb_ft_sort_pll_degree' is a read only variable

=== added file 'mysql-test/suite/sys_vars/r/innodb_ft_user_stopword_table_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_ft_user_stopword_table_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_ft_user_stopword_table_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,29 @@
+SET @start_global_value = @@global.innodb_ft_user_stopword_table;
+SELECT @start_global_value;
+@start_global_value
+NULL
+select @@session.innodb_ft_user_stopword_table;
+@@session.innodb_ft_user_stopword_table
+NULL
+show global variables like 'innodb_ft_user_stopword_table';
+Variable_name	Value
+innodb_ft_user_stopword_table	
+show session variables like 'innodb_ft_user_stopword_table';
+Variable_name	Value
+innodb_ft_user_stopword_table	
+select * from information_schema.global_variables where variable_name='innodb_ft_user_stopword_table';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_USER_STOPWORD_TABLE	
+select * from information_schema.session_variables where variable_name='innodb_ft_user_stopword_table';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_FT_USER_STOPWORD_TABLE	
+set session innodb_ft_user_stopword_table='Salmon';
+ERROR 42000: Variable 'innodb_ft_user_stopword_table' can't be set to the value of 'Salmon'
+set @@session.innodb_ft_user_stopword_table='Salmon';
+ERROR 42000: Variable 'innodb_ft_user_stopword_table' can't be set to the value of 'Salmon'
+set global innodb_ft_user_stopword_table=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_user_stopword_table'
+set global innodb_ft_user_stopword_table=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_ft_user_stopword_table'
+set global innodb_ft_user_stopword_table='Salmon';
+ERROR 42000: Variable 'innodb_ft_user_stopword_table' can't be set to the value of 'Salmon'

=== added file 'mysql-test/suite/sys_vars/r/innodb_optimize_fulltext_only_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_optimize_fulltext_only_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_optimize_fulltext_only_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,92 @@
+SET @start_global_value = @@global.innodb_optimize_fulltext_only;
+SELECT @start_global_value;
+@start_global_value
+0
+Valid values are 'ON' and 'OFF' 
+select @@global.innodb_optimize_fulltext_only in (0, 1);
+@@global.innodb_optimize_fulltext_only in (0, 1)
+1
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+0
+select @@session.innodb_optimize_fulltext_only;
+ERROR HY000: Variable 'innodb_optimize_fulltext_only' is a GLOBAL variable
+show global variables like 'innodb_optimize_fulltext_only';
+Variable_name	Value
+innodb_optimize_fulltext_only	OFF
+show session variables like 'innodb_optimize_fulltext_only';
+Variable_name	Value
+innodb_optimize_fulltext_only	OFF
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	OFF
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	OFF
+set global innodb_optimize_fulltext_only='ON';
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+1
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	ON
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	ON
+set @@global.innodb_optimize_fulltext_only=0;
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+0
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	OFF
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	OFF
+set global innodb_optimize_fulltext_only=1;
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+1
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	ON
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	ON
+set @@global.innodb_optimize_fulltext_only='OFF';
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+0
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	OFF
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	OFF
+set session innodb_optimize_fulltext_only='OFF';
+ERROR HY000: Variable 'innodb_optimize_fulltext_only' is a GLOBAL variable and should be set with SET GLOBAL
+set @@session.innodb_optimize_fulltext_only='ON';
+ERROR HY000: Variable 'innodb_optimize_fulltext_only' is a GLOBAL variable and should be set with SET GLOBAL
+set global innodb_optimize_fulltext_only=1.1;
+ERROR 42000: Incorrect argument type to variable 'innodb_optimize_fulltext_only'
+set global innodb_optimize_fulltext_only=1e1;
+ERROR 42000: Incorrect argument type to variable 'innodb_optimize_fulltext_only'
+set global innodb_optimize_fulltext_only=2;
+ERROR 42000: Variable 'innodb_optimize_fulltext_only' can't be set to the value of '2'
+NOTE: The following should fail with ER_WRONG_VALUE_FOR_VAR (BUG#50643)
+set global innodb_optimize_fulltext_only=-3;
+select @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+1
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	ON
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_OPTIMIZE_FULLTEXT_ONLY	ON
+set global innodb_optimize_fulltext_only='AUTO';
+ERROR 42000: Variable 'innodb_optimize_fulltext_only' can't be set to the value of 'AUTO'
+SET @@global.innodb_optimize_fulltext_only = @start_global_value;
+SELECT @@global.innodb_optimize_fulltext_only;
+@@global.innodb_optimize_fulltext_only
+0

=== added file 'mysql-test/suite/sys_vars/r/innodb_sort_buf_size_basic.result'
--- a/mysql-test/suite/sys_vars/r/innodb_sort_buf_size_basic.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/innodb_sort_buf_size_basic.result	2011-11-17 11:02:53 +0000
@@ -0,0 +1,21 @@
+select @@global.innodb_sort_buf_size;
+@@global.innodb_sort_buf_size
+1048576
+select @@session.innodb_sort_buf_size;
+ERROR HY000: Variable 'innodb_sort_buf_size' is a GLOBAL variable
+show global variables like 'innodb_sort_buf_size';
+Variable_name	Value
+innodb_sort_buf_size	1048576
+show session variables like 'innodb_sort_buf_size';
+Variable_name	Value
+innodb_sort_buf_size	1048576
+select * from information_schema.global_variables where variable_name='innodb_sort_buf_size';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_SORT_BUF_SIZE	1048576
+select * from information_schema.session_variables where variable_name='innodb_sort_buf_size';
+VARIABLE_NAME	VARIABLE_VALUE
+INNODB_SORT_BUF_SIZE	1048576
+set global innodb_sort_buf_size=1;
+ERROR HY000: Variable 'innodb_sort_buf_size' is a read only variable
+set session innodb_sort_buf_size=1;
+ERROR HY000: Variable 'innodb_sort_buf_size' is a read only variable

=== added file 'mysql-test/suite/sys_vars/t/innodb_disable_sort_file_cache_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_disable_sort_file_cache_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_disable_sort_file_cache_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,70 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_disable_sort_file_cache;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF' 
+select @@global.innodb_disable_sort_file_cache in (0, 1);
+select @@global.innodb_disable_sort_file_cache;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_disable_sort_file_cache;
+show global variables like 'innodb_disable_sort_file_cache';
+show session variables like 'innodb_disable_sort_file_cache';
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+
+#
+# show that it's writable
+#
+set global innodb_disable_sort_file_cache='OFF';
+select @@global.innodb_disable_sort_file_cache;
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+set @@global.innodb_disable_sort_file_cache=1;
+select @@global.innodb_disable_sort_file_cache;
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+set global innodb_disable_sort_file_cache=0;
+select @@global.innodb_disable_sort_file_cache;
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+set @@global.innodb_disable_sort_file_cache='ON';
+select @@global.innodb_disable_sort_file_cache;
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+--error ER_GLOBAL_VARIABLE
+set session innodb_disable_sort_file_cache='OFF';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_disable_sort_file_cache='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_disable_sort_file_cache=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_disable_sort_file_cache=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_disable_sort_file_cache=2;
+--echo NOTE: The following should fail with ER_WRONG_VALUE_FOR_VAR (BUG#50643)
+set global innodb_disable_sort_file_cache=-3;
+select @@global.innodb_disable_sort_file_cache;
+select * from information_schema.global_variables where variable_name='innodb_disable_sort_file_cache';
+select * from information_schema.session_variables where variable_name='innodb_disable_sort_file_cache';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_disable_sort_file_cache='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_disable_sort_file_cache = @start_global_value;
+SELECT @@global.innodb_disable_sort_file_cache;

=== added file 'mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_aux_table_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,41 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_aux_table;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_aux_table;
+show global variables like 'innodb_ft_aux_table';
+show session variables like 'innodb_ft_aux_table';
+select * from information_schema.global_variables where variable_name='innodb_ft_aux_table';
+select * from information_schema.session_variables where variable_name='innodb_ft_aux_table';
+
+--error ER_GLOBAL_VARIABLE
+set session innodb_ft_aux_table='Salmon';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_ft_aux_table='Salmon';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_aux_table=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_aux_table=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_aux_table='Salmon';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_ft_aux_table = @start_global_value;
+SELECT @@global.innodb_ft_aux_table;

=== added file 'mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_cache_size_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,26 @@
+
+#
+#  2011-11-17 - Added 
+#
+
+--source include/have_innodb.inc
+
+#
+# show the global and session values;
+#
+select @@global.innodb_ft_cache_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_cache_size;
+show global variables like 'innodb_ft_cache_size';
+show session variables like 'innodb_ft_cache_size';
+select * from information_schema.global_variables where variable_name='innodb_ft_cache_size';
+select * from information_schema.session_variables where variable_name='innodb_ft_cache_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_ft_cache_size=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_ft_cache_size=1;
+

=== added file 'mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_enable_diag_print_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,70 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_enable_diag_print;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF' 
+select @@global.innodb_ft_enable_diag_print in (0, 1);
+select @@global.innodb_ft_enable_diag_print;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_enable_diag_print;
+show global variables like 'innodb_ft_enable_diag_print';
+show session variables like 'innodb_ft_enable_diag_print';
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+
+#
+# show that it's writable
+#
+set global innodb_ft_enable_diag_print='OFF';
+select @@global.innodb_ft_enable_diag_print;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+set @@global.innodb_ft_enable_diag_print=1;
+select @@global.innodb_ft_enable_diag_print;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+set global innodb_ft_enable_diag_print=0;
+select @@global.innodb_ft_enable_diag_print;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+set @@global.innodb_ft_enable_diag_print='ON';
+select @@global.innodb_ft_enable_diag_print;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+--error ER_GLOBAL_VARIABLE
+set session innodb_ft_enable_diag_print='OFF';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_ft_enable_diag_print='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_enable_diag_print=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_enable_diag_print=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_enable_diag_print=2;
+--echo NOTE: The following should fail with ER_WRONG_VALUE_FOR_VAR (BUG#50643)
+set global innodb_ft_enable_diag_print=-3;
+select @@global.innodb_ft_enable_diag_print;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_diag_print';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_diag_print';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_enable_diag_print='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_ft_enable_diag_print = @start_global_value;
+SELECT @@global.innodb_ft_enable_diag_print;

=== added file 'mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_enable_stopword_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,84 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_enable_stopword;
+SELECT @start_global_value;
+
+#
+# exists as global and session 
+#
+--echo Valid values are 'ON' and 'OFF' 
+select @@global.innodb_ft_enable_stopword in (0, 1);
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword in (0, 1);
+select @@session.innodb_ft_enable_stopword;
+show global variables like 'innodb_ft_enable_stopword';
+show session variables like 'innodb_ft_enable_stopword';
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+
+#
+# show that it's writable
+#
+set global innodb_ft_enable_stopword='OFF';
+set session innodb_ft_enable_stopword='OFF';
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+set @@global.innodb_ft_enable_stopword=1;
+set @@session.innodb_ft_enable_stopword=1;
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+set global innodb_ft_enable_stopword=0;
+set session innodb_ft_enable_stopword=0;
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+set @@global.innodb_ft_enable_stopword='ON';
+set @@session.innodb_ft_enable_stopword='ON';
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_enable_stopword=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set session innodb_ft_enable_stopword=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_enable_stopword=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set session innodb_ft_enable_stopword=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_enable_stopword=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set session innodb_ft_enable_stopword=2;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_enable_stopword='AUTO';
+--error ER_WRONG_VALUE_FOR_VAR
+set session innodb_ft_enable_stopword='AUTO';
+--echo NOTE: The following should fail with ER_WRONG_VALUE_FOR_VAR (BUG#50643)
+set global innodb_ft_enable_stopword=-3;
+set session innodb_ft_enable_stopword=-7;
+select @@global.innodb_ft_enable_stopword;
+select @@session.innodb_ft_enable_stopword;
+select * from information_schema.global_variables where variable_name='innodb_ft_enable_stopword';
+select * from information_schema.session_variables where variable_name='innodb_ft_enable_stopword';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_ft_enable_stopword = @start_global_value;
+SELECT @@global.innodb_ft_enable_stopword;

=== added file 'mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_max_token_size_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,26 @@
+
+#
+#  2011-11-17 - Added 
+#
+
+--source include/have_innodb.inc
+
+#
+# show the global and session values;
+#
+select @@global.innodb_ft_max_token_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_max_token_size;
+show global variables like 'innodb_ft_max_token_size';
+show session variables like 'innodb_ft_max_token_size';
+select * from information_schema.global_variables where variable_name='innodb_ft_max_token_size';
+select * from information_schema.session_variables where variable_name='innodb_ft_max_token_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_ft_max_token_size=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_ft_max_token_size=1;
+

=== added file 'mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_min_token_size_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,26 @@
+
+#
+#  2011-11-17 - Added 
+#
+
+--source include/have_innodb.inc
+
+#
+# show the global and session values;
+#
+select @@global.innodb_ft_min_token_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_min_token_size;
+show global variables like 'innodb_ft_min_token_size';
+show session variables like 'innodb_ft_min_token_size';
+select * from information_schema.global_variables where variable_name='innodb_ft_min_token_size';
+select * from information_schema.session_variables where variable_name='innodb_ft_min_token_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_ft_min_token_size=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_ft_min_token_size=1;
+

=== added file 'mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_num_word_optimize_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,52 @@
+
+#
+# 2011-11-17 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_num_word_optimize;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are zero or above
+select @@global.innodb_ft_num_word_optimize >=1000;
+select @@global.innodb_ft_num_word_optimize;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_num_word_optimize;
+show global variables like 'innodb_ft_num_word_optimize';
+show session variables like 'innodb_ft_num_word_optimize';
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+select * from information_schema.session_variables where variable_name='innodb_ft_num_word_optimize';
+
+#
+# show that it's writable
+#
+set global innodb_ft_num_word_optimize=1000;
+select @@global.innodb_ft_num_word_optimize;
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+select * from information_schema.session_variables where variable_name='innodb_ft_num_word_optimize';
+--error ER_GLOBAL_VARIABLE
+set session innodb_ft_num_word_optimize=1000;
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_num_word_optimize=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_num_word_optimize=1e1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_num_word_optimize="foo";
+
+set global innodb_ft_num_word_optimize=-7;
+select @@global.innodb_ft_num_word_optimize;
+select * from information_schema.global_variables where variable_name='innodb_ft_num_word_optimize';
+
+#
+# cleanup
+#
+SET @@global.innodb_ft_num_word_optimize = @start_global_value;
+SELECT @@global.innodb_ft_num_word_optimize;

=== added file 'mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_server_stopword_table_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,41 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_server_stopword_table;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_server_stopword_table;
+show global variables like 'innodb_ft_server_stopword_table';
+show session variables like 'innodb_ft_server_stopword_table';
+select * from information_schema.global_variables where variable_name='innodb_ft_server_stopword_table';
+select * from information_schema.session_variables where variable_name='innodb_ft_server_stopword_table';
+
+--error ER_GLOBAL_VARIABLE
+set session innodb_ft_server_stopword_table='Salmon';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_ft_server_stopword_table='Salmon';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_server_stopword_table=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_server_stopword_table=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_server_stopword_table='Salmon';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_ft_server_stopword_table = @start_global_value;
+SELECT @@global.innodb_ft_server_stopword_table;

=== added file 'mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_sort_pll_degree_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,26 @@
+
+#
+#  2011-11-17 - Added 
+#
+
+--source include/have_innodb.inc
+
+#
+# show the global and session values;
+#
+select @@global.innodb_ft_sort_pll_degree;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_ft_sort_pll_degree;
+show global variables like 'innodb_ft_sort_pll_degree';
+show session variables like 'innodb_ft_sort_pll_degree';
+select * from information_schema.global_variables where variable_name='innodb_ft_sort_pll_degree';
+select * from information_schema.session_variables where variable_name='innodb_ft_sort_pll_degree';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_ft_sort_pll_degree=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_ft_sort_pll_degree=1;
+

=== added file 'mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_ft_user_stopword_table_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,37 @@
+
+
+# 2011-11-15 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_ft_user_stopword_table;
+SELECT @start_global_value;
+
+#
+# exists as session as well
+#
+select @@session.innodb_ft_user_stopword_table;
+
+show global variables like 'innodb_ft_user_stopword_table';
+show session variables like 'innodb_ft_user_stopword_table';
+
+select * from information_schema.global_variables where variable_name='innodb_ft_user_stopword_table';
+select * from information_schema.session_variables where variable_name='innodb_ft_user_stopword_table';
+
+--error ER_WRONG_VALUE_FOR_VAR
+set session innodb_ft_user_stopword_table='Salmon';
+
+--error ER_WRONG_VALUE_FOR_VAR
+set @@session.innodb_ft_user_stopword_table='Salmon';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_user_stopword_table=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_ft_user_stopword_table=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_ft_user_stopword_table='Salmon';
+

=== added file 'mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_optimize_fulltext_only_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,70 @@
+
+
+# 2011-11-16 - Added
+#
+
+--source include/have_innodb.inc
+
+SET @start_global_value = @@global.innodb_optimize_fulltext_only;
+SELECT @start_global_value;
+
+#
+# exists as global only
+#
+--echo Valid values are 'ON' and 'OFF' 
+select @@global.innodb_optimize_fulltext_only in (0, 1);
+select @@global.innodb_optimize_fulltext_only;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_optimize_fulltext_only;
+show global variables like 'innodb_optimize_fulltext_only';
+show session variables like 'innodb_optimize_fulltext_only';
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+
+#
+# show that it's writable
+#
+set global innodb_optimize_fulltext_only='ON';
+select @@global.innodb_optimize_fulltext_only;
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+set @@global.innodb_optimize_fulltext_only=0;
+select @@global.innodb_optimize_fulltext_only;
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+set global innodb_optimize_fulltext_only=1;
+select @@global.innodb_optimize_fulltext_only;
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+set @@global.innodb_optimize_fulltext_only='OFF';
+select @@global.innodb_optimize_fulltext_only;
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+--error ER_GLOBAL_VARIABLE
+set session innodb_optimize_fulltext_only='OFF';
+--error ER_GLOBAL_VARIABLE
+set @@session.innodb_optimize_fulltext_only='ON';
+
+#
+# incorrect types
+#
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_optimize_fulltext_only=1.1;
+--error ER_WRONG_TYPE_FOR_VAR
+set global innodb_optimize_fulltext_only=1e1;
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_optimize_fulltext_only=2;
+--echo NOTE: The following should fail with ER_WRONG_VALUE_FOR_VAR (BUG#50643)
+set global innodb_optimize_fulltext_only=-3;
+select @@global.innodb_optimize_fulltext_only;
+select * from information_schema.global_variables where variable_name='innodb_optimize_fulltext_only';
+select * from information_schema.session_variables where variable_name='innodb_optimize_fulltext_only';
+--error ER_WRONG_VALUE_FOR_VAR
+set global innodb_optimize_fulltext_only='AUTO';
+
+#
+# Cleanup
+#
+
+SET @@global.innodb_optimize_fulltext_only = @start_global_value;
+SELECT @@global.innodb_optimize_fulltext_only;

=== added file 'mysql-test/suite/sys_vars/t/innodb_sort_buf_size_basic.test'
--- a/mysql-test/suite/sys_vars/t/innodb_sort_buf_size_basic.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/innodb_sort_buf_size_basic.test	2011-11-17 11:02:53 +0000
@@ -0,0 +1,26 @@
+
+#
+#  2011-11-17 - Added 
+#
+
+--source include/have_innodb.inc
+
+#
+# show the global and session values;
+#
+select @@global.innodb_sort_buf_size;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+select @@session.innodb_sort_buf_size;
+show global variables like 'innodb_sort_buf_size';
+show session variables like 'innodb_sort_buf_size';
+select * from information_schema.global_variables where variable_name='innodb_sort_buf_size';
+select * from information_schema.session_variables where variable_name='innodb_sort_buf_size';
+
+#
+# show that it's read-only
+#
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set global innodb_sort_buf_size=1;
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
+set session innodb_sort_buf_size=1;
+

=== modified file 'mysql-test/t/group_by.test'
--- a/mysql-test/t/group_by.test	2011-11-11 08:11:38 +0000
+++ b/mysql-test/t/group_by.test	2011-11-17 10:09:13 +0000
@@ -1505,3 +1505,36 @@ let $q_body=t2.col2 FROM t2 JOIN t1 ON t
 
 --echo
 DROP TABLE t1,t2;
+
+--echo #
+--echo # Bug#11761078: 53534: INCORRECT 'SELECT SQL_BIG_RESULT...' 
+--echo #               WITH GROUP BY ON DUPLICATED FIELDS
+--echo #
+
+CREATE TABLE t1(
+ col1 int, 
+ UNIQUE INDEX idx (col1)
+);
+
+INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
+
+let $query=SELECT SQL_BIG_RESULT col1 AS field1, col1 AS field2
+           FROM t1 GROUP BY field1, field2;
+
+# Needs to be range to exercise bug
+--eval EXPLAIN $query;
+--eval $query;
+
+CREATE VIEW v1 AS SELECT * FROM t1;
+
+SELECT SQL_BIG_RESULT col1 AS field1, col1 AS field2
+FROM v1 
+GROUP BY field1, field2; 
+
+SELECT SQL_BIG_RESULT tbl1.col1 AS field1, tbl2.col1 AS field2
+FROM t1 as tbl1, t1 as tbl2 
+GROUP BY field1, field2 
+LIMIT 3;
+
+DROP VIEW v1;
+DROP TABLE t1;

=== modified file 'mysql-test/valgrind.supp'
--- a/mysql-test/valgrind.supp	2011-11-16 07:31:31 +0000
+++ b/mysql-test/valgrind.supp	2011-11-17 17:01:38 +0000
@@ -187,70 +187,6 @@
    fun:longest_match
    fun:deflate_slow
    fun:deflate
-   fun:do_flush
-}
-
-{
-   libz longest_match called from btr_store_big_rec_extern_fields
-   Memcheck:Cond
-   fun:longest_match
-   fun:deflate_slow
-   fun:deflate
-   fun:btr_store_big_rec_extern_fields
-}
-
-{
-   libz longest_match called from page_zip_compress
-   Memcheck:Cond
-   fun:longest_match
-   fun:deflate_slow
-   fun:deflate
-   fun:page_zip_compress
-}
-
-{
-   libz longest_match2
-   Memcheck:Cond
-   fun:longest_match
-   fun:deflate_slow
-   fun:deflate
-   fun:compress2
-}
-
-{
-   libz longest_match 3
-   Memcheck:Cond
-   fun:longest_match
-   fun:deflate_slow
-   fun:deflate
-   fun:gzclose
-}
-
-{
-   libz longest_match 4
-   Memcheck:Cond
-   fun:longest_match
-   fun:deflate_slow
-   fun:deflate
-   fun:gzflush
-}
-
-{
-   libz longest_match3
-   Memcheck:Cond
-   fun:longest_match
-   fun:deflate_slow
-   fun:deflate
-   fun:azflush
-}
-
-{
-   libz longest_match3
-   Memcheck:Cond
-   fun:longest_match
-   fun:deflate_slow
-   fun:deflate
-   fun:azclose
 }
 
 {

=== modified file 'scripts/mysql_config.sh'
--- a/scripts/mysql_config.sh	2011-11-08 14:33:41 +0000
+++ b/scripts/mysql_config.sh	2011-11-17 14:51:28 +0000
@@ -116,16 +116,6 @@ libs_r=" $ldflags -L$pkglibdir -lmysqlcl
 embedded_libs=" $ldflags -L$pkglibdir -lmysqld @LIBDL@ @ZLIB_DEPS@ @LIBS@ @WRAPLIBS@ @openssl_libs@ "
 embedded_libs="$embedded_libs @QUOTED_CMAKE_CXX_LINK_FLAGS@"
 
-if [ -r "$pkglibdir/libmygcc.a" ]; then
-  # When linking against the static library with a different version of GCC
-  # from what was used to compile the library, some symbols may not be defined
-  # automatically.  We package the libmygcc.a from the build host, to provide
-  # definitions for those.  Bugs 4921, 19561, 19817, 21158, etc.
-  libs="$libs -lmygcc "
-  libs_r="$libs_r -lmygcc "
-  embedded_libs="$embedded_libs -lmygcc "
-fi
-
 cflags="-I$pkgincludedir @CFLAGS@ " #note: end space!
 cxxflags="-I$pkgincludedir @CXXFLAGS@ " #note: end space!
 include="-I$pkgincludedir"

=== modified file 'sql/CMakeLists.txt'
--- a/sql/CMakeLists.txt	2011-10-28 12:45:35 +0000
+++ b/sql/CMakeLists.txt	2011-11-17 11:40:29 +0000
@@ -190,6 +190,15 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATI
   ${LIBWRAP} ${LIBCRYPT} ${LIBDL}
   ${SSL_LIBRARIES})
 
+#
+# On Windows platform we compile in the clinet-side Windows Native Authentication
+# plugin which is used by the client connection code included in the server.
+#
+IF(WIN32)
+  ADD_DEFINITIONS(-DAUTHENTICATION_WIN)
+  TARGET_LINK_LIBRARIES(sql auth_win_client)
+ENDIF() 
+
 SET (BINLOG_SOURCE log_event.cc log_event_old.cc binlog.cc sql_binlog.cc
 		   rpl_filter.cc rpl_record.cc rpl_record_old.cc rpl_utility.cc
 		   rpl_injector.cc)

=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc	2011-11-16 07:36:28 +0000
+++ b/sql/mysqld.cc	2011-11-17 21:44:20 +0000
@@ -7857,12 +7857,22 @@ mysqld_get_one_option(int optid,
     
     /* Assignment required */
     if (!(p= strchr(argument, '=')))
+    {
+       my_getopt_error_reporter(WARNING_LEVEL,
+                             "Missing value for performance_schema_instrument "
+                             "'%s'", argument);
       return 0;
+    }
     
     /* Option value */
     val= p + 1;
     if (!*val)
+    {
+       my_getopt_error_reporter(WARNING_LEVEL,
+                             "Missing value for performance_schema_instrument "
+                             "'%s'", argument);
       return 0;
+    }
     
     /* Trim leading spaces from instrument name */
     while (*name && my_isspace(mysqld_charset, *name))
@@ -7874,12 +7884,16 @@ mysqld_get_one_option(int optid,
     *p= 0;
 
     if (!*name)
+    {
+       my_getopt_error_reporter(WARNING_LEVEL,
+                             "Invalid instrument name for "
+                             "performance_schema_instrument '%s'", argument);
       return 0;
+    }
 
     /* Trim leading and trailing spaces from option value */
     while (*val && my_isspace(mysqld_charset, *val))
       val++;
-
     p= val + strlen(val);
 
     while(p > val && my_isspace(mysqld_charset, p[-1]))
@@ -7887,10 +7901,22 @@ mysqld_get_one_option(int optid,
     *p= 0;
 
     if (!*val)
+    {
+       my_getopt_error_reporter(WARNING_LEVEL,
+                             "Invalid value for performance_schema_instrument "
+                             "'%s'", argument);
       return 0;
+    }
 
     /* Add instrument name and value to array of configuration options */
-    add_pfs_instr_to_array(name, val);
+    if (add_pfs_instr_to_array(name, val))
+    {
+       my_getopt_error_reporter(WARNING_LEVEL,
+                             "Invalid value for performance_schema_instrument "
+                             "'%s'", argument);
+      return 0;
+    }
+
 #endif
     break;
   }

=== modified file 'sql/sql_select.cc'
--- a/sql/sql_select.cc	2011-11-11 12:36:01 +0000
+++ b/sql/sql_select.cc	2011-11-17 10:09:13 +0000
@@ -101,6 +101,8 @@ static bool make_join_readinfo(JOIN *joi
 static bool only_eq_ref_tables(JOIN *join, ORDER *order, table_map tables,
                                table_map *cached_eq_ref_tables,
                                table_map *eq_ref_tables);
+static bool duplicate_order(const ORDER *first_order, 
+                            const ORDER *possible_dup);
 static void update_depend_map(JOIN *join);
 static void update_depend_map(JOIN *join, ORDER *order);
 static ORDER *remove_const(JOIN *join,ORDER *first_order,Item *cond,
@@ -13236,6 +13238,45 @@ only_eq_ref_tables(JOIN *join, ORDER *or
   return true;
 }
 
+/**
+  Check if an expression in ORDER BY or GROUP BY is a duplicate of a
+  preceding expression.
+
+  @param  first_order   the first expression in the ORDER BY or
+                        GROUP BY clause
+  @param  possible_dup  the expression that might be a duplicate of
+                        another expression preceding it the ORDER BY
+                        or GROUP BY clause
+
+  @returns true if possible_dup is a duplicate, false otherwise
+*/
+static bool duplicate_order(const ORDER *first_order, 
+                            const ORDER *possible_dup)
+{
+  const ORDER *order;
+  for (order=first_order; order ; order=order->next)
+  {
+    if (order == possible_dup)
+    {
+      // all expressions preceding possible_dup have been checked.
+      return false;
+    }
+    else 
+    {
+      const Item *it1= order->item[0]->real_item();
+      const Item *it2= possible_dup->item[0]->real_item();
+
+      if (it1->type() == Item::FIELD_ITEM &&
+          it2->type() == Item::FIELD_ITEM &&
+          (static_cast<const Item_field*>(it1)->field ==
+           static_cast<const Item_field*>(it2)->field))
+      {
+        return true;
+      }
+    }
+  }
+  return false;
+}
 
 /** Update the dependency map for the tables. */
 
@@ -13376,6 +13417,16 @@ remove_const(JOIN *join,ORDER *first_ord
       trace_one_item.add("uses_only_constant_tables", true);
       continue;					// skip const item
     }
+    else if (duplicate_order(first_order, order))
+    {
+      /* 
+        If 'order' is a duplicate of an expression earlier in the
+        ORDER/GROUP BY sequence, it can be removed from the ORDER BY
+        or GROUP BY clause.
+      */
+      trace_one_item.add("duplicate_item", true);
+      continue;
+    }
     else
     {
       if (order_tables & (RAND_TABLE_BIT | OUTER_REF_TABLE_BIT))

=== modified file 'sql/sys_vars.cc'
--- a/sql/sys_vars.cc	2011-11-16 07:36:28 +0000
+++ b/sql/sys_vars.cc	2011-11-17 21:44:20 +0000
@@ -87,7 +87,7 @@ static Sys_var_mybool Sys_pfs_enabled(
 
 static Sys_var_charptr Sys_pfs_instrument(
        "performance_schema_instrument",
-       "Enable a performance schema instrument.",
+       "Default startup value for a performance schema instrument.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_pfs_instrument),
        CMD_LINE(OPT_ARG, OPT_PFS_INSTRUMENT),
        IN_FS_CHARSET,
@@ -96,77 +96,77 @@ static Sys_var_charptr Sys_pfs_instrumen
 
 static Sys_var_mybool Sys_pfs_consumer_events_stages_current(
        "performance_schema_consumer_events_stages_current",
-       "Enable the events_stages_current consumer.",
+       "Default startup value for the events_stages_current consumer.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_stages_current_enabled),
        CMD_LINE(OPT_ARG), DEFAULT(FALSE),
        PFS_TRAILING_PROPERTIES);
 
 static Sys_var_mybool Sys_pfs_consumer_events_stages_history(
        "performance_schema_consumer_events_stages_history",
-       "Enable the events_stages_history consumer.",
+       "Default startup value for the events_stages_history consumer.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_stages_history_enabled),
        CMD_LINE(OPT_ARG), DEFAULT(FALSE),
        PFS_TRAILING_PROPERTIES);
 
 static Sys_var_mybool Sys_pfs_consumer_events_stages_history_long(
        "performance_schema_consumer_events_stages_history_long",
-       "Enable the events_stages_history_long consumer.",
+       "Default startup value for the events_stages_history_long consumer.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_stages_history_long_enabled),
        CMD_LINE(OPT_ARG), DEFAULT(FALSE),
        PFS_TRAILING_PROPERTIES);
 
 static Sys_var_mybool Sys_pfs_consumer_events_statements_current(
        "performance_schema_consumer_events_statements_current",
-       "Enable the events_statements_current consumer.",
+       "Default startup value for the events_statements_current consumer.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_statements_current_enabled),
        CMD_LINE(OPT_ARG), DEFAULT(TRUE),
        PFS_TRAILING_PROPERTIES);
 
 static Sys_var_mybool Sys_pfs_consumer_events_statements_history(
        "performance_schema_consumer_events_statements_history",
-       "Enable the events_statements_history consumer.",
+       "Default startup value for the events_statements_history consumer.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_statements_history_enabled),
        CMD_LINE(OPT_ARG), DEFAULT(FALSE),
        PFS_TRAILING_PROPERTIES);
 
 static Sys_var_mybool Sys_pfs_consumer_events_statements_history_long(
        "performance_schema_consumer_events_statements_history_long",
-       "Enable the events_statements_history_long consumer.",
+       "Default startup value for the events_statements_history_long consumer.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_statements_history_long_enabled),
        CMD_LINE(OPT_ARG), DEFAULT(FALSE),
        PFS_TRAILING_PROPERTIES);
 
 static Sys_var_mybool Sys_pfs_consumer_events_waits_current(
        "performance_schema_consumer_events_waits_current",
-       "Enable the events_waits_current consumer.",
+       "Default startup value for the events_waits_current consumer.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_waits_current_enabled),
        CMD_LINE(OPT_ARG), DEFAULT(FALSE),
        PFS_TRAILING_PROPERTIES);
 
 static Sys_var_mybool Sys_pfs_consumer_events_waits_history(
        "performance_schema_consumer_events_waits_history",
-       "Enable the events_waits_history consumer.",
+       "Default startup value for the events_waits_history consumer.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_waits_history_enabled),
        CMD_LINE(OPT_ARG), DEFAULT(FALSE),
        PFS_TRAILING_PROPERTIES);
 
 static Sys_var_mybool Sys_pfs_consumer_events_waits_history_long(
        "performance_schema_consumer_events_waits_history_long",
-       "Enable the events_waits_history_long consumer.",
+       "Default startup value for the events_waits_history_long consumer.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_waits_history_long_enabled),
        CMD_LINE(OPT_ARG), DEFAULT(FALSE),
        PFS_TRAILING_PROPERTIES);
 
 static Sys_var_mybool Sys_pfs_consumer_global_instrumentation(
        "performance_schema_consumer_global_instrumentation",
-       "Enable the global_instrumentation consumer.",
+       "Default startup value for the global_instrumentation consumer.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_global_instrumentation_enabled),
        CMD_LINE(OPT_ARG), DEFAULT(TRUE),
        PFS_TRAILING_PROPERTIES);
 
 static Sys_var_mybool Sys_pfs_consumer_thread_instrumentation(
        "performance_schema_consumer_thread_instrumentation",
-       "Enable the thread_instrumentation consumer.",
+       "Default startup value for the thread_instrumentation consumer.",
        READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_thread_instrumentation_enabled),
        CMD_LINE(OPT_ARG), DEFAULT(TRUE),
        PFS_TRAILING_PROPERTIES);

=== modified file 'storage/innobase/fts/fts0fts.c'
--- a/storage/innobase/fts/fts0fts.c	2011-11-14 17:18:11 +0000
+++ b/storage/innobase/fts/fts0fts.c	2011-11-17 14:26:59 +0000
@@ -3202,7 +3202,6 @@ fts_add_doc_by_id(
 	fts_cache_t*   	cache = ftt->table->fts->cache;
 	dict_index_t*   clust_index;
 	dict_table_t*	table; 
-	dict_index_t*	index;
 	dtuple_t*	tuple; 
 	doc_id_t        temp_doc_id;
 	dfield_t*       dfield;
@@ -3225,7 +3224,6 @@ fts_add_doc_by_id(
 	ut_ad(get_doc);
 
 	table = get_doc->index_cache->index->table;
-	index = get_doc->index_cache->index;
 
 	heap = mem_heap_create(512);
 	
@@ -5326,12 +5324,10 @@ fts_savepoint_laststmt_refresh(
         trx_t*          trx)            /*!< in: transaction */
 {
 
-	mem_heap_t*             heap;
 	fts_trx_t*              fts_trx;
 	fts_savepoint_t*        savepoint;
 
 	fts_trx = trx->fts_trx;
-	heap = fts_trx->heap;
 
 	savepoint = ib_vector_pop(fts_trx->last_stmt);
 	fts_savepoint_free(savepoint);
@@ -6129,7 +6125,6 @@ fts_init_index(
 	ibool		has_cache_lock)	/*!< in: Whether we already have
 					cache lock */
 {
-	ulint           error = DB_SUCCESS;
 	doc_id_t        start_doc;
 	fts_cache_t*    cache = table->fts->cache;
 	fts_get_doc_t*  get_doc = NULL;
@@ -6154,7 +6149,7 @@ fts_init_index(
 	start_doc = cache->synced_doc_id;
 
 	if (!start_doc) {
-		error = fts_cmp_set_sync_doc_id(table, 0, TRUE, &start_doc);
+		fts_cmp_set_sync_doc_id(table, 0, TRUE, &start_doc);
 		cache->synced_doc_id = start_doc;
 	}
 

=== modified file 'storage/innobase/fts/fts0opt.c'
--- a/storage/innobase/fts/fts0opt.c	2011-11-04 17:13:10 +0000
+++ b/storage/innobase/fts/fts0opt.c	2011-11-17 14:26:59 +0000
@@ -1738,10 +1738,9 @@ fts_optimize_get_time_limit(
 	trx_t*		trx,			/*!< in: transaction */
 	fts_table_t*	fts_table)		/*!< in: aux table */
 {
-	ulint		error;
 	ib_time_t	time_limit = 0;
 
-	error = fts_config_get_ulint(
+	fts_config_get_ulint(
 		trx, fts_table,
 		FTS_OPTIMIZE_LIMIT_IN_SECS, (ulint*) &time_limit);
 
@@ -2120,13 +2119,10 @@ fts_optimize_purge_deleted_doc_id_snapsh
 /*=======================================*/
 	fts_optimize_t*	optim)	/*!< in: optimize instance */
 {
-	pars_info_t*	info;
 	ulint		error;
 	que_t*		graph;
 	char*		sql_str;
 
-	info = pars_info_create();
-
 	/* Since we only replace the table_id and don't construct
 	the full name, we do the '%s' substitution ourselves. */
 	sql_str = ut_strreplace(fts_end_delete_sql, "%s", optim->name_prefix);
@@ -2346,8 +2342,9 @@ fts_optimize_reset_start_time(
 /*==========================*/
 	fts_optimize_t*	optim)	/*!< in: optimize instance */
 {
-	ulint		i;
 	ulint		error = DB_SUCCESS;
+#ifdef FTS_OPTIMIZE_DEBUG
+	ulint		i;
 	fts_t*		fts = optim->table->fts;
 
 	/* Optimization should have been completed for all indexes. */
@@ -2356,15 +2353,14 @@ fts_optimize_reset_start_time(
 	for (i = 0; i < ib_vector_size(fts->indexes); ++i) {
 		dict_index_t*	index;
 
-#ifdef FTS_OPTIMIZE_DEBUG
 		ib_time_t	start_time = 0;
 
 		/* Reset the start time to 0 for this index. */
 		error = fts_optimize_set_index_start_time(
 			optim->trx, index, start_time);
-#endif
 		index = ib_vector_getp(fts->indexes, i);
 	}
+#endif
 
 	if (error == DB_SUCCESS) {
 		fts_sql_commit(optim->trx);
@@ -2848,7 +2844,6 @@ fts_optimize_thread(
 	void*		arg)			/*!< in: work queue*/
 {
 	mem_heap_t*	heap;
-	ulint		error;
 	ib_vector_t*	tables;
 	ib_alloc_t*	heap_alloc;
 	ulint		current = 0;
@@ -2884,7 +2879,7 @@ fts_optimize_thread(
 
 				slot->state = FTS_STATE_RUNNING;
 
-				error = fts_optimize_table_bk(slot);
+				fts_optimize_table_bk(slot);
 			}
 
 			++current;

=== modified file 'storage/innobase/fts/fts0que.c'
--- a/storage/innobase/fts/fts0que.c	2011-11-14 17:18:11 +0000
+++ b/storage/innobase/fts/fts0que.c	2011-11-17 14:26:59 +0000
@@ -2157,7 +2157,6 @@ fts_query_phrase_search(
 	char*			src;
 	char*			state;	/* strtok_r internal state */
 	ib_vector_t*		tokens;
-	ulint			n_doc_ids = 0;
 	mem_heap_t*		heap = mem_heap_create(sizeof(fts_string_t));
 	char*			utf8 = strdup((char*) phrase->f_str);
 	ib_alloc_t*		heap_alloc;
@@ -2167,10 +2166,6 @@ fts_query_phrase_search(
 
 	tokens = ib_vector_create(heap_alloc, sizeof(fts_string_t), 4);
 
-	if (query->doc_ids) {
-		n_doc_ids = rbt_size(query->doc_ids);
-	}
-
 	if (query->distance != ULINT_UNDEFINED && query->distance > 0) {
 		query->flags = FTS_PROXIMITY;
 	} else {

=== modified file 'storage/innobase/handler/ha_innodb.cc'
--- a/storage/innobase/handler/ha_innodb.cc	2011-11-13 16:38:51 +0000
+++ b/storage/innobase/handler/ha_innodb.cc	2011-11-17 11:02:53 +0000
@@ -12728,6 +12728,11 @@ innodb_internal_table_validate(
 
 	table_name = value->val_str(value, buff, &len);
 
+	if (!table_name) {
+		*static_cast<const char**>(save) = NULL;
+		return(0);
+	}
+
 	user_table = dict_table_open_on_name_no_stats(
 			table_name, FALSE, DICT_ERR_IGNORE_NONE);
 

=== modified file 'storage/innobase/include/rem0cmp.ic'
--- a/storage/innobase/include/rem0cmp.ic	2011-07-14 01:17:34 +0000
+++ b/storage/innobase/include/rem0cmp.ic	2011-11-17 14:26:59 +0000
@@ -134,12 +134,8 @@ cmp_dfield_dfield_like_suffix(
 	dfield_t*       dfield1,/* in: data field; must have type field set */
 	dfield_t*       dfield2)/* in: data field */
 {
-	const dtype_t*  type;
-
 	ut_ad(dfield_check_typed(dfield1));
 
-	type = dfield_get_type(dfield1);
-
 	return(cmp_data_data_like_suffix(
 		(byte*) dfield_get_data(dfield1),
 		dfield_get_len(dfield1),
@@ -159,12 +155,8 @@ cmp_dfield_dfield_like_substr(
 	dfield_t*       dfield1,/* in: data field; must have type field set */
 	dfield_t*       dfield2)/* in: data field */
 {
-	const dtype_t*  type;
-
 	ut_ad(dfield_check_typed(dfield1));
 
-	type = dfield_get_type(dfield1);
-
 	return(cmp_data_data_like_substr(
 		(byte*) dfield_get_data(dfield1),
 		dfield_get_len(dfield1),

=== modified file 'storage/innobase/row/row0ftsort.c'
--- a/storage/innobase/row/row0ftsort.c	2011-11-12 13:21:50 +0000
+++ b/storage/innobase/row/row0ftsort.c	2011-11-17 14:26:59 +0000
@@ -521,7 +521,6 @@ fts_parallel_tokenization(
 	void*		arg)	/*!< in: psort_info for the thread */
 {
 	fts_psort_t*		psort_info = (fts_psort_t*)arg;
-	ulint			id;
 	ulint			i;
 	fts_doc_item_t*		doc_item = NULL;
 	fts_doc_item_t*		prev_doc_item = NULL;
@@ -529,7 +528,6 @@ fts_parallel_tokenization(
 	ibool			processed = FALSE;
 	merge_file_t**		merge_file;
 	row_merge_block_t**	block;
-	ulint			error;
 	int			tmpfd[FTS_NUM_AUX_INDEX];
 	ulint			mycount[FTS_NUM_AUX_INDEX];
 	ib_uint64_t		total_rec = 0;
@@ -546,7 +544,6 @@ fts_parallel_tokenization(
 
 	ut_ad(psort_info);
 
-	id = psort_info->psort_id;
 	buf = psort_info->merge_buf;
 	merge_file = psort_info->merge_file;
 	blob_heap = mem_heap_create(512);
@@ -731,7 +728,7 @@ exit:
 		}
 
 		tmpfd[i] = innobase_mysql_tmpfile();
-		error = row_merge_sort(psort_info->psort_common->trx,
+		row_merge_sort(psort_info->psort_common->trx,
 				       psort_info->psort_common->sort_index,
 				       merge_file[i],
 				       (row_merge_block_t*) block[i], &tmpfd[i],

=== modified file 'storage/innobase/row/row0merge.c'
--- a/storage/innobase/row/row0merge.c	2011-11-14 05:20:25 +0000
+++ b/storage/innobase/row/row0merge.c	2011-11-17 14:26:59 +0000
@@ -263,7 +263,6 @@ row_merge_buf_add(
 	const dict_field_t*	ifield;
 	ulint			n_row_added = 0;
 	ulint			bucket = 0;
-	ulint			zip_size;
 	doc_id_t		write_doc_id;
 
 	if (buf->n_tuples >= buf->max_tuples) {
@@ -279,8 +278,6 @@ row_merge_buf_add(
 
 	n_fields = dict_index_get_n_fields(index);
 
-	zip_size = dict_table_zip_size(index->table);
-
 	entry = mem_heap_alloc(buf->heap, n_fields * sizeof *entry);
 	buf->tuples[buf->n_tuples] = entry;
 	field = entry;

=== modified file 'storage/innobase/row/row0upd.c'
--- a/storage/innobase/row/row0upd.c	2011-10-27 04:20:52 +0000
+++ b/storage/innobase/row/row0upd.c	2011-11-17 14:26:59 +0000
@@ -1434,12 +1434,9 @@ row_upd_changes_fts_columns(
 {
 	ulint		i;
 	ulint		offset;
-	dict_index_t*	clust_index;
 	fts_t*		fts = table->fts;
 	ib_vector_t*	updated_fts_indexes = NULL;
 
-	clust_index = dict_table_get_first_index(table);
-
 	for (i = 0; i < upd_get_n_fields(update); ++i) {
 		upd_field_t*	upd_field = upd_get_nth_field(update, i);
 

=== modified file 'storage/perfschema/pfs_instr_class.cc'
--- a/storage/perfschema/pfs_instr_class.cc	2011-11-16 07:05:50 +0000
+++ b/storage/perfschema/pfs_instr_class.cc	2011-11-17 21:44:20 +0000
@@ -615,9 +615,9 @@ static void configure_instr_class(PFS_in
       Consecutive wildcards affect the count.
     */
     if (!my_wildcmp(&my_charset_latin1,
-		                entry->m_name, entry->m_name+entry->m_name_length,
-		                e->m_name, e->m_name+e->m_name_length,
-		                '\\', '?','%'))
+                    entry->m_name, entry->m_name+entry->m_name_length,
+                    e->m_name, e->m_name+e->m_name_length,
+                    '\\', '?','%'))
     {
         if (e->m_name_length >= match_length)
         {

=== modified file 'storage/perfschema/pfs_instr_class.h'
--- a/storage/perfschema/pfs_instr_class.h	2011-11-09 01:38:37 +0000
+++ b/storage/perfschema/pfs_instr_class.h	2011-11-17 21:44:20 +0000
@@ -86,10 +86,6 @@ struct PFS_instr_init
   char *m_name;
   /* Name length. */
   uint m_name_length;
-  /* Instrument option value: ON, OFF, TIMED. */
-  char *m_value;
-  /* Value length. */
-  uint m_value_length;
   /** Enabled flag. */
   bool m_enabled;
   /** Timed flag. */

=== modified file 'storage/perfschema/pfs_server.cc'
--- a/storage/perfschema/pfs_server.cc	2011-11-16 01:01:44 +0000
+++ b/storage/perfschema/pfs_server.cc	2011-11-17 21:44:20 +0000
@@ -197,10 +197,16 @@ void init_pfs_instrument_array()
 }
 
 /**
-  Process one PFS_INSTRUMENT configuration string. Isolate the instrument name,
-  evaluate the option value, and store them in a dynamic array.
+  Process one performance_schema_instrument configuration string. Isolate the
+  instrument name, evaluate the option value, and store them in a dynamic array.
+  Return 'false' for success, 'true' for error.
+
+  @param name    Instrument name
+  @param value   Configuration option: 'on', 'off', etc.
+  @return 0 for success, non zero for errors
 */
-bool add_pfs_instr_to_array(const char* name, const char* value)
+
+int add_pfs_instr_to_array(const char* name, const char* value)
 {
   int name_length= strlen(name);
   int value_length= strlen(value);
@@ -210,58 +216,50 @@ bool add_pfs_instr_to_array(const char*
                        + name_length + 1 + value_length + 1, MYF(MY_WME));
   if (!e) return 1;
   
-  /* Copy the name string */
+  /* Copy the instrument name */
   e->m_name= (char*)e + sizeof(PFS_instr_init);
   memcpy(e->m_name, name, name_length);
   e->m_name_length= name_length;
   e->m_name[name_length]= '\0';
   
-  /* Copy the option string */
-  e->m_value= e->m_name + name_length + 1;
-  memcpy(e->m_value, value, value_length);
-  e->m_value_length= value_length;
-  e->m_value[value_length]= '\0';
-
-  /* Unrecognized values default to 'disabled'. */
-  e->m_enabled= false;
-  e->m_timed= false;
-  bool valid= true;
-
   /* Set flags accordingly */
-  if (!my_strcasecmp(&my_charset_latin1, e->m_value, "counted"))
+  if (!my_strcasecmp(&my_charset_latin1, value, "counted"))
   {
     e->m_enabled= true;
     e->m_timed= false;
   }
   else
-  if (!my_strcasecmp(&my_charset_latin1, e->m_value, "true") ||
-      !my_strcasecmp(&my_charset_latin1, e->m_value, "on") ||
-      !my_strcasecmp(&my_charset_latin1, e->m_value, "1") ||
-      !my_strcasecmp(&my_charset_latin1, e->m_value, "yes") ||
-      !my_strcasecmp(&my_charset_latin1, e->m_value, "enabled"))
+  if (!my_strcasecmp(&my_charset_latin1, value, "true") ||
+      !my_strcasecmp(&my_charset_latin1, value, "on") ||
+      !my_strcasecmp(&my_charset_latin1, value, "1") ||
+      !my_strcasecmp(&my_charset_latin1, value, "yes") ||
+      !my_strcasecmp(&my_charset_latin1, value, "enabled"))
   {
     e->m_enabled= true;
     e->m_timed= true;
   }
   else
-  if (!my_strcasecmp(&my_charset_latin1, e->m_value, "false") ||
-      !my_strcasecmp(&my_charset_latin1, e->m_value, "off") ||
-      !my_strcasecmp(&my_charset_latin1, e->m_value, "0") ||
-      !my_strcasecmp(&my_charset_latin1, e->m_value, "no") ||
-      !my_strcasecmp(&my_charset_latin1, e->m_value, "disabled"))
+  if (!my_strcasecmp(&my_charset_latin1, value, "false") ||
+      !my_strcasecmp(&my_charset_latin1, value, "off") ||
+      !my_strcasecmp(&my_charset_latin1, value, "0") ||
+      !my_strcasecmp(&my_charset_latin1, value, "no") ||
+      !my_strcasecmp(&my_charset_latin1, value, "disabled"))
   {
     e->m_enabled= false;
     e->m_timed= false;
   }
   else
   {
-    valid= false; /* ignore invalid option values */
+    my_free(e);
+    return 1;
   }
 
-  if (valid && insert_dynamic(&pfs_instr_init_array, &e))
+  /* Add to the array of default startup options */
+  if (insert_dynamic(&pfs_instr_init_array, &e))
   {
     my_free(e);
     return 1;
   }
+
   return 0;
 }

=== modified file 'storage/perfschema/pfs_server.h'
--- a/storage/perfschema/pfs_server.h	2011-11-09 03:49:18 +0000
+++ b/storage/perfschema/pfs_server.h	2011-11-17 21:44:20 +0000
@@ -272,7 +272,7 @@ void init_pfs_instrument_array();
 /**
   Process one PFS_INSTRUMENT configuration string.
 */
-bool add_pfs_instr_to_array(const char* name, const char* value);
+int add_pfs_instr_to_array(const char* name, const char* value);
 
 /**
   Shutdown the performance schema.

=== modified file 'support-files/mysql.spec.sh'
--- a/support-files/mysql.spec.sh	2011-10-28 12:45:35 +0000
+++ b/support-files/mysql.spec.sh	2011-11-17 14:51:28 +0000
@@ -487,23 +487,6 @@ install -d $RBR%{_sbindir}
   make DESTDIR=$RBR install
 )
 
-# For gcc builds, include libgcc.a in the devel subpackage (BUG 4921).  Do
-# this in a sub-shell to ensure we don't pollute the install environment
-# with compiler bits.
-(
-  PATH=${MYSQL_BUILD_PATH:-$PATH}
-  CC=${MYSQL_BUILD_CC:-${CC:-gcc}}
-  CFLAGS=${MYSQL_BUILD_CFLAGS:-${CFLAGS:-$RPM_OPT_FLAGS}}
-  if "${CC}" -v 2>&1 | grep '^gcc.version' >/dev/null 2>&1; then
-    libgcc=`${CC} ${CFLAGS} --print-libgcc-file`
-    if [ -f ${libgcc} ]; then
-      mkdir -p $RBR%{_libdir}/mysql
-      install -m 644 ${libgcc} $RBR%{_libdir}/mysql/libmygcc.a
-      echo "%{_libdir}/mysql/libmygcc.a" >>optional-files-devel
-    fi
-  fi
-)
-
 # FIXME: at some point we should stop doing this and just install everything
 # FIXME: directly into %{_libdir}/mysql - perhaps at the same time as renaming
 # FIXME: the shared libraries to use libmysql*-$major.$minor.so syntax

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk-wl5461 branch (chris.powers:3434 to 3438) WL#5461Christopher Powers18 Nov