summaryrefslogtreecommitdiff
path: root/mysql-test/t/func_time.test
diff options
context:
space:
mode:
authorAlexander Barkov <alexander.barkov@oracle.com>2012-01-24 13:00:13 +0400
committerAlexander Barkov <alexander.barkov@oracle.com>2012-01-24 13:00:13 +0400
commit1f776e9f24029d1620fa6b67a7f9945cb504ae8f (patch)
treeb44f8c4a876c47af6975cf47ff07fa694dbc6f81 /mysql-test/t/func_time.test
parent429fdb3b09b24d8277b1f20fe03546a2eb7a71d5 (diff)
downloadmariadb-git-1f776e9f24029d1620fa6b67a7f9945cb504ae8f.tar.gz
BUG#13458237 - INCONSISTENT HANDLING OF INVALIDE DATES WITH ZERO DAY. SIMILAR TO '2009-10-00'
- Reverting the patch for Bug # 12584302 The patch will be reverted in 5.1 and 5.5. The patch will not be reverted in 5.6, the change will be properly documented in 5.6. - Backporting DBUG_ASSERT not to crash on '0000-01-00' (already fixed in mysql-trunk (5.6))
Diffstat (limited to 'mysql-test/t/func_time.test')
-rw-r--r--mysql-test/t/func_time.test61
1 files changed, 61 insertions, 0 deletions
diff --git a/mysql-test/t/func_time.test b/mysql-test/t/func_time.test
index 2dcac0d5796..3ea79a7fc94 100644
--- a/mysql-test/t/func_time.test
+++ b/mysql-test/t/func_time.test
@@ -934,4 +934,65 @@ SELECT WEEK(DATE_ADD(FROM_DAYS(1),INTERVAL 1 MONTH), 1);
DO WEEK((DATE_ADD((CAST(0 AS DATE)), INTERVAL 1 YEAR_MONTH)), 5);
+--echo #
+--echo # BUG#13458237 INCONSISTENT HANDLING OF INVALIDE DATES WITH ZERO DAY
+--echo # SIMILAR TO '2009-10-00'
+--echo #
+
+query_vertical SELECT
+ DATE('20091000'),
+ STR_TO_DATE('200910','%Y%m'),
+ LAST_DAY('2009-10-00'),
+ LAST_DAY(DATE('2009-10-00')),
+ LAST_DAY(DATE'2009-10-00'),
+ LAST_DAY(STR_TO_DATE('200910','%Y%m')),
+ WEEK('2009-10-00'),
+ WEEK(DATE('2009-10-00')),
+ WEEK(DATE'2009-10-00'),
+ WEEK(STR_TO_DATE('200910','%Y%m')),
+ WEEKOFYEAR('2009-10-00'),
+ WEEKOFYEAR(DATE('2009-10-00')),
+ WEEKOFYEAR(DATE'2009-10-00'),
+ WEEKOFYEAR(STR_TO_DATE('200910','%Y%m')),
+ DAYOFYEAR('2009-10-00'),
+ DAYOFYEAR(DATE('2009-10-00')),
+ DAYOFYEAR(DATE'2009-10-00'),
+ DAYOFYEAR(STR_TO_DATE('200910','%Y%m')),
+ WEEKDAY('2009-10-00'),
+ WEEKDAY(DATE('2009-10-00')),
+ WEEKDAY(DATE'2009-10-00'),
+ WEEKDAY(STR_TO_DATE('200910','%Y%m')),
+ TO_DAYs('2009-10-00'),
+ TO_DAYs(DATE('2009-10-00')),
+ TO_DAYs(DATE'2009-10-00'),
+ TO_DAYs(STR_TO_DATE('200910','%Y%m'));
+
+query_vertical SELECT
+ DATE('00000100'),
+ STR_TO_DATE('000001','%Y%m'),
+ LAST_DAY('0000-01-00'),
+ LAST_DAY(DATE('0000-01-00')),
+ LAST_DAY(DATE'0000-01-00'),
+ LAST_DAY(STR_TO_DATE('000001','%Y%m')),
+ WEEK('0000-01-00'),
+ WEEK(DATE('0000-01-00')),
+ WEEK(DATE'0000-01-00'),
+ WEEK(STR_TO_DATE('000001','%Y%m')),
+ WEEKOFYEAR('0000-01-00'),
+ WEEKOFYEAR(DATE('0000-01-00')),
+ WEEKOFYEAR(DATE'0000-01-00'),
+ WEEKOFYEAR(STR_TO_DATE('000001','%Y%m')),
+ DAYOFYEAR('0000-01-00'),
+ DAYOFYEAR(DATE('0000-01-00')),
+ DAYOFYEAR(DATE'0000-01-00'),
+ DAYOFYEAR(STR_TO_DATE('000001','%Y%m')),
+ WEEKDAY('0000-01-00'),
+ WEEKDAY(DATE('0000-01-00')),
+ WEEKDAY(DATE'0000-01-00'),
+ WEEKDAY(STR_TO_DATE('000001','%Y%m')),
+ TO_DAYs('0000-01-00'),
+ TO_DAYs(DATE('0000-01-00')),
+ TO_DAYs(DATE'0000-01-00'),
+ TO_DAYs(STR_TO_DATE('000001','%Y%m'));
+
--echo End of 5.1 tests