List:Commits« Previous MessageNext Message »
From:Georgi Kodinov Date:December 1 2008 7:56pm
Subject:bzr push into mysql-6.0-bugteam branch (kgeorge:2766 to 2768)
View as plain text  
 2768 Georgi Kodinov	2008-12-01 [merge]
      merged 5.1-bugteam -> 6.0-bugteam
modified:
  mysql-test/r/timezone2.result
  mysql-test/r/timezone3.result
  mysql-test/std_data/Moscow_leap
  mysql-test/t/timezone3.test
  sql/tztime.cc
  sql/tztime.h

 2767 Georgi Kodinov	2008-12-01 [merge]
      merged 6.0-main to 6.0-bugteam
added:
  mysql-test/suite/sys_vars/t/disabled.def
modified:
  mysql-test/t/disabled.def

 2766 Georgi Kodinov	2008-12-01
      Addendum to bug #22891.
      Moved the setting of max_allowed_packet to a .opt file.
added:
  mysql-test/suite/falcon/t/falcon_bug_22184-master.opt
modified:
  mysql-test/suite/falcon/r/falcon_bug_22184.result
  mysql-test/suite/falcon/t/falcon_bug_22184.test

=== modified file 'mysql-test/r/timezone2.result'
--- a/mysql-test/r/timezone2.result	2007-03-09 10:12:31 +0000
+++ b/mysql-test/r/timezone2.result	2008-12-01 15:43:51 +0000
@@ -110,7 +110,7 @@ i	ts
 362793610	1981-07-01 04:00:00
 select from_unixtime(362793609);
 from_unixtime(362793609)
-1981-07-01 03:59:60
+1981-07-01 03:59:59
 drop table t1;
 create table t1 (ts timestamp);
 set time_zone='UTC';

=== modified file 'mysql-test/r/timezone3.result'
--- a/mysql-test/r/timezone3.result	2004-11-12 15:44:17 +0000
+++ b/mysql-test/r/timezone3.result	2008-12-01 14:18:35 +0000
@@ -17,6 +17,9 @@ insert into t1 values
 insert into t1 values
 (unix_timestamp('1981-07-01 03:59:59'),'1981-07-01 03:59:59'),
 (unix_timestamp('1981-07-01 04:00:00'),'1981-07-01 04:00:00');
+insert into t1 values
+(unix_timestamp('2009-01-01 02:59:59'),'2009-01-01 02:59:59'),
+(unix_timestamp('2009-01-01 03:00:00'),'2009-01-01 03:00:00');
 select i, from_unixtime(i), c from t1;
 i	from_unixtime(i)	c
 1072904422	2004-01-01 00:00:00	2004-01-01 00:00:00
@@ -31,6 +34,8 @@ i	from_unixtime(i)	c
 1099180821	2004-10-31 02:59:59	2004-10-31 02:59:59
 362793608	1981-07-01 03:59:59	1981-07-01 03:59:59
 362793610	1981-07-01 04:00:00	1981-07-01 04:00:00
+1230768022	2009-01-01 02:59:59	2009-01-01 02:59:59
+1230768024	2009-01-01 03:00:00	2009-01-01 03:00:00
 drop table t1;
 create table t1 (ts timestamp);
 insert into t1 values (19730101235900), (20040101235900);
@@ -39,3 +44,6 @@ ts
 1973-01-01 23:59:00
 2004-01-01 23:59:00
 drop table t1;
+SELECT FROM_UNIXTIME(1230768022), FROM_UNIXTIME(1230768023), FROM_UNIXTIME(1230768024);
+FROM_UNIXTIME(1230768022)	FROM_UNIXTIME(1230768023)	FROM_UNIXTIME(1230768024)
+2009-01-01 02:59:59	2009-01-01 02:59:59	2009-01-01 03:00:00

=== modified file 'mysql-test/std_data/Moscow_leap'
Binary files a/mysql-test/std_data/Moscow_leap	2004-11-03 17:59:03 +0000 and
b/mysql-test/std_data/Moscow_leap	2008-12-01 14:18:35 +0000 differ

=== added file 'mysql-test/suite/sys_vars/t/disabled.def'
--- a/mysql-test/suite/sys_vars/t/disabled.def	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/disabled.def	2008-11-26 15:16:58 +0000
@@ -0,0 +1,21 @@
+##############################################################################
+#
+#  List the test cases that are to be disabled temporarily.
+#
+#  Separate the test case name and the comment with ':'.
+#
+#    <testcasename> : BUG#<xxxx> <date disabled> <disabler>
<comment>
+#
+#  Do not use any TAB characters for whitespace.
+#
+##############################################################################
+key_buffer_size_basic_64    : Bug #36522: Some tests of system variables have diffs on
64bit platorms
+rpl_recovery_rank_basic_64  : Bug #36522: Some tests of system variables have diffs on
64bit platorms
+sort_buffer_size_basic_64   : Bug #36522: Some tests of system variables have diffs on
64bit platorms
+query_cache_size_basic_32   : Bug#36747: Allocating a large query cache is not
deterministic
+query_cache_size_basic_64   : Bug#36747: Allocating a large query cache is not
deterministic
+query_alloc_block_size_basic_64:  Bug #37708 query_alloc_block_size_basic_64 fails in
pushbuild
+sort_buffer_size_basic_32   : Bug#36875 main.sort_buffer_size_basic_32 fails on some
systems
+key_buffer_size_basic_32    : Bug#36876 main.key_buffer_size_basic_32 fails on some
systems
+max_heap_table_size_basic_32 : Bug#36877 main.max_heap_table_size_basic_32 fails on some
systems
+tmp_table_size_basic_32     : Bug#36878 main.tmp_table_size_basic_32 fails on some
systems

