← Back to team overview

maria-developers team mailing list archive

[Branch ~maria-captains/maria/5.1] Rev 2743: Merge a bunch of small fixes from release tree into main lp:maria.

 

Merge authors:
  Kristian Nielsen (knielsen)
  Peter Lieverdink <me@xxxxxxxxxxx>
  Sergey Petrunia (sergefp)
------------------------------------------------------------
revno: 2743 [merge]
committer: knielsen@xxxxxxxxxxxxxxx
branch nick: mariadb-5.1
timestamp: Tue 2009-10-06 20:37:55 +0200
message:
  Merge a bunch of small fixes from release tree into main lp:maria.
added:
  mysql-test/include/have_working_dns.inc
  mysql-test/r/have_working_dns.require
  mysql-test/r/variables_debug_notembedded.result
  mysql-test/t/variables_debug_notembedded.test
renamed:
  storage/innodb_plugin/plug.in => storage/innodb_plugin/plug.in.disabled
  storage/pbxt/src/CMakeLists.txt => storage/pbxt/CMakeLists.txt*
modified:
  BUILD/SETUP.sh
  CMakeLists.txt
  Makefile.am
  config/ac-macros/libevent.m4
  configure.in
  extra/libevent/Makefile.am
  libmysql/libmysql.def
  libmysqld/CMakeLists.txt
  libmysqld/libmysqld.def
  mysql-test/include/mtr_check.sql
  mysql-test/mysql-test-run.pl
  mysql-test/r/ctype_gbk_binlog.result
  mysql-test/r/information_schema.result
  mysql-test/r/innodb-index.result
  mysql-test/r/merge-big.result
  mysql-test/r/mysqlbinlog-cp932.result
  mysql-test/r/mysqlbinlog_row_big.result
  mysql-test/r/variables-big.result
  mysql-test/r/variables_debug.result
  mysql-test/suite/binlog/r/binlog_incident.result
  mysql-test/suite/binlog/r/binlog_tmp_table.result
  mysql-test/suite/binlog/t/binlog_incident.test
  mysql-test/suite/binlog/t/binlog_tmp_table.test
  mysql-test/suite/parts/inc/partition_key_32col.inc
  mysql-test/suite/parts/r/partition_special_innodb.result
  mysql-test/suite/parts/r/partition_special_myisam.result
  mysql-test/t/ctype_gbk_binlog.test
  mysql-test/t/events_time_zone.test
  mysql-test/t/information_schema.test
  mysql-test/t/innodb-index.test
  mysql-test/t/merge-big.test
  mysql-test/t/mysql.test
  mysql-test/t/mysql_upgrade.test
  mysql-test/t/mysqlbinlog-cp932.test
  mysql-test/t/mysqlbinlog_row_big.test
  mysql-test/t/variables-big.test
  mysql-test/t/variables_debug.test
  sql/sql_plugin.cc
  storage/maria/ma_blockrec.c
  storage/pbxt/Makefile.am
  storage/pbxt/src/Makefile.am
  storage/pbxt/src/pbms_enabled.cc
  storage/pbxt/src/thread_xt.cc
  support-files/compiler_warnings.supp
  win/Makefile.am
  storage/pbxt/CMakeLists.txt*


--
lp:maria
https://code.launchpad.net/~maria-captains/maria/5.1

Your team Maria developers is subscribed to branch lp:maria.
To unsubscribe from this branch go to https://code.launchpad.net/~maria-captains/maria/5.1/+edit-subscription.
=== modified file 'BUILD/SETUP.sh'
--- BUILD/SETUP.sh	2009-09-10 08:11:23 +0000
+++ BUILD/SETUP.sh	2009-09-29 19:02:48 +0000
@@ -173,7 +173,7 @@
 
 max_no_embedded_configs="$SSL_LIBRARY --with-plugins=max"
 max_no_ndb_configs="$SSL_LIBRARY --with-plugins=max-no-ndb --with-embedded-server --with-libevent"
-max_configs="$SSL_LIBRARY --with-plugins=max --with-embedded-server -with-libevent"
+max_configs="$SSL_LIBRARY --with-plugins=max --with-embedded-server --with-libevent"
 # Disable NDB in maria max builds
 max_configs=$max_no_ndb_configs
 

=== modified file 'CMakeLists.txt'
--- CMakeLists.txt	2009-09-15 21:20:58 +0000
+++ CMakeLists.txt	2009-10-03 19:24:13 +0000
@@ -233,6 +233,9 @@
 	# where appropriate.
 	STRING (REGEX MATCH  "MYSQL_STORAGE_ENGINE.[a-z]*" PLUGIN_NAME ${PLUGIN_FILE_CONTENT})
 	STRING (REGEX REPLACE "MYSQL_STORAGE_ENGINE.(.*)" "\\1" PLUGIN_NAME ${PLUGIN_NAME})
+        
+        #  Also remember this "xtradb"/"innobase" name discrepancy for libmysqld/CMakeLists.txt:
+        SET (plugin_dir_${PLUGIN_NAME} ${DIRNAME})
 
         IF(MYSQL_PLUGIN_MANDATORY)
           SET(WITH_${ENGINE}_STORAGE_ENGINE TRUE)
@@ -245,6 +248,7 @@
         ELSE(WITH_${ENGINE}_STORAGE_ENGINE AND MYSQL_PLUGIN_STATIC)
           SET(ENGINE_BUILD_TYPE "NONE")
         ENDIF(WITH_${ENGINE}_STORAGE_ENGINE AND MYSQL_PLUGIN_STATIC)
+
         IF (ENGINE_BUILD_TYPE STREQUAL "STATIC") 
           SET (mysql_plugin_defs  "${mysql_plugin_defs},builtin_${PLUGIN_NAME}_plugin")
           SET (MYSQLD_STATIC_ENGINE_LIBS ${MYSQLD_STATIC_ENGINE_LIBS} ${PLUGIN_NAME})

