Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Function date_add and date_sub don't check datetime field overflow #9667

Closed
qw4990 opened this issue Mar 12, 2019 · 0 comments · Fixed by #9702
Closed

Function date_add and date_sub don't check datetime field overflow #9667

qw4990 opened this issue Mar 12, 2019 · 0 comments · Fixed by #9702
Labels
good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. type/bug This issue is a bug. type/compatibility

Comments

@qw4990
Copy link
Contributor

qw4990 commented Mar 12, 2019

Bug Report

Please answer these questions before submitting your issue. Thanks!

  1. What did you do?
    If possible, provide a recipe for reproducing the error.
mysql> set sql_mode='traditional';
mysql> create table t1 (d date);
mysql> insert into t1 (d) select date_add('2000-01-01',interval 8000 year);
mysql> insert into t1 (d) select date_sub('2000-01-01', INTERVAL 2001 YEAR);
  1. What did you expect to see?
    In Mysql
mysql> set sql_mode='traditional';
Query OK, 0 rows affected (0.00 sec)
mysql> insert into t1 (d) select date_add('2000-01-01',interval 8000 year);
ERROR 1441 (22008): Datetime function: datetime field overflow
mysql> insert into t1 (d) select date_sub('2000-01-01', INTERVAL 2001 YEAR);
ERROR 1441 (22008): Datetime function: datetime field overflow
  1. What did you see instead?
    In TiDB
mysql> set sql_mode='traditional';
Query OK, 0 rows affected (0.00 sec)
mysql> insert into t1 (d) select date_add('2000-01-01',interval 8000 year);
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0
mysql> insert into t1 (d) select date_sub('2000-01-01', INTERVAL 2001 YEAR);
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0
  1. What version of TiDB are you using (tidb-server -V or run select tidb_version(); on TiDB)?
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tidb_version()                                                                                                                                                                                                                                                                                                                     |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Release Version: v3.0.0-beta-197-g52c8267a7
Git Commit Hash: 52c8267a735dbb5e14b07c361ab8caa3efff5631
Git Branch: master
UTC Build Time: 2019-03-12 06:53:10
GoVersion: go version go1.12 darwin/amd64
Race Enabled: false
TiKV Min Version: 2.1.0-alpha.1-ff3dd160846b7d1aed9079c389fc188f7f5ea13e
Check Table Before Drop: false |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
@qw4990 qw4990 added type/bug This issue is a bug. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. labels Mar 12, 2019
@qw4990 qw4990 changed the title Function date_add and date_sub is incompatible with Mysql Function date_add and date_sub don't check datetime field overflow Mar 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. type/bug This issue is a bug. type/compatibility
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants