diff options
author | unknown <jimw@mysql.com> | 2005-07-18 16:12:44 -0700 |
---|---|---|
committer | unknown <jimw@mysql.com> | 2005-07-18 16:12:44 -0700 |
commit | 5958f22a622bdf62b0a426b4184c20f4c962a7e2 (patch) | |
tree | 84495874ff2aa17253ec5fef315c2538a1c75871 /mysql-test/t/strict.test | |
parent | b7033fb37b0ef2f1e46c97f8749a714840abdc68 (diff) | |
download | mariadb-git-5958f22a622bdf62b0a426b4184c20f4c962a7e2.tar.gz |
Fix number to date conversion so it always honors the NO_ZERO_DATE,
NO_ZERO_IN_DATE, and INVALID_DATES bits of SQL_MODE. (Bug #5906)
include/my_time.h:
Pass flags to number_to_datetime() so it can check things
like NO_ZERO_DATE.
libmysql/libmysql.c:
Enable fuzzy date handling when converting strings and numbers
to datetime fields.
mysql-test/r/ps_2myisam.result:
Update results
mysql-test/r/ps_3innodb.result:
Update results
mysql-test/r/ps_4heap.result:
Update results
mysql-test/r/ps_5merge.result:
Update results
mysql-test/r/ps_6bdb.result:
Update results
mysql-test/r/ps_7ndb.result:
Update results
mysql-test/r/strict.result:
Update results
mysql-test/r/timezone2.result:
Update results
mysql-test/r/type_datetime.result:
Update results
mysql-test/t/strict.test:
Add new regression test
mysql-test/t/timezone2.test:
Add new test of timestamp values in DST gap
sql-common/my_time.c:
Expand check_date() to check NO_ZERO_DATE and NO_ZERO_IN_DATE, and
use it from number_to_datetime() as well as str_to_datetime(). Also,
make number_to_datetime() return -1 on error so we can distinguish
between a violation of NO_ZERO_DATE and other errors.
sql/field.cc:
Update conversion of numbers to date, datetime, and timestamp to
use number_to_datetime() and report errors and warnings correctly
and consistently.
Diffstat (limited to 'mysql-test/t/strict.test')
-rw-r--r-- | mysql-test/t/strict.test | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mysql-test/t/strict.test b/mysql-test/t/strict.test index 302acc9bef2..74c27c488db 100644 --- a/mysql-test/t/strict.test +++ b/mysql-test/t/strict.test @@ -1093,3 +1093,18 @@ set @@sql_mode='traditional'; create table t1(a varchar(65537)); --error 1074 create table t1(a varbinary(65537)); + +# +# Bug #5906: handle invalid date due to conversion +# +set @@sql_mode='traditional'; +create table t1 (d date); +--error 1292 +insert into t1 values ('2000-10-00'); +--error 1292 +insert into t1 values (1000); +insert into t1 values ('2000-10-01'); +--error 1292 +update t1 set d = 1100; +select * from t1; +drop table t1; |