diff options
author | Sergey Vojtovich <svoj@mariadb.org> | 2015-06-03 14:30:09 +0400 |
---|---|---|
committer | Sergey Vojtovich <svoj@mariadb.org> | 2015-06-05 10:44:10 +0400 |
commit | b611ac06a736a5d8d4fcf0d81316343745d4113d (patch) | |
tree | a98653e806f55ffc803575c7c70fae2c46f37a79 | |
parent | af2256ff72c21a63ca0d786fa161386202a0150a (diff) | |
download | mariadb-git-b611ac06a736a5d8d4fcf0d81316343745d4113d.tar.gz |
MDEV-6236 - [PATCH] mysql_tzinfo_to_sql may produce invalid SQL
Factory timezone is supposed "For companies who don't want to put time zone
specification in their installation procedures. When users run date, they'll get
the message. Also useful for the "comp.sources" version."
This "message" is exposed as timezone abbreviation, which is supposed to be
short and thus may cause generated INSERT statements to fail.
Do not attempt to load Factory timezone.
-rw-r--r-- | mysql-test/r/mysql_tzinfo_to_sql_symlink.result | 9 | ||||
-rw-r--r-- | mysql-test/t/mysql_tzinfo_to_sql_symlink.test | 11 | ||||
-rw-r--r-- | sql/tztime.cc | 3 |
3 files changed, 22 insertions, 1 deletions
diff --git a/mysql-test/r/mysql_tzinfo_to_sql_symlink.result b/mysql-test/r/mysql_tzinfo_to_sql_symlink.result index dda732937ee..f127e756987 100644 --- a/mysql-test/r/mysql_tzinfo_to_sql_symlink.result +++ b/mysql-test/r/mysql_tzinfo_to_sql_symlink.result @@ -60,3 +60,12 @@ INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, # TRUNCATE TABLE time_zone_leap_second; ALTER TABLE time_zone_leap_second ORDER BY Transition_time; +# +# MDEV-6236 - [PATCH] mysql_tzinfo_to_sql may produce invalid SQL +# +TRUNCATE TABLE time_zone; +TRUNCATE TABLE time_zone_name; +TRUNCATE TABLE time_zone_transition; +TRUNCATE TABLE time_zone_transition_type; +ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time; +ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id; diff --git a/mysql-test/t/mysql_tzinfo_to_sql_symlink.test b/mysql-test/t/mysql_tzinfo_to_sql_symlink.test index 1ba4e91be3c..8ca82b87e30 100644 --- a/mysql-test/t/mysql_tzinfo_to_sql_symlink.test +++ b/mysql-test/t/mysql_tzinfo_to_sql_symlink.test @@ -37,3 +37,14 @@ # --exec rm -rf $MYSQLTEST_VARDIR/zoneinfo + +--echo # +--echo # MDEV-6236 - [PATCH] mysql_tzinfo_to_sql may produce invalid SQL +--echo # +--exec mkdir $MYSQLTEST_VARDIR/zoneinfo +--copy_file std_data/zoneinfo/GMT $MYSQLTEST_VARDIR/zoneinfo/Factory + +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--exec $MYSQL_TZINFO_TO_SQL $MYSQLTEST_VARDIR/zoneinfo 2>&1 + +--exec rm -rf $MYSQLTEST_VARDIR/zoneinfo diff --git a/sql/tztime.cc b/sql/tztime.cc index da23d6fc8c2..079611504cc 100644 --- a/sql/tztime.cc +++ b/sql/tztime.cc @@ -2521,7 +2521,8 @@ scan_tz_dir(char * name_end, uint symlink_recursion_level, uint verbose) for (i= 0; i < cur_dir->number_off_files; i++) { - if (cur_dir->dir_entry[i].name[0] != '.') + if (cur_dir->dir_entry[i].name[0] != '.' && + strcmp(cur_dir->dir_entry[i].name, "Factory")) { name_end_tmp= strmake(name_end, cur_dir->dir_entry[i].name, FN_REFLEN - (name_end - fullname)); |