Bug #18996 DATE accepts values below its documented lower bound
Submitted: 10 Apr 2006 21:36 Modified: 10 May 2006 4:20
Reporter: Hartmut Holzgraefe Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:4.1, 5.0,5.1 OS:Any (*)
Assigned to: CPU Architecture:Any

[10 Apr 2006 21:36] Hartmut Holzgraefe
Description:
The documentation says "The supported range is '1000-01-01' to '9999-12-31'."
but vales below 1000 are accepted just fine even with strict checking enabled.

How to repeat:
set session sql_mode="TRADITIONAL,STRICT_ALL_TABLES";
create table t1 (d date);
insert into t1 values ("0001-01-01"); -- works
insert into t1 values ("2001-02-31"); -- fails, checks are working here

Suggested fix:
either make things behave like documented or change documentation to reflect the actual behavior
[11 Apr 2006 1:41] MySQL Verification Team
Thank you for the bug report.
[10 May 2006 4:20] Sergei Golubchik
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.mysql.com/documentation/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php

Additional info:

See http://dev.mysql.com/doc/refman/5.0/en/datetime.html

"For the DATETIME and DATE  range descriptions, “supported” means that although earlier values might work, there is no guarantee."