=== modified file 'Makefile.am'
--- Makefile.am	2009-09-07 20:50:10 +0000
+++ Makefile.am	2009-10-02 09:40:03 +0000
@@ -60,6 +60,11 @@
 		--srcdir=$(top_srcdir)
 	storage/myisam/myisamchk --silent --fast $(distdir)/win/data/mysql/*.MYI
 
+# Simple target to allow scripts etc. to get the name of the source
+# tarball easily.
+show-dist-name:
+	@echo "$(PACKAGE)-$(VERSION)"
+
 all-local:		@ABI_CHECK@	
 
 tags:
@@ -81,6 +86,9 @@
 # environment variable MTR_BUILD_THREAD. The script "mysql-test-run"
 # will then calculate the various port numbers it needs from this,
 # making sure each user use different ports.
+#
+# Set MTR_EXTRA_OPTIONS to add custom options for mysql-test-run,
+# like MTR_EXTRA_OPTIONS"--parallel=3 --mem".
 
 test-unit:
 	cd unittest; $(MAKE) test
@@ -90,29 +98,29 @@
 
 test-ps:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl $(force) --ps-protocol --mysqld=--binlog-format=mixed
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) $(force) --ps-protocol --mysqld=--binlog-format=mixed
 
 test-nr:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl $(force) --mysqld=--binlog-format=row
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) $(force) --mysqld=--binlog-format=row
 
 test-pr:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl $(force) $(mem) --ps-protocol --mysqld=--binlog-format=row #@libevent_test_option@
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) $(force) $(mem) --ps-protocol --mysqld=--binlog-format=row #@libevent_test_option@
 
 test-ns:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl $(force) $(mem) --mysqld=--binlog-format=mixed
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) $(force) $(mem) --mysqld=--binlog-format=mixed
 
 test-binlog-statement:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl $(force) --mysqld=--binlog-format=statement
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) $(force) --mysqld=--binlog-format=statement
 
 # This code is duplicated in "test-bt", see the Changeset comment of 2007-Dec-07
 test-embedded:
 	if [ -e bin/mysqltest_embedded -o -e libmysqld/examples/mysqltest_embedded ] ; then \
 	  cd mysql-test ; MTR_BUILD_THREAD=auto \
-	      @PERL@ ./mysql-test-run.pl --comment=embedded --force --timer \
+	      @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --comment=embedded --force --timer \
 	          --embedded-server --skip-rpl --skip-ndbcluster ; \
 	else \
 	  echo "no program found for 'embedded' tests - skipped testing" ; \
@@ -120,14 +128,14 @@
 
 test-reprepare:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl $(force) $(mem) --ps-protocol \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) $(force) $(mem) --ps-protocol \
 		--mysqld=--debug=+d,reprepare_each_statement
 
 test: test-ns test-pr
 
 smoke:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl --do-test=s
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --do-test=s
 
 test-full:	test test-nr test-ps
 
@@ -143,43 +151,43 @@
 
 test-bt:
 	-cd mysql-test ; MTR_BUILD_THREAD=auto \
-	    @PERL@ ./mysql-test-run.pl --comment=normal --force --timer \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --comment=normal --force --timer \
 	        --skip-ndbcluster --report-features
 	-cd mysql-test ; MTR_BUILD_THREAD=auto \
-	    @PERL@ ./mysql-test-run.pl  --comment=ps    --force --timer \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS)  --comment=ps    --force --timer \
 	        --skip-ndbcluster --ps-protocol
 	-if [ -e bin/ndbd -o -e storage/ndb/src/kernel/ndbd ] ; then \
 	  cd mysql-test ; \
 	    MTR_BUILD_THREAD=auto \
-	      @PERL@ ./mysql-test-run.pl --comment=ndb+rpl_ndb+ps --force --timer \
+	      @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --comment=ndb+rpl_ndb+ps --force --timer \
 	          --ps-protocol --mysqld=--binlog-format=row --suite=ndb,rpl_ndb ; \
 	    MTR_BUILD_THREAD=auto \
-	      @PERL@ ./mysql-test-run.pl --comment=ndb --force --timer \
+	      @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --comment=ndb --force --timer \
 	          --with-ndbcluster-only ; \
 	else \
 	  echo "no program found for 'ndbcluster' tests - skipped testing" ; \
 	fi
 	-cd mysql-test ; MTR_BUILD_THREAD=auto \
-	    @PERL@ ./mysql-test-run.pl --force --comment=funcs1+ps --ps-protocol --reorder --suite=funcs_1
-	-cd mysql-test ; MTR_BUILD_THREAD=auto \
-	    @PERL@ ./mysql-test-run.pl --force --comment=funcs2 --suite=funcs_2
-	-cd mysql-test ; MTR_BUILD_THREAD=auto \
-	    @PERL@ ./mysql-test-run.pl --force --comment=partitions --suite=parts
-	-cd mysql-test ; MTR_BUILD_THREAD=auto \
-	    @PERL@ ./mysql-test-run.pl --force --comment=stress --suite=stress
-	-cd mysql-test ; MTR_BUILD_THREAD=auto \
-	    @PERL@ ./mysql-test-run.pl --force --comment=jp --suite=jp
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --comment=funcs1+ps --ps-protocol --reorder --suite=funcs_1
+	-cd mysql-test ; MTR_BUILD_THREAD=auto \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --comment=funcs2 --suite=funcs_2
+	-cd mysql-test ; MTR_BUILD_THREAD=auto \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --comment=partitions --suite=parts
+	-cd mysql-test ; MTR_BUILD_THREAD=auto \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --comment=stress --suite=stress
+	-cd mysql-test ; MTR_BUILD_THREAD=auto \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --comment=jp --suite=jp
 	-if [ -d mysql-test/suite/nist ] ; then \
 	  cd mysql-test ; MTR_BUILD_THREAD=auto \
-	      @PERL@ ./mysql-test-run.pl --comment=nist --force --suite=nist ; \
+	      @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --comment=nist --force --suite=nist ; \
 	fi
 	-if [ -d mysql-test/suite/nist ] ; then \
 	  cd mysql-test ; MTR_BUILD_THREAD=auto \
-	      @PERL@ ./mysql-test-run.pl --comment=nist+ps --force --suite=nist --ps-protocol ; \
+	      @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --comment=nist+ps --force --suite=nist --ps-protocol ; \
 	fi
 	-if [ -e bin/mysqltest_embedded -o -e libmysqld/examples/mysqltest_embedded ] ; then \
 	  cd mysql-test ; MTR_BUILD_THREAD=auto \
-	      @PERL@ ./mysql-test-run.pl --comment=embedded --force --timer \
+	      @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --comment=embedded --force --timer \
 	          --embedded-server --skip-rpl --skip-ndbcluster ; \
 	else \
 	  echo "no program found for 'embedded' tests - skipped testing" ; \
@@ -187,22 +195,22 @@
 
 test-bt-fast:
 	-cd mysql-test ; MTR_BUILD_THREAD=auto \
-	    @PERL@ ./mysql-test-run.pl  --comment=ps    --force --timer \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS)  --comment=ps    --force --timer \
 	        --skip-ndbcluster --ps-protocol --report-features
 	-if [ -e bin/ndbd -o -e storage/ndb/src/kernel/ndbd ] ; then \
 	  cd mysql-test ; \
 	    MTR_BUILD_THREAD=auto \
-	      @PERL@ ./mysql-test-run.pl --comment=ndb --force --timer \
+	      @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --comment=ndb --force --timer \
 	          --with-ndbcluster-only ; \
 	else \
 	  echo "no program found for 'ndbcluster' tests - skipped testing" ; \
 	fi
 	-cd mysql-test ; MTR_BUILD_THREAD=auto \
-	    @PERL@ ./mysql-test-run.pl --force --comment=stress --suite=stress
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --comment=stress --suite=stress
 
 test-bt-debug:
 	-cd mysql-test ; MTR_BUILD_THREAD=auto \
-	    @PERL@ ./mysql-test-run.pl --comment=debug  --force --timer \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --comment=debug  --force --timer \
 	        --skip-ndbcluster --skip-rpl --report-features
 
 test-bt-debug-fast:
@@ -216,32 +224,32 @@
 
 test-ext-funcs:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl --force --reorder --suite=funcs_1 ; \
-	    @PERL@ ./mysql-test-run.pl --force --suite=funcs_2
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --reorder --suite=funcs_1 ; \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --suite=funcs_2
 
 test-ext-rpl:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl --force --suite=rpl
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --suite=rpl
 
 test-ext-partitions:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl --force --suite=parts
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --suite=parts
 
 test-ext-jp:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl --force --suite=jp
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --suite=jp
 
 test-ext-stress:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl --force --big-test --suite=stress
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) --force --big-test --suite=stress
 
 test-ext:	test-ext-funcs test-ext-rpl test-ext-partitions test-ext-jp test-ext-stress
 
 test-fast:
 	cd mysql-test ; \
-	    @PERL@ ./mysql-test-run.pl $(subset) --force --skip-ndb --skip-innodb --skip-im --skip-rpl ; \
-	    @PERL@ ./mysql-test-run.pl $(subset) --force --suite=funcs_1 --do-test=myisam ; \
-	    @PERL@ ./mysql-test-run.pl $(subset) --force --suite=stress --do-test=ddl_myisam 
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) $(subset) --force --skip-ndb --skip-innodb --skip-im --skip-rpl ; \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) $(subset) --force --suite=funcs_1 --do-test=myisam ; \
+	    @PERL@ ./mysql-test-run.pl $(MTR_EXTRA_OPTIONS) $(subset) --force --suite=stress --do-test=ddl_myisam 
 
 test-fast-view:
 	$(MAKE) subset=--view-protocol test-fast

=== modified file 'config/ac-macros/libevent.m4'
--- config/ac-macros/libevent.m4	2009-03-12 22:27:35 +0000
+++ config/ac-macros/libevent.m4	2009-09-29 23:36:15 +0000
@@ -13,7 +13,7 @@
   AC_SUBST([libevent_dir])
 
   libevent_libs="\$(top_builddir)/extra/libevent/libevent.a"
-  libevent_includes="-I\$(top_builddir)/extra/libevent"
+  libevent_includes="-I\$(top_srcdir)/extra/libevent"
   libevent_test_option="--mysqld=--thread-handling=pool-of-threads"
   AC_SUBST(libevent_libs)
   AC_SUBST(libevent_includes)

=== modified file 'configure.in'
--- configure.in	2009-10-02 10:36:28 +0000
+++ configure.in	2009-10-02 12:55:16 +0000
@@ -2697,7 +2697,7 @@
     fi
 
     # if there is no readline, but we want to build with readline, we fail
-    if [test "$want_to_use_readline" = "yes"] && [test ! -d "./cmd-line-utils/readline"]
+    if [test "$want_to_use_readline" = "yes"] && [test ! -d "$srcdir/cmd-line-utils/readline"]
     then
 	AC_MSG_ERROR([This commercially licensed MySQL source package can't
 	      be built with libreadline. Please use --with-libedit to use

=== modified file 'extra/libevent/Makefile.am'
--- extra/libevent/Makefile.am	2009-03-12 22:27:35 +0000
+++ extra/libevent/Makefile.am	2009-09-29 23:00:57 +0000
@@ -22,7 +22,7 @@
 
 BUILT_SOURCES = event-config.h
 
-event-config.h: $(top_srcdir)/include/config.h
+event-config.h: $(top_builddir)/include/config.h
 	echo '/* event-config.h' > $@
 	echo ' * Generated by autoconf; post-processed by libevent.' >> $@
 	echo ' * Do not edit this file.' >> $@
@@ -33,7 +33,7 @@
 
 	sed -e 's/#define /#define _EVENT_/' \
 	    -e 's/#undef /#undef _EVENT_/' \
-	    -e 's/#ifndef /#ifndef _EVENT_/' < $(top_srcdir)/include/config.h >> $@
+	    -e 's/#ifndef /#ifndef _EVENT_/' < $(top_builddir)/include/config.h >> $@
 	echo "#endif" >> $@
 
 AM_CPPFLAGS = -Icompat -I$(top_srcdir)/include

=== modified file 'libmysql/libmysql.def'
--- libmysql/libmysql.def	2007-11-26 18:10:26 +0000
+++ libmysql/libmysql.def	2009-10-04 22:22:57 +0000
@@ -151,3 +151,4 @@
 	mysql_get_character_set_info
 	get_defaults_options
 	modify_defaults_file
+	mysql_get_server_name

=== modified file 'libmysqld/CMakeLists.txt'
--- libmysqld/CMakeLists.txt	2009-09-07 20:50:10 +0000
+++ libmysqld/CMakeLists.txt	2009-10-03 19:24:13 +0000
@@ -88,10 +88,10 @@
 ENDFOREACH(rpath)
 
 FOREACH (ENGINE_LIB ${MYSQLD_STATIC_ENGINE_LIBS})
-  INCLUDE(${CMAKE_SOURCE_DIR}/storage/${ENGINE_LIB}/CMakeLists.txt)
+  INCLUDE(${CMAKE_SOURCE_DIR}/storage/${plugin_dir_${ENGINE_LIB}}/CMakeLists.txt)
   STRING(TOUPPER ${ENGINE_LIB} ENGINE_LIB_UPPER)
   FOREACH(rpath ${${ENGINE_LIB_UPPER}_SOURCES})
-    SET(LIB_SOURCES ${LIB_SOURCES} ${CMAKE_SOURCE_DIR}/storage/${ENGINE_LIB}/${rpath})
+    SET(LIB_SOURCES ${LIB_SOURCES} ${CMAKE_SOURCE_DIR}/storage/${plugin_dir_${ENGINE_LIB}}/${rpath})
   ENDFOREACH(rpath)
 ENDFOREACH(ENGINE_LIB)
 
@@ -112,6 +112,7 @@
            ../sql/item_xmlfunc.cc ../sql/key.cc ../sql/lock.cc ../sql/log.cc 
            ../sql/log_event.cc ../sql/mf_iocache.cc ../sql/my_decimal.cc 
            ../sql/net_serv.cc ../sql/opt_range.cc ../sql/opt_sum.cc 
+	   ../sql/opt_table_elimination.cc
            ../sql/parse_file.cc ../sql/procedure.cc ../sql/protocol.cc 
            ../sql/records.cc ../sql/repl_failsafe.cc ../sql/rpl_filter.cc
            ../sql/rpl_record.cc

=== modified file 'libmysqld/libmysqld.def'
--- libmysqld/libmysqld.def	2008-12-04 18:41:53 +0000
+++ libmysqld/libmysqld.def	2009-10-04 22:22:57 +0000
@@ -108,3 +108,4 @@
 	mysql_stmt_attr_get
 	mysql_stmt_attr_set
 	mysql_stmt_field_count
+	mysql_get_server_name

=== added file 'mysql-test/include/have_working_dns.inc'
--- mysql-test/include/have_working_dns.inc	1970-01-01 00:00:00 +0000
+++ mysql-test/include/have_working_dns.inc	2009-10-05 13:22:23 +0000
@@ -0,0 +1,11 @@
+#
+# Check if we have a working DNS.
+# Some 'wildcard dns' return some address even for non-existing hosts. This
+# makes it hard to test connections to such host names.
+# The actual check for working DNS is done in Perl, and the result available
+# in an environment variable.
+#
+--require r/have_working_dns.require
+disable_query_log;
+eval SELECT LENGTH('$HAVE_BROKEN_DNS') = 0 AS 'have_working_dns';
+enable_query_log;

=== modified file 'mysql-test/include/mtr_check.sql'
--- mysql-test/include/mtr_check.sql	2009-09-07 20:50:10 +0000
+++ mysql-test/include/mtr_check.sql	2009-10-03 23:20:51 +0000
@@ -12,7 +12,7 @@
   -- Dump all global variables except those
   -- that are supposed to change
   SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
-   WHERE variable_name != 'timestamp' AND variable_name != "debug"
+   WHERE variable_name != 'timestamp'
      AND variable_name != 'INNODB_IBUF_MAX_SIZE'
    ORDER BY variable_name;
 

=== modified file 'mysql-test/mysql-test-run.pl'
--- mysql-test/mysql-test-run.pl	2009-10-05 12:26:57 +0000
+++ mysql-test/mysql-test-run.pl	2009-10-06 18:37:55 +0000
@@ -126,13 +126,13 @@
 # executables will be used by the test suite.
 our $opt_vs_config = $ENV{'MTR_VS_CONFIG'};
 
-my $DEFAULT_SUITES= "binlog,federated,main,maria,rpl,innodb";
+my $DEFAULT_SUITES= "binlog,federated,main,maria,rpl,innodb,parts";
 my $opt_suites;
 
 our $opt_usage;
 our $opt_list_options;
 our $opt_suites;
-our $opt_suites_default= "main,backup,backup_engines,binlog,rpl"; # Default suites to run
+our $opt_suites_default= "main,backup,backup_engines,binlog,rpl,parts"; # Default suites to run
 our $opt_script_debug= 0;  # Script debugging, enable with --script-debug
 our $opt_verbose= 0;  # Verbose output, enable with --verbose
 our $exe_mysql;
@@ -844,7 +844,7 @@
              'ssl|with-openssl'         => \$opt_ssl,
              'skip-ssl'                 => \$opt_skip_ssl,
              'compress'                 => \$opt_compress,
-             'vs-config'                => \$opt_vs_config,
+             'vs-config=s'              => \$opt_vs_config,
 
 	     # Max number of parallel threads to use
 	     'parallel=s'               => \$opt_parallel,
@@ -1886,7 +1886,8 @@
   # --------------------------------------------------------------------------
   my $lib_udf_example=
     mtr_file_exists(vs_config_dirs('sql', 'udf_example.dll'),
-		    "$basedir/sql/.libs/udf_example.so",);
+		    "$basedir/sql/.libs/udf_example.so",
+                    "$basedir/lib/mysql/plugin/udf_example.so",);
 
   if ( $lib_udf_example )
   {
@@ -1913,7 +1914,8 @@
     }
     my $lib_example_plugin=
       mtr_file_exists(vs_config_dirs('storage/example',$plugin_filename),
-		      "$basedir/storage/example/.libs/".$plugin_filename);
+		      "$basedir/storage/example/.libs/".$plugin_filename,
+                      "$basedir/lib/mysql/plugin/".$plugin_filename);
     $ENV{'EXAMPLE_PLUGIN'}=
       ($lib_example_plugin ? basename($lib_example_plugin) : "");
     $ENV{'EXAMPLE_PLUGIN_OPT'}= "--plugin-dir=".
@@ -1928,7 +1930,8 @@
   # ----------------------------------------------------
   my $lib_simple_parser=
     mtr_file_exists(vs_config_dirs('plugin/fulltext', 'mypluglib.dll'),
-		    "$basedir/plugin/fulltext/.libs/mypluglib.so",);
+		    "$basedir/plugin/fulltext/.libs/mypluglib.so",
+                    "$basedir/lib/mysql/plugin/mypluglib.so",);
 
   $ENV{'SIMPLE_PARSER'}=
     ($lib_simple_parser ? basename($lib_simple_parser) : "");
@@ -2000,6 +2003,15 @@
   $ENV{'MYSQL_TMP_DIR'}=      $opt_tmpdir;
   $ENV{'MYSQLTEST_VARDIR'}=   $opt_vardir;
 
+  #
+  # Some stupid^H^H^H^H^H^Hignorant network providers set up "wildcard DNS"
+  # servers that return some given web server address for any lookup of a
+  # non-existent host name. This confuses test cases that want to test the
+  # behaviour when connecting to a non-existing host, so we need to be able
+  # to disable those tests when DNS is broken.
+  #
+  $ENV{HAVE_BROKEN_DNS}= defined(gethostbyname('invalid_hostname'));
+
   # ----------------------------------------------------
   # Setup env for NDB
   # ----------------------------------------------------

=== modified file 'mysql-test/r/ctype_gbk_binlog.result'
--- mysql-test/r/ctype_gbk_binlog.result	2009-07-07 14:18:44 +0000
+++ mysql-test/r/ctype_gbk_binlog.result	2009-09-30 06:35:31 +0000
@@ -1,3 +1,4 @@
+RESET MASTER;
 SET NAMES gbk;
 CREATE TABLE t1 (
 f1 BLOB

=== added file 'mysql-test/r/have_working_dns.require'
--- mysql-test/r/have_working_dns.require	1970-01-01 00:00:00 +0000
+++ mysql-test/r/have_working_dns.require	2009-10-05 13:22:23 +0000
@@ -0,0 +1,2 @@
+have_working_dns
+1

=== modified file 'mysql-test/r/information_schema.result'
--- mysql-test/r/information_schema.result	2009-09-23 11:03:47 +0000
+++ mysql-test/r/information_schema.result	2009-09-29 20:19:43 +0000
@@ -1385,7 +1385,7 @@
 other connection here
 SELECT IF(`time` > 0, 'OK', `time`) AS time_low,
 IF(`time` < 1000, 'OK', `time`) AS time_high,
-IF(time_ms > 900, 'OK', time_ms) AS time_ms_low,
+IF(time_ms > 1500, 'OK', time_ms) AS time_ms_low,
 IF(time_ms < 1000000, 'OK', time_ms) AS time_ms_high
 FROM INFORMATION_SCHEMA.PROCESSLIST
 WHERE ID=@tid;

=== modified file 'mysql-test/r/innodb-index.result'
--- mysql-test/r/innodb-index.result	2009-08-03 20:09:53 +0000
+++ mysql-test/r/innodb-index.result	2009-10-06 11:39:57 +0000
@@ -464,7 +464,7 @@
 drop index dc on t4;
 ERROR 42000: Can't DROP 'dc'; check that column/key exists
 alter table t3 drop foreign key dc;
-ERROR HY000: Error on rename of './test/t3' to '#sql2-temporary' (errno: 152)
+ERROR HY000: Error on rename of './test/t3' to './#sql2-temporary' (errno: 152)
 alter table t4 drop foreign key dc;
 select * from t2;
 a	b	c	d	e

=== modified file 'mysql-test/r/merge-big.result'
--- mysql-test/r/merge-big.result	2009-03-12 22:29:39 +0000
+++ mysql-test/r/merge-big.result	2009-10-03 19:12:24 +0000
@@ -7,6 +7,7 @@
 CREATE TABLE t1 (c1 INT) ENGINE= MyISAM;
 LOCK TABLE t1 WRITE;
 # connection con1
+SET @orig_debug=@@debug;
 SET GLOBAL debug="+d,sleep_open_and_lock_after_open";
 INSERT INTO t1 VALUES (1);
 # connection default
@@ -21,6 +22,6 @@
 c1
 UNLOCK TABLES;
 # connection con1
-SET GLOBAL debug="-d,sleep_open_and_lock_after_open";
+SET GLOBAL debug=@orig_debug;
 # connection default
 DROP TABLE t1;

=== modified file 'mysql-test/r/mysqlbinlog-cp932.result'
--- mysql-test/r/mysqlbinlog-cp932.result	2007-02-19 10:57:06 +0000
+++ mysql-test/r/mysqlbinlog-cp932.result	2009-09-30 06:35:31 +0000
@@ -1,4 +1,4 @@
-flush logs;
+RESET MASTER;
 create table t3 (f text character set utf8);
 create table t4 (f text character set cp932);
 flush logs;

=== modified file 'mysql-test/r/mysqlbinlog_row_big.result'
--- mysql-test/r/mysqlbinlog_row_big.result	2009-09-07 20:50:10 +0000
+++ mysql-test/r/mysqlbinlog_row_big.result	2009-10-03 23:20:51 +0000
@@ -1,9 +1,4 @@
 #
-# We need big packets.
-#
-SET @old_global_max_allowed_packet=@@global.max_allowed_packet;
-SET @@global.max_allowed_packet= 1024*1024*1024;
-#
 # Preparatory cleanup.
 #
 DROP TABLE IF EXISTS t1;
@@ -104,5 +99,4 @@
 # reset variable value to pass testcase checks
 SET @@global.max_allowed_packet = 1048576;
 DROP TABLE t1;
-SET @@global.max_allowed_packet=@old_global_max_allowed_packet;
 remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog_big_1.out

=== modified file 'mysql-test/r/variables-big.result'
--- mysql-test/r/variables-big.result	2009-09-07 20:50:10 +0000
+++ mysql-test/r/variables-big.result	2009-10-03 23:20:51 +0000
@@ -1,20 +1,20 @@
-set session transaction_prealloc_size=1024*1024*1024*1;
-select @pid_temp = (select ID from information_schema.processlist) as 'TRUE';
-TRUE
-1
-set session transaction_prealloc_size=1024*1024*1024*2;
-select @pid_temp = (select ID from information_schema.processlist) as 'TRUE';
-TRUE
-1
-set session transaction_prealloc_size=1024*1024*1024*3;
-select @pid_temp = (select ID from information_schema.processlist) as 'TRUE';
-TRUE
-1
-set session transaction_prealloc_size=1024*1024*1024*4;
-select @pid_temp = (select ID from information_schema.processlist) as 'TRUE';
-TRUE
-1
-set session transaction_prealloc_size=1024*1024*1024*5;
-select @pid_temp = (select ID from information_schema.processlist) as 'TRUE';
-TRUE
-1
+SET SESSION transaction_prealloc_size=1024*1024*1024*1;
+SHOW PROCESSLIST;
+Id	User	Host	db	Command	Time	State	Info
+<Id>	root	localhost	test	Query	<Time>	NULL	SHOW PROCESSLIST
+SET SESSION transaction_prealloc_size=1024*1024*1024*2;
+SHOW PROCESSLIST;
+Id	User	Host	db	Command	Time	State	Info
+<Id>	root	localhost	test	Query	<Time>	NULL	SHOW PROCESSLIST
+SET SESSION transaction_prealloc_size=1024*1024*1024*3;
+SHOW PROCESSLIST;
+Id	User	Host	db	Command	Time	State	Info
+<Id>	root	localhost	test	Query	<Time>	NULL	SHOW PROCESSLIST
+SET SESSION transaction_prealloc_size=1024*1024*1024*4;
+SHOW PROCESSLIST;
+Id	User	Host	db	Command	Time	State	Info
+<Id>	root	localhost	test	Query	<Time>	NULL	SHOW PROCESSLIST
+SET SESSION transaction_prealloc_size=1024*1024*1024*5;
+SHOW PROCESSLIST;
+Id	User	Host	db	Command	Time	State	Info
+<Id>	root	localhost	test	Query	<Time>	NULL	SHOW PROCESSLIST

=== modified file 'mysql-test/r/variables_debug.result'
--- mysql-test/r/variables_debug.result	2009-06-24 22:22:20 +0000
+++ mysql-test/r/variables_debug.result	2009-10-03 18:56:54 +0000
@@ -10,18 +10,3 @@
 select @@debug;
 @@debug
 T
-set session debug="t";
-show session variables like 'debug';
-Variable_name	Value
-debug	t
-set session debug="t";
-show session variables like 'debug';
-Variable_name	Value
-debug	t
-set session debug="d:t";
-show session variables like 'debug';
-Variable_name	Value
-debug	d:t
-show session variables like 'debug';
-Variable_name	Value
-debug	t

=== added file 'mysql-test/r/variables_debug_notembedded.result'
--- mysql-test/r/variables_debug_notembedded.result	1970-01-01 00:00:00 +0000
+++ mysql-test/r/variables_debug_notembedded.result	2009-10-03 18:56:54 +0000
@@ -0,0 +1,15 @@
+set session debug="t";
+show session variables like 'debug';
+Variable_name	Value
+debug	t
+set session debug="t";
+show session variables like 'debug';
+Variable_name	Value
+debug	t
+set session debug="d:t";
+show session variables like 'debug';
+Variable_name	Value
+debug	d:t
+show session variables like 'debug';
+Variable_name	Value
+debug	t

=== modified file 'mysql-test/suite/binlog/r/binlog_incident.result'
--- mysql-test/suite/binlog/r/binlog_incident.result	2009-05-11 11:32:38 +0000
+++ mysql-test/suite/binlog/r/binlog_incident.result	2009-09-30 06:35:31 +0000
@@ -1,3 +1,4 @@
+RESET MASTER;
 CREATE TABLE t1 (a INT);
 INSERT INTO t1 VALUES (1),(2),(3);
 SELECT * FROM t1;

=== modified file 'mysql-test/suite/binlog/r/binlog_tmp_table.result'
--- mysql-test/suite/binlog/r/binlog_tmp_table.result	2009-01-28 14:35:12 +0000
+++ mysql-test/suite/binlog/r/binlog_tmp_table.result	2009-09-30 06:35:31 +0000
@@ -1,3 +1,4 @@
+RESET MASTER;
 create table foo (a int);
 flush logs;
 create temporary table tmp1_foo like foo;

=== modified file 'mysql-test/suite/binlog/t/binlog_incident.test'
--- mysql-test/suite/binlog/t/binlog_incident.test	2009-05-11 11:32:38 +0000
+++ mysql-test/suite/binlog/t/binlog_incident.test	2009-09-30 06:35:31 +0000
@@ -6,6 +6,7 @@
 source include/have_debug.inc;
 
 let $MYSQLD_DATADIR= `select @@datadir`;
+RESET MASTER;
 
 CREATE TABLE t1 (a INT);
 
@@ -24,4 +25,4 @@
 eval SELECT cont LIKE '%RELOAD DATABASE; # Shall generate syntax error%' AS `Contain RELOAD DATABASE` FROM (SELECT load_file('$MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql') AS cont) AS tbl;
 --enable_query_log
 
-remove_file $MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql;
\ No newline at end of file
+remove_file $MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql;

=== modified file 'mysql-test/suite/binlog/t/binlog_tmp_table.test'
--- mysql-test/suite/binlog/t/binlog_tmp_table.test	2009-01-31 21:47:50 +0000
+++ mysql-test/suite/binlog/t/binlog_tmp_table.test	2009-09-30 06:35:31 +0000
@@ -30,6 +30,7 @@
 
 connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
 connect (master1,127.0.0.1,root,,test,$MASTER_MYPORT,);
+RESET MASTER;
 
 create table foo (a int);
 

=== modified file 'mysql-test/suite/parts/inc/partition_key_32col.inc'
--- mysql-test/suite/parts/inc/partition_key_32col.inc	2009-01-31 15:47:35 +0000
+++ mysql-test/suite/parts/inc/partition_key_32col.inc	2009-10-06 11:39:57 +0000
@@ -1,10 +1,19 @@
+# In MariaDB, max key parts is extended from 16 to 32. But 33 keys don't work.
 --error ER_TOO_MANY_KEY_PARTS
+eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3,a4)) engine=$engine 
+partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3,a4) (
+partition pa1 max_rows=20 min_rows=2,
+partition pa2 max_rows=30 min_rows=3,
+partition pa3 max_rows=30 min_rows=4,
+partition pa4 max_rows=40 min_rows=2);
+
 eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3)) engine=$engine 
 partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3) (
 partition pa1 max_rows=20 min_rows=2,
 partition pa2 max_rows=30 min_rows=3,
 partition pa3 max_rows=30 min_rows=4,
 partition pa4 max_rows=40 min_rows=2);
+drop table t1;
 
 eval create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1)) engine=$engine 
 partition by key(a,b,c,d,e,f,g,h) (

=== modified file 'mysql-test/suite/parts/r/partition_special_innodb.result'
--- mysql-test/suite/parts/r/partition_special_innodb.result	2008-12-04 09:47:25 +0000
+++ mysql-test/suite/parts/r/partition_special_innodb.result	2009-10-06 11:39:57 +0000
@@ -127,13 +127,20 @@
 1980-10-14	fgbbd	dtzndtz	w	67856	5463354.67	3567845333	124	1980-10-14	fgbbd	dtzndtz	w	67856	5463354.67	3567845333	124	d,f söierugsig msireg siug ei5ggth lrutluitgzeöjrtnb.rkjthuekuhzrkuthgjdnffjmbr
 1975-01-01	abcde	abcde	m	1234	123.45	32412341234	113	1975-01-01	abcde	abcde	m	1234	123.45	32412341234	113	tbhth nrzh ztfghgfh fzh ftzhj fztjh
 drop table t1;
+create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3,a4)) engine='InnoDB' 
+partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3,a4) (
+partition pa1 max_rows=20 min_rows=2,
+partition pa2 max_rows=30 min_rows=3,
+partition pa3 max_rows=30 min_rows=4,
+partition pa4 max_rows=40 min_rows=2);
+ERROR 42000: Too many key parts specified; max 32 parts allowed
 create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3)) engine='InnoDB' 
 partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3) (
 partition pa1 max_rows=20 min_rows=2,
 partition pa2 max_rows=30 min_rows=3,
 partition pa3 max_rows=30 min_rows=4,
 partition pa4 max_rows=40 min_rows=2);
-ERROR 42000: Too many key parts specified; max 16 parts allowed
+drop table t1;
 create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1)) engine='InnoDB' 
 partition by key(a,b,c,d,e,f,g,h) (
 partition pa1 max_rows=20 min_rows=2,

=== modified file 'mysql-test/suite/parts/r/partition_special_myisam.result'
--- mysql-test/suite/parts/r/partition_special_myisam.result	2008-11-04 07:43:21 +0000
+++ mysql-test/suite/parts/r/partition_special_myisam.result	2009-10-06 11:39:57 +0000
@@ -127,13 +127,20 @@
 1980-10-14	fgbbd	dtzndtz	w	67856	5463354.67	3567845333	124	1980-10-14	fgbbd	dtzndtz	w	67856	5463354.67	3567845333	124	d,f söierugsig msireg siug ei5ggth lrutluitgzeöjrtnb.rkjthuekuhzrkuthgjdnffjmbr
 1975-01-01	abcde	abcde	m	1234	123.45	32412341234	113	1975-01-01	abcde	abcde	m	1234	123.45	32412341234	113	tbhth nrzh ztfghgfh fzh ftzhj fztjh
 drop table t1;
+create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3,a4)) engine='MyISAM' 
+partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3,a4) (
+partition pa1 max_rows=20 min_rows=2,
+partition pa2 max_rows=30 min_rows=3,
+partition pa3 max_rows=30 min_rows=4,
+partition pa4 max_rows=40 min_rows=2);
+ERROR 42000: Too many key parts specified; max 32 parts allowed
 create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3)) engine='MyISAM' 
 partition by key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1,a2,b2,c2,d2,e2,f2,g2,h2,a3,b3,c3,d3,e3,f3,g3,h3) (
 partition pa1 max_rows=20 min_rows=2,
 partition pa2 max_rows=30 min_rows=3,
 partition pa3 max_rows=30 min_rows=4,
 partition pa4 max_rows=40 min_rows=2);
-ERROR 42000: Too many key parts specified; max 16 parts allowed
+drop table t1;
 create table t1 (a date not null, b varchar(50) not null, c varchar(50) not null, d enum('m', 'w') not null, e int not null, f decimal (18,2) not null, g bigint not null, h tinyint not null, a1 date not null, b1 varchar(50) not null, c1 varchar(50) not null, d1 enum('m', 'w') not null, e1 int not null, f1 decimal (18,2) not null, g1 bigint not null, h1 tinyint not null, a2 date not null, b2 varchar(50) not null, c2 varchar(50) not null, d2 enum('m', 'w') not null, e2 int not null, f2 decimal (18,2) not null, g2 bigint not null, h2 tinyint not null, a3 date not null, b3 varchar(50) not null, c3 varchar(50) not null, d3 enum('m', 'w') not null, e3 int not null, f3 decimal (18,2) not null, g3 bigint not null, h3 tinyint not null, i char(255), primary key(a,b,c,d,e,f,g,h,a1,b1,c1,d1,e1,f1,g1,h1)) engine='MyISAM' 
 partition by key(a,b,c,d,e,f,g,h) (
 partition pa1 max_rows=20 min_rows=2,

=== modified file 'mysql-test/t/ctype_gbk_binlog.test'
--- mysql-test/t/ctype_gbk_binlog.test	2009-07-07 14:18:44 +0000
+++ mysql-test/t/ctype_gbk_binlog.test	2009-09-30 06:35:31 +0000
@@ -1,6 +1,7 @@
 -- source include/have_binlog_format_mixed_or_statement.inc
 -- source include/have_gbk.inc
 
+RESET MASTER;
 SET NAMES gbk;
 --character_set gbk
 

=== modified file 'mysql-test/t/events_time_zone.test'
--- mysql-test/t/events_time_zone.test	2008-11-14 16:18:20 +0000
+++ mysql-test/t/events_time_zone.test	2009-10-06 18:15:09 +0000
@@ -36,6 +36,9 @@
 #    after a tests would be a perfect replacement.
 #
 
+# Can't test with embedded server that doesn't support grants
+-- source include/not_embedded.inc
+
 --source include/big_test.inc
 
 

=== modified file 'mysql-test/t/information_schema.test'
--- mysql-test/t/information_schema.test	2009-09-23 11:03:47 +0000
+++ mysql-test/t/information_schema.test	2009-09-29 20:19:43 +0000
@@ -1105,13 +1105,13 @@
 let $ID= `select connection_id()`;
 SELECT 'other connection here' AS who;
 connection default;
-sleep 1;
+sleep 2;
 --disable_query_log
 eval SET @tid=$ID;
 --enable_query_log
 SELECT IF(`time` > 0, 'OK', `time`) AS time_low,
        IF(`time` < 1000, 'OK', `time`) AS time_high,
-       IF(time_ms > 900, 'OK', time_ms) AS time_ms_low,
+       IF(time_ms > 1500, 'OK', time_ms) AS time_ms_low,
        IF(time_ms < 1000000, 'OK', time_ms) AS time_ms_high
   FROM INFORMATION_SCHEMA.PROCESSLIST
  WHERE ID=@tid;

=== modified file 'mysql-test/t/innodb-index.test'
--- mysql-test/t/innodb-index.test	2009-08-03 20:09:53 +0000
+++ mysql-test/t/innodb-index.test	2009-10-06 11:39:57 +0000
@@ -148,7 +148,9 @@
 --error ER_CANT_DROP_FIELD_OR_KEY
 drop index dc on t4;
 # there is no foreign key dc on t3
---replace_regex /'\.\/test\/#sql2-[0-9a-f-]*'/'#sql2-temporary'/
+# Embedded server doesn't chdir to data directory
+--replace_result $MYSQLTEST_VARDIR . mysqld.1/data/ ''
+--replace_regex /\/test\/#sql2-[0-9a-f-]*'/\/#sql2-temporary'/
 --error ER_ERROR_ON_RENAME
 alter table t3 drop foreign key dc;
 alter table t4 drop foreign key dc;

=== modified file 'mysql-test/t/merge-big.test'
--- mysql-test/t/merge-big.test	2009-03-12 22:27:35 +0000
+++ mysql-test/t/merge-big.test	2009-10-03 19:12:24 +0000
@@ -43,6 +43,7 @@
     --echo # connection con1
     connect (con1,localhost,root,,);
     let $con1_id= `SELECT CONNECTION_ID()`;
+    SET @orig_debug=@@debug;
     SET GLOBAL debug="+d,sleep_open_and_lock_after_open";
     send INSERT INTO t1 VALUES (1);
 --echo # connection default
@@ -74,7 +75,7 @@
     --echo # connection con1
     connection con1;
     reap;
-    SET GLOBAL debug="-d,sleep_open_and_lock_after_open";
+    SET GLOBAL debug=@orig_debug;
     disconnect con1;
 --echo # connection default
 connection default;

=== modified file 'mysql-test/t/mysql.test'
--- mysql-test/t/mysql.test	2009-07-31 00:51:25 +0000
+++ mysql-test/t/mysql.test	2009-10-05 13:22:23 +0000
@@ -1,3 +1,4 @@
+-- source include/have_working_dns.inc
 # This test should work in embedded server after we fix mysqltest
 -- source include/not_embedded.inc
 #

=== modified file 'mysql-test/t/mysql_upgrade.test'
--- mysql-test/t/mysql_upgrade.test	2009-07-28 19:59:38 +0000
+++ mysql-test/t/mysql_upgrade.test	2009-10-05 13:22:23 +0000
@@ -1,3 +1,4 @@
+-- source include/have_working_dns.inc
 # Can't run test of external client with embedded server
 -- source include/not_embedded.inc
 

=== modified file 'mysql-test/t/mysqlbinlog-cp932.test'
--- mysql-test/t/mysqlbinlog-cp932.test	2007-12-12 17:19:24 +0000
+++ mysql-test/t/mysqlbinlog-cp932.test	2009-09-30 06:35:31 +0000
@@ -5,8 +5,9 @@
 -- source include/have_cp932.inc
 -- source include/have_log_bin.inc
 
+RESET MASTER;
+
 # Bug#16217 (mysql client did not know how not switch its internal charset)
-flush logs;
 create table t3 (f text character set utf8);
 create table t4 (f text character set cp932); 
 --exec $MYSQL --default-character-set=utf8 test -e "insert into t3 values(_utf8'ソ')"
@@ -14,7 +15,7 @@
 flush logs;
 rename table t3 to t03, t4 to t04;
 let $MYSQLD_DATADIR= `select @@datadir`;
---exec $MYSQL_BINLOG --short-form $MYSQLD_DATADIR/master-bin.000002 | $MYSQL --default-character-set=utf8
+--exec $MYSQL_BINLOG --short-form $MYSQLD_DATADIR/master-bin.000001 | $MYSQL --default-character-set=utf8
 # original and recovered data must be equal
 select HEX(f) from t03;
 select HEX(f) from t3;

=== modified file 'mysql-test/t/mysqlbinlog_row_big.test'
--- mysql-test/t/mysqlbinlog_row_big.test	2009-09-07 20:50:10 +0000
+++ mysql-test/t/mysqlbinlog_row_big.test	2009-10-03 23:20:51 +0000
@@ -24,16 +24,6 @@
 --source include/big_test.inc
 
 --echo #
---echo # We need big packets.
---echo #
-connect (con1, localhost, root,,);
-connection con1;
-SET @old_global_max_allowed_packet=@@global.max_allowed_packet;
-SET @@global.max_allowed_packet= 1024*1024*1024;
-connect (con2, localhost, root,,);
-connection con2;
-
---echo #
 --echo # Preparatory cleanup.
 --echo #
 --disable_warnings
@@ -154,14 +144,9 @@
 eval SET @@global.max_allowed_packet = $orig_max_allowed_packet;
 DROP TABLE t1;
 
-connection con1;
-SET @@global.max_allowed_packet=@old_global_max_allowed_packet;
-
 --echo remove_file \$MYSQLTEST_VARDIR/$mysqlbinlog_output
 #
 # NOTE: If you want to see the *huge* mysqlbinlog output, disable next line:
 #
 --remove_file $MYSQLTEST_VARDIR/$mysqlbinlog_output
 
-disconnect con1
-disconnect con2

=== modified file 'mysql-test/t/variables-big.test'
--- mysql-test/t/variables-big.test	2009-09-07 20:50:10 +0000
+++ mysql-test/t/variables-big.test	2009-10-03 23:20:51 +0000
@@ -5,7 +5,7 @@
 --source include/big_test.inc
 
 #
-# Bug #27322  	failure to allocate transaction_prealloc_size causes crash
+# Bug#27322 failure to allocate transaction_prealloc_size causes crash
 #
 #
 # Manual (6.0):
@@ -35,20 +35,21 @@
 # timeout if the testing box is not powerful enough.
 #
 
-set @pid_temp = (select ID from information_schema.processlist);
-set session transaction_prealloc_size=1024*1024*1024*1;
---replace_column 1 #
-select @pid_temp = (select ID from information_schema.processlist) as 'TRUE';
-set session transaction_prealloc_size=1024*1024*1024*2;
---replace_column 1 #
-select @pid_temp = (select ID from information_schema.processlist) as 'TRUE';
---replace_column 1 #
-set session transaction_prealloc_size=1024*1024*1024*3;
---replace_column 1 #
-select @pid_temp = (select ID from information_schema.processlist) as 'TRUE';
-set session transaction_prealloc_size=1024*1024*1024*4;
---replace_column 1 #
-select @pid_temp = (select ID from information_schema.processlist) as 'TRUE';
-set session transaction_prealloc_size=1024*1024*1024*5;
---replace_column 1 #
-select @pid_temp = (select ID from information_schema.processlist) as 'TRUE';
+--disable_warnings
+SET SESSION transaction_prealloc_size=1024*1024*1024*1;
+--replace_column 1 <Id> 6 <Time>
+SHOW PROCESSLIST;
+SET SESSION transaction_prealloc_size=1024*1024*1024*2;
+--replace_column 1 <Id> 6 <Time>
+SHOW PROCESSLIST;
+SET SESSION transaction_prealloc_size=1024*1024*1024*3;
+--replace_column 1 <Id> 6 <Time>
+SHOW PROCESSLIST;
+SET SESSION transaction_prealloc_size=1024*1024*1024*4;
+--replace_column 1 <Id> 6 <Time>
+SHOW PROCESSLIST;
+SET SESSION transaction_prealloc_size=1024*1024*1024*5;
+--replace_column 1 <Id> 6 <Time>
+SHOW PROCESSLIST;
+--enable_warnings
+

=== modified file 'mysql-test/t/variables_debug.test'
--- mysql-test/t/variables_debug.test	2009-06-24 22:22:20 +0000
+++ mysql-test/t/variables_debug.test	2009-10-03 18:56:54 +0000
@@ -10,31 +10,3 @@
 select @@debug;
 set debug= '-P';
 select @@debug;
-
-#
-# Checks that assigning variable 'debug' in one session has no influence on
-# other session. (BUG#45632 of bugs.mysql.com)
-#
-connect(con1,localhost,root,,test,,);
-connect(con2,localhost,root,,test,,);
-
-# makes output independant of current debug status
-connection con1;
-set session debug="t";
-show session variables like 'debug';
-connection con2;
-set session debug="t";
-show session variables like 'debug';
-
-# checks influence one session debug variable on another
-connection con1;
-set session debug="d:t";
-show session variables like 'debug';
-connection con2;
-show session variables like 'debug';
-
-disconnect con1;
-disconnect con2;
-
-connection default;
-

=== added file 'mysql-test/t/variables_debug_notembedded.test'
--- mysql-test/t/variables_debug_notembedded.test	1970-01-01 00:00:00 +0000
+++ mysql-test/t/variables_debug_notembedded.test	2009-10-03 18:56:54 +0000
@@ -0,0 +1,34 @@
+#
+# Checks that assigning variable 'debug' in one session has no influence on
+# other session. (BUG#45632 of bugs.mysql.com)
+#
+# (this will not work with embedded server because mysqltest_embedded uses the
+#  same thread for all connections)
+#
+--source include/have_debug.inc
+--source include/not_embedded.inc
+
+connect(con1,localhost,root,,test,,);
+connect(con2,localhost,root,,test,,);
+
+# makes output independant of current debug status
+connection con1;
+set session debug="t";
+show session variables like 'debug';
+connection con2;
+set session debug="t";
+show session variables like 'debug';
+
+# checks influence one session debug variable on another
+connection con1;
+set session debug="d:t";
+show session variables like 'debug';
+connection con2;
+show session variables like 'debug';
+
+disconnect con1;
+disconnect con2;
+
+connection default;
+
+

=== modified file 'sql/sql_plugin.cc'
--- sql/sql_plugin.cc	2009-09-11 13:20:03 +0000
+++ sql/sql_plugin.cc	2009-10-01 21:27:39 +0000
@@ -1168,6 +1168,22 @@
           !my_strnncoll(&my_charset_latin1, (const uchar*) plugin->name,
                         6, (const uchar*) "InnoDB", 6))
         continue;
+#ifdef EMBEDDED_LIBRARY
+      /*
+        MariaDB: disable PBXT in embedded server. We do this for two reasons
+         - PBXT currently doesn't work in embedded server (see 
+         https://bugs.launchpad.net/maria/+bug/439889)
+         - Embedded server is supposed to be "leaner" and our current
+           understanding of that is "without PBXT". At the same time, we want
+           regular server to be with PBXT, and since we don't support compiling
+           embedded server with different options than the regular server,
+           the only way was to disable PBXT from here.
+      */
+      if (!my_strnncoll(&my_charset_latin1, (const uchar*) plugin->name,
+                        4, (const uchar*) "PBXT", 4))
+        continue;
+
+#endif
       bzero(&tmp, sizeof(tmp));
       tmp.plugin= plugin;
       tmp.name.str= (char *)plugin->name;

