List:Commits« Previous MessageNext Message »
From:msvensson Date:November 23 2006 5:38pm
Subject:bk commit into 5.1 tree (msvensson:1.2389)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of msvensson. When msvensson does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2006-11-23 18:38:27+01:00, msvensson@neptunus.(none) +21 -0
  Merge neptunus.(none):/home/msvensson/mysql/mysql-5.1
  into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
  MERGE: 1.2349.1.25

  BitKeeper/deleted/.del-ps_not_windows.result@stripped, 2006-11-23 18:37:55+01:00, msvensson@neptunus.(none) +0 -0
    Delete: mysql-test/r/ps_not_windows.result

  BitKeeper/deleted/.del-ps_not_windows.test@stripped, 2006-11-23 18:37:57+01:00, msvensson@neptunus.(none) +0 -0
    Delete: mysql-test/t/ps_not_windows.test

  BitKeeper/etc/collapsed@stripped, 2006-11-23 18:36:21+01:00, msvensson@neptunus.(none) +2 -4
    auto-union
    MERGE: 1.16.1.2

  configure.in@stripped, 2006-11-23 18:36:27+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.395.1.1

  mysql-test/Makefile.am@stripped, 2006-11-23 18:36:27+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.85.1.1

  mysql-test/extra/rpl_tests/rpl_deadlock.test@stripped, 2006-11-23 18:36:27+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.13.1.1

  mysql-test/mysql-test-run-shell.sh@stripped, 2006-11-23 18:36:27+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.332.1.2

  mysql-test/mysql-test-run.pl@stripped, 2006-11-23 18:38:24+01:00, msvensson@neptunus.(none) +0 -3
    Manual merge
    MERGE: 1.227.1.5

  mysql-test/r/func_time.result@stripped, 2006-11-23 18:36:28+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.86.1.3

  mysql-test/r/ps.result@stripped, 2006-11-23 18:36:28+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.87.2.1

  mysql-test/r/rpl_deadlock_innodb.result@stripped, 2006-11-23 18:38:24+01:00, msvensson@neptunus.(none) +0 -0
    Manual merge
    MERGE: 1.11.1.1

  mysql-test/r/windows.result@stripped, 2006-11-23 18:36:28+01:00, msvensson@neptunus.(none) +0 -14
    Auto merged
    MERGE: 1.4.1.1

  mysql-test/t/disabled.def@stripped, 2006-11-23 18:36:28+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.210.1.1

  mysql-test/t/func_time.test@stripped, 2006-11-23 18:36:28+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.71.1.2

  mysql-test/t/ps.test@stripped, 2006-11-23 18:36:28+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.86.2.1

  mysql-test/t/windows.test@stripped, 2006-11-23 18:36:28+01:00, msvensson@neptunus.(none) +0 -21
    Auto merged
    MERGE: 1.4.1.1

  sql-common/my_time.c@stripped, 2006-11-23 18:36:29+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.26.1.2

  sql/item.cc@stripped, 2006-11-23 18:36:28+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.216.1.1

  sql/item_timefunc.cc@stripped, 2006-11-23 18:36:28+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.141.1.3

  sql/mysqld.cc@stripped, 2006-11-23 18:36:28+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.589.1.1

  sql/sql_parse.cc@stripped, 2006-11-23 18:36:29+01:00, msvensson@neptunus.(none) +0 -0
    Auto merged
    MERGE: 1.592.1.5

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	msvensson
# Host:	neptunus.(none)
# Root:	/home/msvensson/mysql/mysql-5.1-new-maint/RESYNC

--- 1.399/configure.in	2006-11-23 18:38:35 +01:00
+++ 1.400/configure.in	2006-11-23 18:38:35 +01:00
@@ -2427,7 +2427,7 @@ then
   sql_client_dirs="libmysql_r $sql_client_dirs"
   linked_client_targets="$linked_client_targets linked_libmysql_r_sources"
   AC_CONFIG_FILES(libmysql_r/Makefile)
-  AC_DEFINE([THREAD_SAFE_CLIENT], [1], [Should be client be thread safe])
+  AC_DEFINE([THREAD_SAFE_CLIENT], [1], [Should the client be thread safe])
 fi
 
 CLIENT_LIBS="$NON_THREADED_LIBS $openssl_libs $ZLIB_LIBS $STATIC_NSS_FLAGS"

--- 1.217/sql/item.cc	2006-11-23 18:38:35 +01:00
+++ 1.218/sql/item.cc	2006-11-23 18:38:35 +01:00
@@ -5467,6 +5467,7 @@ int Item_default_value::save_in_field(Fi
                             ER(ER_NO_DEFAULT_FOR_FIELD),
                             field_arg->field_name);
       }
+      field_arg->set_default();
       return 1;
     }
     field_arg->set_default();

--- 1.143/sql/item_timefunc.cc	2006-11-23 18:38:35 +01:00
+++ 1.144/sql/item_timefunc.cc	2006-11-23 18:38:35 +01:00
@@ -290,15 +290,16 @@ static bool extract_date_time(DATE_TIME_
 
   for (; ptr != end && val != val_end; ptr++)
   {
+    /* Skip pre-space between each argument */
+    while (val != val_end && my_isspace(cs, *val))
+      val++;
+
     if (*ptr == '%' && ptr+1 != end)
     {
       int val_len;
       char *tmp;
 
       error= 0;
-      /* Skip pre-space between each argument */
-      while (val != val_end && my_isspace(cs, *val))
-	val++;
 
       val_len= (uint) (val_end - val);
       switch (*++ptr) {
@@ -3244,8 +3245,13 @@ String *Item_func_str_to_date::val_str(S
 
 bool Item_func_last_day::get_date(TIME *ltime, uint fuzzy_date)
 {
-  if (get_arg0_date(ltime, fuzzy_date & ~TIME_FUZZY_DATE))
+  if (get_arg0_date(ltime, fuzzy_date & ~TIME_FUZZY_DATE) ||
+      (ltime->month == 0))
+  {
+    null_value= 1;
     return 1;
+  }
+  null_value= 0;
   uint month_idx= ltime->month-1;
   ltime->day= days_in_month[month_idx];
   if ( month_idx == 1 && calc_days_in_year(ltime->year) == 366)

--- 1.591/sql/mysqld.cc	2006-11-23 18:38:35 +01:00
+++ 1.592/sql/mysqld.cc	2006-11-23 18:38:35 +01:00
@@ -3160,11 +3160,6 @@ with --log-bin instead.");
   }
   if (global_system_variables.binlog_format == BINLOG_FORMAT_UNSPEC)
   {
-#if defined(HAVE_NDB_BINLOG) && defined(HAVE_ROW_BASED_REPLICATION)
-    if (opt_bin_log && have_ndbcluster == SHOW_OPTION_YES)
-      global_system_variables.binlog_format= BINLOG_FORMAT_ROW;
-    else
-#endif
 #if defined(HAVE_ROW_BASED_REPLICATION)
       global_system_variables.binlog_format= BINLOG_FORMAT_MIXED;
 #else

--- 1.595/sql/sql_parse.cc	2006-11-23 18:38:35 +01:00
+++ 1.596/sql/sql_parse.cc	2006-11-23 18:38:35 +01:00
@@ -4626,8 +4626,6 @@ end_with_restore_list:
 	select_limit= thd->variables.select_limit;
 	thd->variables.select_limit= HA_POS_ERROR;
 
-        thd->row_count_func= 0;
-        
         /* 
           We never write CALL statements into binlog:
            - If the mode is non-prelocked, each statement will be logged

--- 1.19/BitKeeper/etc/collapsed	2006-11-23 18:38:35 +01:00
+++ 1.20/BitKeeper/etc/collapsed	2006-11-23 18:38:35 +01:00
@@ -15,6 +15,8 @@
 45214442pBGT9KuZEGixBH71jTzbOA
 45214a07hVsIGwvwa-WrO-jpeaSwVw
 452a92d0-31-8wSzSfZi165fcGcXPA
+452c6c6dAjuNghfc1ObZ_UQ5SCl85g
+4538a7b0EbDHHkWPbIwxO6ZIDdg6Dg
 454a7ef8gdvE_ddMlJyghvOAkKPNOQ
 454bb488ijVLOUK_GFjcoISE0GxPUA
 454bb9a8AwlGRC_wWLS2sNMoRBMRGw

--- 1.14/mysql-test/r/rpl_deadlock_innodb.result	2006-11-23 18:38:35 +01:00
+++ 1.15/mysql-test/r/rpl_deadlock_innodb.result	2006-11-23 18:38:35 +01:00
@@ -132,6 +132,7 @@ Master_SSL_Cert	
 Master_SSL_Cipher	
 Master_SSL_Key	
 Seconds_Behind_Master	#
+set @my_max_relay_log_size= @@global.max_relay_log_size;
 set global max_relay_log_size=0;
 stop slave;
 delete from t3;
@@ -191,4 +192,5 @@ Master_SSL_Cipher	
 Master_SSL_Key	
 Seconds_Behind_Master	#
 drop table t1,t2,t3,t4;
+set global max_relay_log_size= @my_max_relay_log_size;
 End of 5.1 tests

--- 1.16/mysql-test/extra/rpl_tests/rpl_deadlock.test	2006-11-23 18:38:35 +01:00
+++ 1.17/mysql-test/extra/rpl_tests/rpl_deadlock.test	2006-11-23 18:38:35 +01:00
@@ -101,7 +101,7 @@ show slave status;
 
 # Now we repeat 2), but with BEGIN in the same relay log as
 # COMMIT (to see if seeking into hot log is ok).
-
+set @my_max_relay_log_size= @@global.max_relay_log_size;
 set global max_relay_log_size=0;
 
 # This is really copy-paste of 2) of above
@@ -126,5 +126,6 @@ show slave status;
 connection master;
 drop table t1,t2,t3,t4;
 sync_slave_with_master;
+set global max_relay_log_size= @my_max_relay_log_size;
 
 --echo End of 5.1 tests

--- 1.6/mysql-test/t/windows.test	2006-11-23 18:38:35 +01:00
+++ 1.7/mysql-test/t/windows.test	2006-11-23 18:38:35 +01:00
@@ -39,3 +39,4 @@ execute abc;
 --error ER_UDF_NO_PATHS
 execute abc;
 deallocate prepare abc;
+

--- 1.238/mysql-test/mysql-test-run.pl	2006-11-23 18:38:35 +01:00
+++ 1.239/mysql-test/mysql-test-run.pl	2006-11-23 18:38:35 +01:00
@@ -225,6 +225,7 @@ our $opt_ndbconnectstring_slave;
 our $opt_record;
 our $opt_report_features;
 our $opt_check_testcases;
+my  $opt_report_features;
 
 our $opt_skip;
 our $opt_skip_rpl;
@@ -639,7 +640,7 @@ sub command_line_setup () {
 
   $glob_hostname=  mtr_short_hostname();
 
-  # 'basedir' is always parent of "mysql-test" directory
+  # Find the absolute path to the test directory
   $glob_mysql_test_dir=  cwd();
   if ( $glob_cygwin_perl )
   {
@@ -647,11 +648,27 @@ sub command_line_setup () {
     $glob_mysql_test_dir= `cygpath -m "$glob_mysql_test_dir"`;
     chomp($glob_mysql_test_dir);
   }
-  $glob_basedir=         dirname($glob_mysql_test_dir);
+
+  # In most cases, the base directory we find everything relative to,
+  # is the parent directory of the "mysql-test" directory. For source
+  # distributions, TAR binary distributions and some other packages.
+  $glob_basedir= dirname($glob_mysql_test_dir);
+
+  # In the RPM case, binaries and libraries are installed in the
+  # default system locations, instead of having our own private base
+  # directory. And we install "/usr/share/mysql-test". Moving up one
+  # more directory relative to "mysql-test" gives us a usable base
+  # directory for RPM installs.
+  if ( ! $opt_source_dist and ! -d "$glob_basedir/bin" )
+  {
+    $glob_basedir= dirname($glob_basedir);
+  }
 
   # Expect mysql-bench to be located adjacent to the source tree, by default
   $glob_mysql_bench_dir= "$glob_basedir/../mysql-bench"
     unless defined $glob_mysql_bench_dir;
+  $glob_mysql_bench_dir= undef
+    unless -d $glob_mysql_bench_dir;
 
   $path_my_basedir=
     $opt_source_dist ? $glob_mysql_test_dir : $glob_basedir;
@@ -679,7 +696,8 @@ sub command_line_setup () {
 				       "$path_client_bindir/mysqld-debug",
 				       "$path_client_bindir/mysqld-max",
 				       "$glob_basedir/libexec/mysqld",
-				       "$glob_basedir/bin/mysqld");
+				       "$glob_basedir/bin/mysqld",
+				       "$glob_basedir/sbin/mysqld");
 
   # Use the mysqld found above to find out what features are available
   collect_mysqld_features();
@@ -796,6 +814,13 @@ sub command_line_setup () {
     $opt_vardir= "$glob_mysql_test_dir/$opt_vardir";
   }
 
+  # Ensure a proper error message 
+  mkpath("$opt_vardir");
+  unless ( -d $opt_vardir and -w $opt_vardir )
+  {
+    mtr_error("Writable 'var' directory is needed, use the '--vardir' option");
+  }
+
   # --------------------------------------------------------------------------
   # Set tmpdir
   # --------------------------------------------------------------------------
@@ -1308,7 +1333,8 @@ sub executable_setup_im () {
     mtr_exe_maybe_exists(
       "$glob_basedir/server-tools/instance-manager/mysqlmanager",
       "$glob_basedir/libexec/mysqlmanager",
-      "$glob_basedir/bin/mysqlmanager");
+      "$glob_basedir/bin/mysqlmanager",
+      "$glob_basedir/sbin/mysqlmanager");
 
   return ($exe_im eq "");
 }

--- 1.212/mysql-test/t/disabled.def	2006-11-23 18:38:35 +01:00
+++ 1.213/mysql-test/t/disabled.def	2006-11-23 18:38:35 +01:00
@@ -25,7 +25,6 @@ rpl_ndb_ddl              : BUG#18946 res
 rpl_ndb_innodb2ndb       : Bug #19710  Cluster replication to partition table fails on DELETE FROM statement
 rpl_ndb_myisam2ndb       : Bug #19710  Cluster replication to partition table fails on DELETE FROM statement
 rpl_row_blob_innodb      : BUG#18980 2006-04-10 kent    Test fails randomly
-rpl_sp                   : BUG#16456 2006-02-16 jmiller
 rpl_multi_engine         : BUG#22583 2006-09-23 lars
 
 # the below testcase have been reworked to avoid the bug, test contains comment, keep bug open

--- 1.28/sql-common/my_time.c	2006-11-23 18:38:35 +01:00
+++ 1.29/sql-common/my_time.c	2006-11-23 18:38:35 +01:00
@@ -411,7 +411,9 @@ str_to_datetime(const char *str, uint le
   if (number_of_fields < 3 ||
       l_time->year > 9999 || l_time->month > 12 ||
       l_time->day > 31 || l_time->hour > 23 ||
-      l_time->minute > 59 || l_time->second > 59)
+      l_time->minute > 59 || l_time->second > 59 ||
+      (l_time->year == 0 && l_time->month == 0 && l_time->day == 0 && 
+       (l_time->hour != 0 || l_time->minute != 0 || l_time->second != 0)))
   {
     /* Only give warning for a zero date if there is some garbage after */
     if (!not_zero_date)                         /* If zero date */
@@ -780,7 +782,7 @@ long calc_daynr(uint year,uint month,uin
 */
 my_time_t
 my_system_gmt_sec(const MYSQL_TIME *t_src, long *my_timezone,
-                  bool *in_dst_time_gap)
+                  my_bool *in_dst_time_gap)
 {
   uint loop;
   time_t tmp= 0;

--- 1.88/mysql-test/r/func_time.result	2006-11-23 18:38:35 +01:00
+++ 1.89/mysql-test/r/func_time.result	2006-11-23 18:38:35 +01:00
@@ -1047,6 +1047,9 @@ union
 (select time_format(timediff(now(), DATE_SUB(now(),INTERVAL 5 HOUR)),'%k') As H);
 H
 5
+select last_day('0000-00-00');
+last_day('0000-00-00')
+NULL
 End of 4.1 tests
 explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1,
 timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a2;
@@ -1057,6 +1060,7 @@ Note	1003	select timestampdiff(WEEK,_lat
 select time_format('100:00:00', '%H %k %h %I %l');
 time_format('100:00:00', '%H %k %h %I %l')
 100 100 04 04 4
+SET GLOBAL log_bin_trust_function_creators = 1;
 create table t1 (a timestamp default '2005-05-05 01:01:01',
 b timestamp default '2005-05-05 01:01:01');
 drop function if exists t_slow_sysdate;
@@ -1080,6 +1084,7 @@ a != b
 drop trigger t_before;
 drop function t_slow_sysdate;
 drop table t1;
+SET GLOBAL log_bin_trust_function_creators = 0;
 create table t1 (a datetime, i int, b datetime);
 insert into t1 select sysdate(), sleep(1), sysdate() from dual;
 select a != b from t1;

--- 1.73/mysql-test/t/func_time.test	2006-11-23 18:38:35 +01:00
+++ 1.74/mysql-test/t/func_time.test	2006-11-23 18:38:35 +01:00
@@ -565,6 +565,12 @@ union
 union
 (select time_format(timediff(now(), DATE_SUB(now(),INTERVAL 5 HOUR)),'%k') As H);
 
+#
+# Bug #23653: crash if last_day('0000-00-00')
+#
+
+select last_day('0000-00-00');
+
 --echo End of 4.1 tests
 
 explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1,
@@ -580,6 +586,8 @@ select time_format('100:00:00', '%H %k %
 # Bug #12562: Make SYSDATE behave like it does in Oracle: always the current
 #             time, regardless of magic to make NOW() always the same for the
 #             entirety of a statement.
+SET GLOBAL log_bin_trust_function_creators = 1;
+
 create table t1 (a timestamp default '2005-05-05 01:01:01',
                  b timestamp default '2005-05-05 01:01:01');
 delimiter //;
@@ -608,6 +616,8 @@ select a != b from t1;
 drop trigger t_before;
 drop function t_slow_sysdate;
 drop table t1;
+
+SET GLOBAL log_bin_trust_function_creators = 0;
 
 create table t1 (a datetime, i int, b datetime);
 insert into t1 select sysdate(), sleep(1), sysdate() from dual;

--- 1.87/mysql-test/Makefile.am	2006-11-23 18:38:35 +01:00
+++ 1.88/mysql-test/Makefile.am	2006-11-23 18:38:35 +01:00
@@ -59,6 +59,7 @@ dist-hook:
 	-$(INSTALL_DATA) $(srcdir)/extra/binlog_tests/*.opt $(distdir)/extra/binlog_tests
 	-$(INSTALL_DATA) $(srcdir)/extra/rpl_tests/*.opt $(distdir)/extra/rpl_tests
 	$(INSTALL_DATA) $(srcdir)/include/*.inc $(distdir)/include
+	$(INSTALL_DATA) $(srcdir)/include/*.test $(distdir)/include
 	$(INSTALL_DATA) $(srcdir)/r/*.result $(srcdir)/r/*.require $(distdir)/r
 	$(INSTALL_DATA) $(srcdir)/std_data/Moscow_leap $(distdir)/std_data
 	$(INSTALL_DATA) $(srcdir)/std_data/*.dat $(srcdir)/std_data/*.000001 $(distdir)/std_data
@@ -98,6 +99,7 @@ install-data-local:
 	-$(INSTALL_DATA) $(srcdir)/extra/binlog_tests/*.opt $(DESTDIR)$(testdir)/extra/binlog_tests
 	-$(INSTALL_DATA) $(srcdir)/extra/rpl_tests/*.opt $(DESTDIR)$(testdir)/extra/rpl_tests
 	$(INSTALL_DATA) $(srcdir)/include/*.inc $(DESTDIR)$(testdir)/include
+	$(INSTALL_DATA) $(srcdir)/include/*.test $(DESTDIR)$(testdir)/include
 	$(INSTALL_DATA) $(srcdir)/std_data/*.dat $(DESTDIR)$(testdir)/std_data
 	$(INSTALL_DATA) $(srcdir)/std_data/*.*001 $(DESTDIR)$(testdir)/std_data
 	$(INSTALL_DATA) $(srcdir)/std_data/*.cnf $(DESTDIR)$(testdir)/std_data
Thread
bk commit into 5.1 tree (msvensson:1.2389)msvensson23 Nov