Skip to content

Commit 6a03b43

Browse files
committed
More moves
1 parent 20ee74e commit 6a03b43

File tree

2 files changed

+150
-146
lines changed

2 files changed

+150
-146
lines changed

enginetest/queries/function_queries.go

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1374,4 +1374,154 @@ var FunctionQueryTests = []QueryTest{
13741374
Query: "select abs(-i) from mytable order by 1",
13751375
Expected: []sql.Row{{1}, {2}, {3}},
13761376
},
1377+
1378+
// Date Manipulation Function Tests
1379+
{
1380+
Query: "SELECT TIMESTAMPADD(DAY, 1, '2018-05-02')",
1381+
Expected: []sql.Row{{"2018-05-03"}},
1382+
},
1383+
{
1384+
Query: "SELECT DATE_ADD('2018-05-02', INTERVAL 1 day)",
1385+
Expected: []sql.Row{{"2018-05-03"}},
1386+
},
1387+
{
1388+
Query: "SELECT DATE_ADD(DATE('2018-05-02'), INTERVAL 1 day)",
1389+
Expected: []sql.Row{{time.Date(2018, time.May, 3, 0, 0, 0, 0, time.UTC)}},
1390+
},
1391+
{
1392+
Query: "select date_add(time('12:13:14'), interval 1 minute);",
1393+
Expected: []sql.Row{{types.Timespan(44054000000)}},
1394+
},
1395+
{
1396+
Query: "SELECT DATE_SUB('2018-05-02', INTERVAL 1 DAY)",
1397+
Expected: []sql.Row{{"2018-05-01"}},
1398+
},
1399+
{
1400+
Query: "SELECT DATE_SUB(DATE('2018-05-02'), INTERVAL 1 DAY)",
1401+
Expected: []sql.Row{{time.Date(2018, time.May, 1, 0, 0, 0, 0, time.UTC)}},
1402+
},
1403+
{
1404+
Query: "select date_sub(time('12:13:14'), interval 1 minute);",
1405+
Expected: []sql.Row{{types.Timespan(43934000000)}},
1406+
},
1407+
{
1408+
Query: "SELECT '2018-05-02' + INTERVAL 1 DAY",
1409+
Expected: []sql.Row{{time.Date(2018, time.May, 3, 0, 0, 0, 0, time.UTC)}},
1410+
},
1411+
{
1412+
Query: "SELECT CONVERT('9999-12-31 23:59:59', DATETIME)",
1413+
Expected: []sql.Row{{time.Date(9999, time.December, 31, 23, 59, 59, 0, time.UTC)}},
1414+
},
1415+
{
1416+
Query: "SELECT DATETIME('9999-12-31 23:59:59')",
1417+
Expected: []sql.Row{{time.Date(9999, time.December, 31, 23, 59, 59, 0, time.UTC)}},
1418+
},
1419+
{
1420+
Query: "SELECT TIMESTAMP('2020-12-31 23:59:59')",
1421+
Expected: []sql.Row{{time.Date(2020, time.December, 31, 23, 59, 59, 0, time.UTC)}},
1422+
},
1423+
{
1424+
Query: "SELECT CONVERT('10000-12-31 23:59:59', DATETIME)",
1425+
Expected: []sql.Row{{nil}},
1426+
},
1427+
{
1428+
Query: "SELECT '9999-12-31 23:59:59' + INTERVAL 1 DAY",
1429+
Expected: []sql.Row{{nil}},
1430+
},
1431+
{
1432+
Query: "SELECT DATE_ADD('9999-12-31 23:59:59', INTERVAL 1 DAY)",
1433+
Expected: []sql.Row{{nil}},
1434+
},
1435+
{
1436+
Query: "SELECT EXTRACT(DAY FROM '9999-12-31 23:59:59')",
1437+
Expected: []sql.Row{{31}},
1438+
},
1439+
1440+
// String Search Function Tests
1441+
{
1442+
Query: "SELECT instr(s, 'row') as l FROM mytable ORDER BY i",
1443+
Expected: []sql.Row{{int64(7)}, {int64(8)}, {int64(7)}},
1444+
},
1445+
{
1446+
Query: "SELECT instr(s, 'first') as l FROM mytable ORDER BY i",
1447+
Expected: []sql.Row{{int64(1)}, {int64(0)}, {int64(0)}},
1448+
},
1449+
{
1450+
Query: "SELECT instr(s, 'o') as l FROM mytable ORDER BY i",
1451+
Expected: []sql.Row{{int64(8)}, {int64(4)}, {int64(8)}},
1452+
},
1453+
{
1454+
Query: "SELECT instr(s, NULL) as l FROM mytable ORDER BY l",
1455+
Expected: []sql.Row{{nil}, {nil}, {nil}},
1456+
},
1457+
{
1458+
Query: `select locate("o", s) from mytable order by i`,
1459+
Expected: []sql.Row{{8}, {4}, {8}},
1460+
},
1461+
{
1462+
Query: `select locate("o", s, 5) from mytable order by i`,
1463+
Expected: []sql.Row{{8}, {9}, {8}},
1464+
},
1465+
{
1466+
Query: `select locate(upper("roW"), upper(s), power(10, 0)) from mytable order by i`,
1467+
Expected: []sql.Row{{7}, {8}, {7}},
1468+
},
1469+
{
1470+
Query: "select find_in_set('second row', s) from mytable;",
1471+
Expected: []sql.Row{
1472+
{0},
1473+
{1},
1474+
{0},
1475+
},
1476+
},
1477+
{
1478+
Query: "select find_in_set(s, 'first row,second row,third row') from mytable;",
1479+
Expected: []sql.Row{
1480+
{1},
1481+
{2},
1482+
{3},
1483+
},
1484+
},
1485+
1486+
// Additional Math Function Tests
1487+
{
1488+
Query: "select log2(i) from mytable order by i",
1489+
Expected: []sql.Row{{0.0}, {1.0}, {1.5849625007211563}},
1490+
},
1491+
1492+
// UUID and Compression Function Tests
1493+
{
1494+
Query: `select uuid() = uuid()`,
1495+
Expected: []sql.Row{
1496+
{false},
1497+
},
1498+
},
1499+
{
1500+
Query: `select instr(REPLACE(CONVERT(UUID() USING utf8mb4), '-', ''), '-')`,
1501+
Expected: []sql.Row{{0}},
1502+
},
1503+
{
1504+
Query: "select uncompress(compress('thisisastring'))",
1505+
Expected: []sql.Row{
1506+
{[]byte{0x74, 0x68, 0x69, 0x73, 0x69, 0x73, 0x61, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67}},
1507+
},
1508+
},
1509+
{
1510+
Query: "select length(compress(repeat('a', 1000)))",
1511+
Expected: []sql.Row{
1512+
{24}, // 21 in MySQL because of library implementation differences
1513+
},
1514+
},
1515+
{
1516+
Query: "select length(uncompress(compress(repeat('a', 1000))))",
1517+
Expected: []sql.Row{
1518+
{1000},
1519+
},
1520+
},
1521+
{
1522+
Query: "select uncompressed_length(compress(repeat('a', 1000)))",
1523+
Expected: []sql.Row{
1524+
{uint32(1000)},
1525+
},
1526+
},
13771527
}

