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) | msvensson | 23 Nov |