=== renamed file 'storage/innodb_plugin/plug.in' => 'storage/innodb_plugin/plug.in.disabled'
=== modified file 'storage/maria/ma_blockrec.c'
--- storage/maria/ma_blockrec.c	2009-05-06 12:03:24 +0000
+++ storage/maria/ma_blockrec.c	2009-10-03 20:13:58 +0000
@@ -5448,7 +5448,7 @@
       Store total blob length to make buffer allocation easier during UNDO
      */
     log_parts->str=  info->length_buff;
-    log_parts->length= (uint) (ma_store_length((uchar *) log_parts->str,
+    log_parts->length= (uint) (ma_store_length(info->length_buff,
                                                  info->cur_row.blob_length) -
                                  (uchar*) log_parts->str);
     row_length+=          log_parts->length;
@@ -5592,7 +5592,7 @@
   MARIA_SHARE *share= info->s;
   MARIA_COLUMNDEF *column, *end_column;
   MARIA_ROW *old_row= &info->cur_row, *new_row= &info->new_row;
-  uchar *field_data, *start_field_data;
+  uchar *field_data, *start_field_data, *length_str;
   uchar *old_field_lengths= old_row->field_lengths;
   uchar *new_field_lengths= new_row->field_lengths;
   size_t row_length= 0;
@@ -5749,9 +5749,9 @@
 
   /* Store length of field length data before the field/field_lengths */
   field_lengths= (uint) (field_data - start_field_data);
-  start_log_parts->str=  ((start_field_data -
-                           ma_calc_length_for_store_length(field_lengths)));
-  ma_store_length((uchar*)start_log_parts->str, field_lengths);
+  length_str= start_field_data - ma_calc_length_for_store_length(field_lengths);
+  start_log_parts->str= length_str;
+  ma_store_length(length_str, field_lengths);
   start_log_parts->length= (size_t) (field_data - start_log_parts->str);
   row_length+= start_log_parts->length;
   DBUG_RETURN(row_length);

=== renamed file 'storage/pbxt/src/CMakeLists.txt' => 'storage/pbxt/CMakeLists.txt' (properties changed: +x to -x)
--- storage/pbxt/src/CMakeLists.txt	2009-03-26 12:18:01 +0000
+++ storage/pbxt/CMakeLists.txt	2009-10-06 18:26:11 +0000
@@ -32,22 +32,72 @@
                     ${CMAKE_SOURCE_DIR}/regex
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include)
 
-SET(PBXT_SOURCES ha_pbxt.cc bsearch_xt.cc index_xt.cc strutil_xt.cc cache_xt.cc linklist_xt.cc
-                 ccutils_xt.cc lock_xt.cc table_xt.cc database_xt.cc thread_xt.cc
-                 datadic_xt.cc memory_xt.cc trace_xt.cc datalog_xt.cc myxt_xt.cc util_xt.cc
-                 filesys_xt.cc pthread_xt.cc xaction_xt.cc restart_xt.cc xactlog_xt.cc
-                 hashtab_xt.cc sortedlist_xt.cc heap_xt.cc streaming_xt.cc tabcache_xt.cc
-				 systab_xt.cc ha_xtsys.cc discover_xt.cc
-                 bsearch_xt.h linklist_xt.h tabcache_xt.h cache_xt.h lock_xt.h table_xt.h
-                 ccutils_xt.h thread_xt.h database_xt.h memory_xt.h trace_xt.h
-                 datadic_xt.h pbms.h util_xt.h datalog_xt.h myxt_xt.h xaction_xt.h
-                 filesys_xt.h pthread_xt.h xactlog_xt.h ha_pbxt.h restart_xt.h xt_config.h
-                 hashtab_xt.h sortedlist_xt.h xt_defs.h heap_xt.h streaming_xt.h xt_errno.h
-				 systab_xt.h ha_xtsys.h discover_xt.h
-                 index_xt.h strutil_xt.h)
-
-IF(NOT SOURCE_SUBLIBS)
-  ADD_LIBRARY(pbxt ${PBXT_SOURCES})
-  ADD_DEPENDENCIES(pbxt GenError)
-ENDIF(NOT SOURCE_SUBLIBS)
-
+SET(PBXT_SOURCES
+src/bsearch_xt.cc
+src/bsearch_xt.h
+src/cache_xt.cc
+src/cache_xt.h
+src/ccutils_xt.cc
+src/ccutils_xt.h
+src/database_xt.cc
+src/database_xt.h
+src/datadic_xt.cc
+src/datadic_xt.h
+src/datalog_xt.cc
+src/datalog_xt.h
+src/discover_xt.cc
+src/discover_xt.h
+src/filesys_xt.cc
+src/filesys_xt.h
+src/hashtab_xt.cc
+src/hashtab_xt.h
+src/ha_pbxt.cc
+src/ha_pbxt.h
+src/ha_xtsys.cc
+src/ha_xtsys.h
+src/heap_xt.cc
+src/heap_xt.h
+src/index_xt.cc
+src/index_xt.h
+src/linklist_xt.cc
+src/linklist_xt.h
+src/locklist_xt.cc
+src/locklist_xt.h
+src/lock_xt.cc
+src/lock_xt.h
+src/memory_xt.cc
+src/memory_xt.h
+src/myxt_xt.cc
+src/myxt_xt.h
+src/pbms.h
+src/pbms_enabled.cc
+src/pbms_enabled.h
+src/pthread_xt.cc
+src/pthread_xt.h
+src/restart_xt.cc
+src/restart_xt.h
+src/sortedlist_xt.cc
+src/sortedlist_xt.h
+src/strutil_xt.cc
+src/strutil_xt.h
+src/systab_xt.cc
+src/systab_xt.h
+src/tabcache_xt.cc
+src/tabcache_xt.h
+src/table_xt.cc
+src/table_xt.h
+src/thread_xt.cc
+src/thread_xt.h
+src/trace_xt.cc
+src/trace_xt.h
+src/util_xt.cc
+src/util_xt.h
+src/xaction_xt.cc
+src/xaction_xt.h
+src/xactlog_xt.cc
+src/xactlog_xt.h
+src/xt_config.h
+src/xt_defs.h
+src/xt_errno.h)
+
+MYSQL_STORAGE_ENGINE(PBXT)

=== modified file 'storage/pbxt/Makefile.am'
--- storage/pbxt/Makefile.am	2009-03-26 12:18:01 +0000
+++ storage/pbxt/Makefile.am	2009-10-06 18:26:11 +0000
@@ -1,3 +1,3 @@
 SUBDIRS = src
 
-EXTRA_DIST = plug.in
+EXTRA_DIST = CMakeLists.txt plug.in

=== modified file 'storage/pbxt/src/Makefile.am'
--- storage/pbxt/src/Makefile.am	2009-09-04 07:29:34 +0000
+++ storage/pbxt/src/Makefile.am	2009-10-06 18:26:11 +0000
@@ -49,4 +49,4 @@
 libpbxt_a_CXXFLAGS =	$(AM_CXXFLAGS)
 libpbxt_a_CFLAGS =		$(AM_CFLAGS) -std=c99
 
-EXTRA_DIST =			CMakeLists.txt pbms_enabled.cc
+EXTRA_DIST =			pbms_enabled.cc

=== modified file 'storage/pbxt/src/pbms_enabled.cc'
--- storage/pbxt/src/pbms_enabled.cc	2009-08-18 07:46:53 +0000
+++ storage/pbxt/src/pbms_enabled.cc	2009-10-06 15:16:01 +0000
@@ -29,6 +29,12 @@
  *
  */
 
+/*
+  The following two lines backported by psergey. Remove them when we merge from PBXT again.
+*/
+#include "xt_config.h"
+#ifdef PBMS_ENABLED
+
 #define PBMS_API	pbms_enabled_api
 
 #include "pbms_enabled.h"
@@ -236,3 +242,4 @@
 	 return ;
 }
 