=== modified file 'mysql-test/t/disabled.def'
--- a/mysql-test/t/disabled.def	2008-11-26 21:44:57 +0000
+++ b/mysql-test/t/disabled.def	2008-12-01 15:57:12 +0000
@@ -12,10 +12,10 @@
 innodb          : WL#1213: Waiting for InnoDB team to add support for 4-byte character
sets.
 federated_transactions   : Bug#29523 Transactions do not work
 lowercase_table3         : Bug#32667 lowercase_table3.test reports to error log
-rpl_log_pos          : Bug#8693 Test 'rpl_log_pos' fails sometimes
 ctype_create         : Bug#32965 main.ctype_create fails
 backup_no_engine     : Bug#36021 2008-04-13 rsomla server crashes when openning table
with unknown storage engine
 query_cache_wlock_invalidate_func: Bug#35390 causes not deterministic results.
+csv_alter_table      : Bug#33696 2008-01-21 pcrews no .result file - bug allows NULL
columns in CSV tables
 cast                 : Bug#35594 2008-03-27 main.cast fails on Windows2003-64
 backup_triggers_and_events  : Bug#37762 2008-07-01 rafal Test fails on remove_file for
unknown reasons
 backup_no_be                : Bug#38023 2008-07-16 rafal Test triggers valgrind warnings
described in the bug

=== modified file 'mysql-test/t/timezone3.test'
--- a/mysql-test/t/timezone3.test	2005-07-28 00:22:47 +0000
+++ b/mysql-test/t/timezone3.test	2008-12-01 14:18:35 +0000
@@ -45,6 +45,10 @@ insert into t1 values
   (unix_timestamp('1981-07-01 03:59:59'),'1981-07-01 03:59:59'),
   (unix_timestamp('1981-07-01 04:00:00'),'1981-07-01 04:00:00');
 
+insert into t1 values
+  (unix_timestamp('2009-01-01 02:59:59'),'2009-01-01 02:59:59'),
+  (unix_timestamp('2009-01-01 03:00:00'),'2009-01-01 03:00:00');
+
 select i, from_unixtime(i), c from t1;
 drop table t1;
 
@@ -58,4 +62,12 @@ insert into t1 values (19730101235900), 
 select * from t1;
 drop table t1;
 
+#
+# Test Bug #39920: MySQL cannot deal with Leap Second expression in string
+# literal
+#
+
+# 2009-01-01 02:59:59, 2009-01-01 02:59:60 and 2009-01-01 03:00:00
+SELECT FROM_UNIXTIME(1230768022), FROM_UNIXTIME(1230768023), FROM_UNIXTIME(1230768024);
+
 # End of 4.1 tests

=== modified file 'sql/tztime.cc'
--- a/sql/tztime.cc	2008-05-08 20:43:28 +0000
+++ b/sql/tztime.cc	2008-12-01 16:00:03 +0000
@@ -1072,6 +1072,7 @@ Time_zone_system::gmt_sec_to_TIME(MYSQL_
   localtime_r(&tmp_t, &tmp_tm);
   localtime_to_TIME(tmp, &tmp_tm);
   tmp->time_type= MYSQL_TIMESTAMP_DATETIME;
+  adjust_leap_second(tmp);
 }
 
 
@@ -1156,6 +1157,7 @@ Time_zone_utc::gmt_sec_to_TIME(MYSQL_TIM
   gmtime_r(&tmp_t, &tmp_tm);
   localtime_to_TIME(tmp, &tmp_tm);
   tmp->time_type= MYSQL_TIMESTAMP_DATETIME;
+  adjust_leap_second(tmp);
 }
 
 
@@ -1259,6 +1261,7 @@ void
 Time_zone_db::gmt_sec_to_TIME(MYSQL_TIME *tmp, my_time_t t) const
 {
   ::gmt_sec_to_TIME(tmp, t, tz_info);
+  adjust_leap_second(tmp);
 }
 
 
@@ -2279,6 +2282,24 @@ my_tz_find(THD *thd, const String *name)
 }
 
 
+/**
+  Convert leap seconds into non-leap
+
+  This function will convert the leap seconds added by the OS to 
+  non-leap seconds, e.g. 23:59:59, 23:59:60 -> 23:59:59, 00:00:01 ...
+  This check is not checking for years on purpose : although it's not a
+  complete check this way it doesn't require looking (and having installed)
+  the leap seconds table.
+
+  @param[in,out] broken down time structure as filled in by the OS
+*/
+
+void Time_zone::adjust_leap_second(MYSQL_TIME *t)
+{
+  if (t->second == 60 || t->second == 61)
+    t->second= 59;
+}
+
 #endif /* !defined(TESTTIME) && !defined(TZINFO2SQL) */
 
 

=== modified file 'sql/tztime.h'
--- a/sql/tztime.h	2007-10-16 20:11:50 +0000
+++ b/sql/tztime.h	2008-12-01 15:22:16 +0000
@@ -55,6 +55,9 @@ public:
     allocated on MEM_ROOT and should not require destruction.
   */
   virtual ~Time_zone() {};
+
+protected:
+  static inline void adjust_leap_second(MYSQL_TIME *t);
 };
 
 extern Time_zone * my_tz_UTC;

Thread
bzr push into mysql-6.0-bugteam branch (kgeorge:2766 to 2768) Georgi Kodinov1 Dec