enginetest/queries/queries.go

Lines changed: 0 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -5559,58 +5559,6 @@ SELECT * FROM cte WHERE d = 2;`,
55595559
Query: "SELECT left(s, 100) as l FROM mytable ORDER BY l",
55605560
Expected: []sql.Row{{"first row"}, {"second row"}, {"third row"}},
55615561
},
5562-
{
5563-
Query: "SELECT instr(s, 'row') as l FROM mytable ORDER BY i",
5564-
Expected: []sql.Row{{int64(7)}, {int64(8)}, {int64(7)}},
5565-
},
5566-
{
5567-
Query: "SELECT instr(s, 'first') as l FROM mytable ORDER BY i",
5568-
Expected: []sql.Row{{int64(1)}, {int64(0)}, {int64(0)}},
5569-
},
5570-
{
5571-
Query: "SELECT instr(s, 'o') as l FROM mytable ORDER BY i",
5572-
Expected: []sql.Row{{int64(8)}, {int64(4)}, {int64(8)}},
5573-
},
5574-
{
5575-
Query: "SELECT instr(s, NULL) as l FROM mytable ORDER BY l",
5576-
Expected: []sql.Row{{nil}, {nil}, {nil}},
5577-
},
5578-
{
5579-
Query: "SELECT TIMESTAMPADD(DAY, 1, '2018-05-02')",
5580-
Expected: []sql.Row{{"2018-05-03"}},
5581-
},
5582-
{
5583-
Query: "SELECT DATE_ADD('2018-05-02', INTERVAL 1 day)",
5584-
Expected: []sql.Row{{"2018-05-03"}},
5585-
},
5586-
{
5587-
Query: "SELECT DATE_ADD(DATE('2018-05-02'), INTERVAL 1 day)",
5588-
Expected: []sql.Row{{time.Date(2018, time.May, 3, 0, 0, 0, 0, time.UTC)}},
5589-
},
5590-
{
5591-
Query: "select date_add(time('12:13:14'), interval 1 minute);",
5592-
Expected: []sql.Row{{types.Timespan(44054000000)}},
5593-
},
5594-
{
5595-
Query: "SELECT DATE_SUB('2018-05-02', INTERVAL 1 DAY)",
5596-
Expected: []sql.Row{{"2018-05-01"}},
5597-
},
5598-
{
5599-
Query: "SELECT DATE_SUB(DATE('2018-05-02'), INTERVAL 1 DAY)",
5600-
Expected: []sql.Row{{time.Date(2018, time.May, 1, 0, 0, 0, 0, time.UTC)}},
5601-
},
5602-
{
5603-
Query: "select date_sub(time('12:13:14'), interval 1 minute);",
5604-
Expected: []sql.Row{{types.Timespan(43934000000)}},
5605-
},
5606-
{
5607-
Query: "SELECT '2018-05-02' + INTERVAL 1 DAY",
5608-
Expected: []sql.Row{{time.Date(2018, time.May, 3, 0, 0, 0, 0, time.UTC)}},
5609-
},
5610-
{
5611-
Query: "SELECT '2018-05-02' - INTERVAL 1 DAY",
5612-
Expected: []sql.Row{{time.Date(2018, time.May, 1, 0, 0, 0, 0, time.UTC)}},
5613-
},
56145562
{
56155563
Query: `SELECT i AS i FROM mytable ORDER BY i`,
56165564
Expected: []sql.Row{{int64(1)}, {int64(2)}, {int64(3)}},
@@ -5689,34 +5637,6 @@ SELECT * FROM cte WHERE d = 2;`,
56895637
{string("first row"), int64(1)},
56905638
},
56915639
},
5692-
{
5693-
Query: "SELECT CONVERT('9999-12-31 23:59:59', DATETIME)",
5694-
Expected: []sql.Row{{time.Date(9999, time.December, 31, 23, 59, 59, 0, time.UTC)}},
5695-
},
5696-
{
5697-
Query: "SELECT DATETIME('9999-12-31 23:59:59')",
5698-
Expected: []sql.Row{{time.Date(9999, time.December, 31, 23, 59, 59, 0, time.UTC)}},
5699-
},
5700-
{
5701-
Query: "SELECT TIMESTAMP('2020-12-31 23:59:59')",
5702-
Expected: []sql.Row{{time.Date(2020, time.December, 31, 23, 59, 59, 0, time.UTC)}},
5703-
},
5704-
{
5705-
Query: "SELECT CONVERT('10000-12-31 23:59:59', DATETIME)",
5706-
Expected: []sql.Row{{nil}},
5707-
},
5708-
{
5709-
Query: "SELECT '9999-12-31 23:59:59' + INTERVAL 1 DAY",
5710-
Expected: []sql.Row{{nil}},
5711-
},
5712-
{
5713-
Query: "SELECT DATE_ADD('9999-12-31 23:59:59', INTERVAL 1 DAY)",
5714-
Expected: []sql.Row{{nil}},
5715-
},
5716-
{
5717-
Query: "SELECT EXTRACT(DAY FROM '9999-12-31 23:59:59')",
5718-
Expected: []sql.Row{{31}},
5719-
},
57205640
{
57215641
Query: `SELECT t.date_col FROM (SELECT CONVERT('2019-06-06 00:00:00', DATETIME) AS date_col) t WHERE t.date_col > '0000-01-01 00:00'`,
57225642
Expected: []sql.Row{{time.Date(2019, time.June, 6, 0, 0, 0, 0, time.UTC)}},
@@ -5822,22 +5742,6 @@ SELECT * FROM cte WHERE d = 2;`,
58225742
Query: "select char_length(s) from mytable order by i",
58235743
Expected: []sql.Row{{9}, {10}, {9}},
58245744
},
5825-
{
5826-
Query: `select locate("o", s) from mytable order by i`,
5827-
Expected: []sql.Row{{8}, {4}, {8}},
5828-
},
5829-
{
5830-
Query: `select locate("o", s, 5) from mytable order by i`,
5831-
Expected: []sql.Row{{8}, {9}, {8}},
5832-
},
5833-
{
5834-
Query: `select locate(upper("roW"), upper(s), power(10, 0)) from mytable order by i`,
5835-
Expected: []sql.Row{{7}, {8}, {7}},
5836-
},
5837-
{
5838-
Query: "select log2(i) from mytable order by i",
5839-
Expected: []sql.Row{{0.0}, {1.0}, {1.5849625007211563}},
5840-
},
58415745
{
58425746
Query: "select ln(i) from mytable order by i",
58435747
Expected: []sql.Row{{0.0}, {0.6931471805599453}, {1.0986122886681096}},
@@ -7379,16 +7283,6 @@ SELECT * FROM cte WHERE d = 2;`,
73797283
Query: `show function status where Db='mydb'`,
73807284
Expected: []sql.Row{},
73817285
},
7382-
{
7383-
Query: `select uuid() = uuid()`,
7384-
Expected: []sql.Row{
7385-
{false},
7386-
},
7387-
},
7388-
{
7389-
Query: `select instr(REPLACE(CONVERT(UUID() USING utf8mb4), '-', ''), '-')`,
7390-
Expected: []sql.Row{{0}},
7391-
},
73927286
{
73937287
Query: `select * from mytable where 1 = 0 order by i asc`,
73947288
Expected: []sql.Row{},
@@ -7826,22 +7720,6 @@ SELECT * FROM my_cte;`,
78267720
{4},
78277721
},
78287722
},
7829-
{
7830-
Query: "select find_in_set('second row', s) from mytable;",
7831-
Expected: []sql.Row{
7832-
{0},
7833-
{1},
7834-
{0},
7835-
},
7836-
},
7837-
{
7838-
Query: "select find_in_set(s, 'first row,second row,third row') from mytable;",
7839-
Expected: []sql.Row{
7840-
{1},
7841-
{2},
7842-
{3},
7843-
},
7844-
},
78457723
{
78467724
Query: "select i from mytable where find_in_set(s, 'first row,second row,third row') = 2;",
78477725
Expected: []sql.Row{
@@ -9252,30 +9130,6 @@ from typestable`,
92529130
{"latin1"},
92539131
},
92549132
},
9255-
{
9256-
Query: "select uncompress(compress('thisisastring'))",
9257-
Expected: []sql.Row{
9258-
{[]byte{0x74, 0x68, 0x69, 0x73, 0x69, 0x73, 0x61, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67}},
9259-
},
9260-
},
9261-
{
9262-
Query: "select length(compress(repeat('a', 1000)))",
9263-
Expected: []sql.Row{
9264-
{24}, // 21 in MySQL because of library implementation differences
9265-
},
9266-
},
9267-
{
9268-
Query: "select length(uncompress(compress(repeat('a', 1000))))",
9269-
Expected: []sql.Row{
9270-
{1000},
9271-
},
9272-
},
9273-
{
9274-
Query: "select uncompressed_length(compress(repeat('a', 1000)))",
9275-
Expected: []sql.Row{
9276-
{uint32(1000)},
9277-
},
9278-
},
92799133
{
92809134
Query: `select distinct pk1 from two_pk order by pk1`,
92819135
Expected: []sql.Row{

0 commit comments

Comments
 (0)