mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
auto-merge
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
[MYSQL]
|
[MYSQL]
|
||||||
post_commit_to = "commits@lists.mysql.com"
|
post_commit_to = "commits@lists.mysql.com"
|
||||||
post_push_to = "commits@lists.mysql.com"
|
post_push_to = "commits@lists.mysql.com"
|
||||||
tree_name = "mysql-5.1"
|
tree_name = "mysql-5.1-bugteam"
|
||||||
|
@ -1560,6 +1560,7 @@ void ClientHello::Process(input_buffer&, SSL& ssl)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ssl.matchSuite(cipher_suites_, suite_len_);
|
ssl.matchSuite(cipher_suites_, suite_len_);
|
||||||
|
if (ssl.GetError()) return;
|
||||||
ssl.set_pending(ssl.getSecurity().get_parms().suite_[1]);
|
ssl.set_pending(ssl.getSecurity().get_parms().suite_[1]);
|
||||||
|
|
||||||
if (compression_methods_ == zlib)
|
if (compression_methods_ == zlib)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
SET CHARACTER SET utf8;
|
SET CHARACTER SET utf8;
|
||||||
SHOW VARIABLES like 'character_sets_dir';
|
SHOW VARIABLES like 'character_sets_dir';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
character_sets_dir /ß/
|
character_sets_dir MYSQL_TEST_DIR/ß/
|
||||||
SHOW VARIABLES like 'character_set_filesystem';
|
SHOW VARIABLES like 'character_set_filesystem';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
character_set_filesystem latin1
|
character_set_filesystem latin1
|
||||||
|
@ -110,7 +110,7 @@ i ts
|
|||||||
362793610 1981-07-01 04:00:00
|
362793610 1981-07-01 04:00:00
|
||||||
select from_unixtime(362793609);
|
select from_unixtime(362793609);
|
||||||
from_unixtime(362793609)
|
from_unixtime(362793609)
|
||||||
1981-07-01 03:59:60
|
1981-07-01 03:59:59
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (ts timestamp);
|
create table t1 (ts timestamp);
|
||||||
set time_zone='UTC';
|
set time_zone='UTC';
|
||||||
|
@ -17,6 +17,9 @@ insert into t1 values
|
|||||||
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 03:59:59'),'1981-07-01 03:59:59'),
|
||||||
(unix_timestamp('1981-07-01 04:00:00'),'1981-07-01 04:00:00');
|
(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;
|
select i, from_unixtime(i), c from t1;
|
||||||
i from_unixtime(i) c
|
i from_unixtime(i) c
|
||||||
1072904422 2004-01-01 00:00:00 2004-01-01 00:00:00
|
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
|
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
|
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
|
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;
|
drop table t1;
|
||||||
create table t1 (ts timestamp);
|
create table t1 (ts timestamp);
|
||||||
insert into t1 values (19730101235900), (20040101235900);
|
insert into t1 values (19730101235900), (20040101235900);
|
||||||
@ -39,3 +44,6 @@ ts
|
|||||||
1973-01-01 23:59:00
|
1973-01-01 23:59:00
|
||||||
2004-01-01 23:59:00
|
2004-01-01 23:59:00
|
||||||
drop table t1;
|
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
|
||||||
|
Binary file not shown.
@ -1,2 +1,2 @@
|
|||||||
--character-sets-dir=/<2F>
|
--character-sets-dir=$MYSQL_TEST_DIR/<2F>
|
||||||
--character-set-filesystem=latin1
|
--character-set-filesystem=latin1
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
SET CHARACTER SET utf8;
|
SET CHARACTER SET utf8;
|
||||||
|
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||||
SHOW VARIABLES like 'character_sets_dir';
|
SHOW VARIABLES like 'character_sets_dir';
|
||||||
SHOW VARIABLES like 'character_set_filesystem';
|
SHOW VARIABLES like 'character_set_filesystem';
|
||||||
SHOW VARIABLES like 'character_set_client';
|
SHOW VARIABLES like 'character_set_client';
|
||||||
|
@ -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 03:59:59'),'1981-07-01 03:59:59'),
|
||||||
(unix_timestamp('1981-07-01 04:00:00'),'1981-07-01 04:00:00');
|
(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;
|
select i, from_unixtime(i), c from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
@ -58,4 +62,12 @@ insert into t1 values (19730101235900), (20040101235900);
|
|||||||
select * from t1;
|
select * from t1;
|
||||||
drop table 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
|
# End of 4.1 tests
|
||||||
|
@ -82,6 +82,7 @@ public:
|
|||||||
sys_var(const char *name_arg, sys_after_update_func func= NULL,
|
sys_var(const char *name_arg, sys_after_update_func func= NULL,
|
||||||
Binlog_status_enum binlog_status_arg= NOT_IN_BINLOG)
|
Binlog_status_enum binlog_status_arg= NOT_IN_BINLOG)
|
||||||
:name(name_arg), after_update(func), no_support_one_shot(1),
|
:name(name_arg), after_update(func), no_support_one_shot(1),
|
||||||
|
is_os_charset (FALSE),
|
||||||
binlog_status(binlog_status_arg),
|
binlog_status(binlog_status_arg),
|
||||||
m_allow_empty_value(TRUE)
|
m_allow_empty_value(TRUE)
|
||||||
{}
|
{}
|
||||||
|
@ -1072,6 +1072,7 @@ Time_zone_system::gmt_sec_to_TIME(MYSQL_TIME *tmp, my_time_t t) const
|
|||||||
localtime_r(&tmp_t, &tmp_tm);
|
localtime_r(&tmp_t, &tmp_tm);
|
||||||
localtime_to_TIME(tmp, &tmp_tm);
|
localtime_to_TIME(tmp, &tmp_tm);
|
||||||
tmp->time_type= MYSQL_TIMESTAMP_DATETIME;
|
tmp->time_type= MYSQL_TIMESTAMP_DATETIME;
|
||||||
|
adjust_leap_second(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1156,6 +1157,7 @@ Time_zone_utc::gmt_sec_to_TIME(MYSQL_TIME *tmp, my_time_t t) const
|
|||||||
gmtime_r(&tmp_t, &tmp_tm);
|
gmtime_r(&tmp_t, &tmp_tm);
|
||||||
localtime_to_TIME(tmp, &tmp_tm);
|
localtime_to_TIME(tmp, &tmp_tm);
|
||||||
tmp->time_type= MYSQL_TIMESTAMP_DATETIME;
|
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
|
Time_zone_db::gmt_sec_to_TIME(MYSQL_TIME *tmp, my_time_t t) const
|
||||||
{
|
{
|
||||||
::gmt_sec_to_TIME(tmp, t, tz_info);
|
::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) */
|
#endif /* !defined(TESTTIME) && !defined(TZINFO2SQL) */
|
||||||
|
|
||||||
|
|
||||||
|
@ -55,6 +55,9 @@ public:
|
|||||||
allocated on MEM_ROOT and should not require destruction.
|
allocated on MEM_ROOT and should not require destruction.
|
||||||
*/
|
*/
|
||||||
virtual ~Time_zone() {};
|
virtual ~Time_zone() {};
|
||||||
|
|
||||||
|
protected:
|
||||||
|
static inline void adjust_leap_second(MYSQL_TIME *t);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern Time_zone * my_tz_UTC;
|
extern Time_zone * my_tz_UTC;
|
||||||
|
Reference in New Issue
Block a user