Skip to content

Commit a9aaff2

Browse files
committed
add test queries for underflow, overflow and formats
1 parent 8e2fede commit a9aaff2

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

enginetest/queries/queries.go

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4830,6 +4830,47 @@ SELECT * FROM cte WHERE d = 2;`,
48304830
Query: "SELECT subdate(da, f32/10) from typestable;",
48314831
Expected: []sql.Row{{time.Date(2019, time.December, 30, 0, 0, 0, 0, time.UTC)}},
48324832
},
4833+
{
4834+
Query: "SELECT date_add('4444-01-01', INTERVAL 5400000 DAY);",
4835+
Expected: []sql.Row{{nil}},
4836+
},
4837+
{
4838+
Query: "SELECT date_add('4444-01-01', INTERVAL -5300000 DAY);",
4839+
Expected: []sql.Row{{nil}},
4840+
},
4841+
{
4842+
Query: "SELECT subdate('2008-01-02', 12e10);",
4843+
Expected: []sql.Row{{nil}},
4844+
},
4845+
{
4846+
Query: "SELECT date_add('2008-01-02', INTERVAL 1000000 day);",
4847+
Expected: []sql.Row{{"4745-11-29"}},
4848+
},
4849+
{
4850+
Query: "SELECT subdate('2008-01-02', INTERVAL 700000 day);",
4851+
Expected: []sql.Row{{"0091-06-20"}},
4852+
},
4853+
{
4854+
Query: "SELECT date_add('0000-01-01:01:00:00', INTERVAL 0 day);",
4855+
// MYSQL uses a proleptic gregorian, however, Go's time package does normal gregorian.
4856+
Expected: []sql.Row{{"0000-01-01 01:00:00"}},
4857+
},
4858+
{
4859+
Query: "SELECT date_add('9999-12-31:23:59:59.9999994', INTERVAL 0 day);",
4860+
Expected: []sql.Row{{"9999-12-31 23:59:59.999999"}},
4861+
},
4862+
{
4863+
Query: "SELECT date_add('9999-12-31:23:59:59.9999995', INTERVAL 0 day);",
4864+
Expected: []sql.Row{{nil}},
4865+
},
4866+
{
4867+
Query: "SELECT date_add('9999-12-31:23:59:59.99999945', INTERVAL 0 day);",
4868+
Expected: []sql.Row{{"9999-12-31 23:59:59.999999"}},
4869+
},
4870+
{
4871+
Query: "SELECT date_add('9999-12-31:23:59:59.99999944444444444-', INTERVAL 0 day);",
4872+
Expected: []sql.Row{{nil}},
4873+
},
48334874
{
48344875
Query: `SELECT * FROM (SELECT * FROM (SELECT * FROM (SELECT * FROM othertable) othertable_one) othertable_two) othertable_three WHERE s2 = 'first'`,
48354876
Expected: []sql.Row{

0 commit comments

Comments
 (0)