+#endif
\ No newline at end of file

=== modified file 'storage/pbxt/src/thread_xt.cc'
--- storage/pbxt/src/thread_xt.cc	2009-09-03 06:15:03 +0000
+++ storage/pbxt/src/thread_xt.cc	2009-10-06 15:16:01 +0000
@@ -1016,7 +1016,7 @@
 #endif
 
 	try_(a) {
-		if (!xt_set_key(thr_key, self, &self->t_exception))
+		if (!xt_set_key((pthread_key_t)thr_key, self, &self->t_exception))
 			throw_();
 		td->td_started = TRUE;
 		return_data = (*start_routine)(self);
@@ -1352,12 +1352,12 @@
 		return self;
 	/* Then it must be a background process, and the 
 	 * thread info is stored in the local key: */
-	return (XTThreadPtr) xt_get_key(thr_key);
+	return (XTThreadPtr) xt_get_key((pthread_key_t)thr_key);
 }
 
 xtPublic void xt_set_self(XTThreadPtr self)
 {
-	xt_set_key(thr_key, self, NULL);
+	xt_set_key((pthread_key_t)thr_key, self, NULL);
 }
 
 xtPublic void xt_clear_exception(XTThreadPtr thread)
@@ -1386,7 +1386,7 @@
 		return NULL;
 	}
 
-	if (!xt_set_key(thr_key, self, e)) {
+	if (!xt_set_key((pthread_key_t)thr_key, self, e)) {
 		xt_free_ns(self);
 		return NULL;
 	}
@@ -1400,7 +1400,7 @@
 	}
 	catch_(a) {
 		*e = self->t_exception;
-		xt_set_key(thr_key, NULL, NULL);
+		xt_set_key((pthread_key_t)thr_key, NULL, NULL);
 		xt_free_ns(self);
 		self = NULL;
 	}
@@ -1464,8 +1464,8 @@
 	  * PBXT resources on all MySQL THDs created by PBMS for it's own pthreads. So the 'self' 
 	  * being freed is not the same 'self' associated with the PBXT 'thr_key'.
 	  */
-	if (thr_key && (self == ((XTThreadPtr) xt_get_key(thr_key)))) {
-		xt_set_key(thr_key, NULL, NULL);
+	if (thr_key && (self == ((XTThreadPtr) xt_get_key((pthread_key_t)thr_key)))) {
+		xt_set_key((pthread_key_t)thr_key, NULL, NULL);
 	}
 	xt_free_ns(self);
 }

=== modified file 'support-files/compiler_warnings.supp'
--- support-files/compiler_warnings.supp	2009-09-03 13:20:22 +0000
+++ support-files/compiler_warnings.supp	2009-10-03 20:13:58 +0000
@@ -109,3 +109,6 @@
 #
 .* : .*no matching operator delete found; memory will not be freed if initialization throws an exception.*
 ctype-simple.c : .*unary minus operator applied to unsigned type, result still unsigned.*
+
+# Wrong warning due to GCC bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29478
+regexec\.c : .*passing argument 3 of.*matcher.* discards qualifiers from pointer target type.*

=== modified file 'win/Makefile.am'
--- win/Makefile.am	2009-06-18 08:49:44 +0000
+++ win/Makefile.am	2009-10-02 12:53:05 +0000
@@ -16,7 +16,8 @@
 ## Process this file with automake to create Makefile.in
 EXTRA_DIST = build-vs71.bat build-vs8.bat build-vs8_x64.bat build-vs9.bat \
              build-vs9_x64.bat configure.js README mysql_manifest.cmake \
-             create_manifest.js create_def_file.js
+             create_manifest.js create_def_file.js build-nmake.bat \
+             build-nmake-x64.bat
 
 # Don't update the files from bitkeeper
 %::SCCS/s.%