mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into mysql.com:/home/jimw/my/mysql-5.0-clean
This commit is contained in:
commit
fa94e5389a
8 changed files with 48 additions and 20 deletions
|
@ -1,4 +1,4 @@
|
|||
--require r/true.require
|
||||
--disable_query_log;
|
||||
disable_query_log;
|
||||
select convert(@@version_compile_os using latin1) NOT IN ("Win32","Win64","Windows") as "TRUE";
|
||||
--enable_query_log;
|
||||
enable_query_log;
|
||||
|
|
|
@ -941,24 +941,24 @@ KEY `date` (`date`)
|
|||
) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES ('20050326');
|
||||
INSERT INTO t1 VALUES ('20050325');
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050327 0:0:0';
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050327 invalid';
|
||||
COUNT(*)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '20050327 0:0:0' for column 'date' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20050327 0:0:0' for column 'date' at row 1
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050328 0:0:0';
|
||||
Warning 1292 Incorrect datetime value: '20050327 invalid' for column 'date' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20050327 invalid' for column 'date' at row 1
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050328 invalid';
|
||||
COUNT(*)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '20050328 0:0:0' for column 'date' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20050328 0:0:0' for column 'date' at row 1
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050327 0:0:0';
|
||||
Warning 1292 Incorrect datetime value: '20050328 invalid' for column 'date' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20050328 invalid' for column 'date' at row 1
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050327 invalid';
|
||||
COUNT(*)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '20050327 0:0:0' for column 'date' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20050327 0:0:0' for column 'date' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20050327 invalid' for column 'date' at row 1
|
||||
Warning 1292 Incorrect datetime value: '20050327 invalid' for column 'date' at row 1
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
|
|
|
@ -153,3 +153,13 @@ dt
|
|||
0000-00-00 00:00:00
|
||||
0000-00-00 00:00:00
|
||||
drop table t1;
|
||||
create table t1 (dt datetime);
|
||||
insert into t1 values ("20010101T010101");
|
||||
insert into t1 values ("2001-01-01T01:01:01");
|
||||
insert into t1 values ("2001-1-1T1:01:01");
|
||||
select * from t1;
|
||||
dt
|
||||
2001-01-01 01:01:01
|
||||
2001-01-01 01:01:01
|
||||
2001-01-01 01:01:01
|
||||
drop table t1;
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Embedded server doesn't support external clients
|
||||
--source include/not_embedded.inc
|
||||
# Windows fails because it disconnects on too-large packets instead of just
|
||||
# swallowing them and returning an error
|
||||
--source include/not_windows.inc
|
||||
|
||||
#
|
||||
# Check protocol handling
|
||||
|
|
|
@ -709,9 +709,9 @@ CREATE TABLE t1 (
|
|||
|
||||
INSERT INTO t1 VALUES ('20050326');
|
||||
INSERT INTO t1 VALUES ('20050325');
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050327 0:0:0';
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050328 0:0:0';
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050327 0:0:0';
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050327 invalid';
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050328 invalid';
|
||||
SELECT COUNT(*) FROM t1 WHERE date BETWEEN '20050326' AND '20050327 invalid';
|
||||
show status like "Qcache_queries_in_cache";
|
||||
show status like "Qcache_inserts";
|
||||
show status like "Qcache_hits";
|
||||
|
|
|
@ -3,7 +3,10 @@
|
|||
# RENAME TABLE work with MERGE tables on the slave.
|
||||
# Test of FLUSH NO_WRITE_TO_BINLOG by the way.
|
||||
#
|
||||
source include/master-slave.inc;
|
||||
--source include/master-slave.inc
|
||||
# Skipped on Windows because it can't handle a table underlying an open
|
||||
# merge table getting renamed.
|
||||
--source include/not_windows.inc
|
||||
|
||||
create table t1 (a int);
|
||||
insert into t1 values (10);
|
||||
|
|
|
@ -102,4 +102,14 @@ insert into t1 values ("00-00-00"), ("00-00-00 00:00:00");
|
|||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #7308: ISO-8601 date format not handled correctly
|
||||
#
|
||||
create table t1 (dt datetime);
|
||||
insert into t1 values ("20010101T010101");
|
||||
insert into t1 values ("2001-01-01T01:01:01");
|
||||
insert into t1 values ("2001-1-1T1:01:01");
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
|
|
@ -207,7 +207,7 @@ str_to_datetime(const char *str, uint length, MYSQL_TIME *l_time,
|
|||
{
|
||||
/* Found date in internal format (only numbers like YYYYMMDD) */
|
||||
year_length= (digits == 4 || digits == 8 || digits >= 14) ? 4 : 2;
|
||||
field_length=year_length-1;
|
||||
field_length= year_length;
|
||||
is_internal_format= 1;
|
||||
format_position= internal_format_positions;
|
||||
}
|
||||
|
@ -237,6 +237,8 @@ str_to_datetime(const char *str, uint length, MYSQL_TIME *l_time,
|
|||
start_loop= 5; /* Start with first date part */
|
||||
}
|
||||
}
|
||||
|
||||
field_length= format_position[0] == 0 ? 4 : 2;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -261,7 +263,7 @@ str_to_datetime(const char *str, uint length, MYSQL_TIME *l_time,
|
|||
const char *start= str;
|
||||
ulong tmp_value= (uint) (uchar) (*str++ - '0');
|
||||
while (str != end && my_isdigit(&my_charset_latin1,str[0]) &&
|
||||
(!is_internal_format || field_length--))
|
||||
--field_length)
|
||||
{
|
||||
tmp_value=tmp_value*10 + (ulong) (uchar) (*str - '0');
|
||||
str++;
|
||||
|
@ -275,8 +277,8 @@ str_to_datetime(const char *str, uint length, MYSQL_TIME *l_time,
|
|||
date[i]=tmp_value;
|
||||
not_zero_date|= tmp_value;
|
||||
|
||||
/* Length-1 of next field */
|
||||
field_length= format_position[i+1] == 0 ? 3 : 1;
|
||||
/* Length of next field */
|
||||
field_length= format_position[i+1] == 0 ? 4 : 2;
|
||||
|
||||
if ((last_field_pos= str) == end)
|
||||
{
|
||||
|
@ -294,7 +296,7 @@ str_to_datetime(const char *str, uint length, MYSQL_TIME *l_time,
|
|||
if (*str == '.') /* Followed by part seconds */
|
||||
{
|
||||
str++;
|
||||
field_length= 5; /* 5 digits after first (=6) */
|
||||
field_length= 6; /* 6 digits */
|
||||
}
|
||||
continue;
|
||||
|
||||
|
|
Loading…
Reference in a new issue