Skip to content

Commit 4d816e7

Browse files
committed
Fix tests
Signed-off-by: wforget <643348094@qq.com>
1 parent cb2944b commit 4d816e7

1 file changed

Lines changed: 47 additions & 55 deletions

File tree

testkit/src/main/java/org/apache/calcite/sql/parser/SqlParserTest.java

Lines changed: 47 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1411,92 +1411,84 @@ private void checkLarge(int n) {
14111411
}
14121412

14131413
@Test void testBetweenSpark() {
1414-
sql("select * from t where price between 1 and 2")
1415-
.withDialect(SparkSqlDialect.DEFAULT)
1416-
.ok("SELECT *\n"
1417-
+ "FROM T\n"
1418-
+ "WHERE (PRICE BETWEEN 1 AND 2)");
1414+
SqlParserFixture f = fixture().withDialect(SparkSqlDialect.DEFAULT);
14191415

1420-
sql("select * from t where price between symmetric 1 and 2")
1421-
.withDialect(SparkSqlDialect.DEFAULT)
1422-
.ok("SELECT *\n"
1423-
+ "FROM T\n"
1424-
+ "WHERE (PRICE BETWEEN 1 AND 2)");
1416+
f.sql("select * from t where price between 1 and 2")
1417+
.ok("SELECT *\n"
1418+
+ "FROM `T`\n"
1419+
+ "WHERE (`PRICE` BETWEEN 1 AND 2)");
14251420

1426-
sql("select * from t where price not between symmetric 1 and 2")
1427-
.withDialect(SparkSqlDialect.DEFAULT)
1428-
.ok("SELECT *\n"
1429-
+ "FROM T\n"
1430-
+ "WHERE (PRICE NOT BETWEEN 1 AND 2)");
1421+
f.sql("select * from t where price between symmetric 1 and 2")
1422+
.ok("SELECT *\n"
1423+
+ "FROM `T`\n"
1424+
+ "WHERE (`PRICE` BETWEEN 1 AND 2)");
1425+
1426+
f.sql("select * from t where price not between symmetric 1 and 2")
1427+
.ok("SELECT *\n"
1428+
+ "FROM `T`\n"
1429+
+ "WHERE (`PRICE` NOT BETWEEN 1 AND 2)");
14311430

1432-
sql("select * from t where price between 1 and 2+2*2")
1433-
.withDialect(SparkSqlDialect.DEFAULT)
1434-
.ok("SELECT *\n"
1435-
+ "FROM T\n"
1436-
+ "WHERE (PRICE BETWEEN 1 AND (2 + (2 * 2)))");
1431+
f.sql("select * from t where price between 1 and 2+2*2")
1432+
.ok("SELECT *\n"
1433+
+ "FROM `T`\n"
1434+
+ "WHERE (`PRICE` BETWEEN 1 AND (2 + (2 * 2)))");
14371435

14381436
final String sql0 = "select * from t\n"
14391437
+ " where price > 5\n"
14401438
+ " and price not between 1 + 2 and 3 * 4 AnD price is null";
14411439
final String expected0 = "SELECT *\n"
1442-
+ "FROM T\n"
1443-
+ "WHERE (((PRICE > 5) "
1444-
+ "AND (PRICE NOT BETWEEN (1 + 2) AND (3 * 4))) "
1445-
+ "AND (PRICE IS NULL))";
1446-
sql(sql0).withDialect(SparkSqlDialect.DEFAULT).ok(expected0);
1440+
+ "FROM `T`\n"
1441+
+ "WHERE (((`PRICE` > 5) "
1442+
+ "AND (`PRICE` NOT BETWEEN (1 + 2) AND (3 * 4))) "
1443+
+ "AND (`PRICE` IS NULL))";
1444+
f.sql(sql0).ok(expected0);
14471445

14481446
final String sql1 = "select * from t\n"
14491447
+ "where price > 5\n"
14501448
+ "and price between 1 + 2 and 3 * 4 + price is null";
14511449
final String expected1 = "SELECT *\n"
1452-
+ "FROM T\n"
1453-
+ "WHERE ((PRICE > 5) "
1454-
+ "AND ((PRICE BETWEEN (1 + 2) AND ((3 * 4) + PRICE)) "
1450+
+ "FROM `T`\n"
1451+
+ "WHERE ((`PRICE` > 5) "
1452+
+ "AND ((`PRICE` BETWEEN (1 + 2) AND ((3 * 4) + `PRICE`)) "
14551453
+ "IS NULL))";
1456-
sql(sql1).withDialect(SparkSqlDialect.DEFAULT).ok(expected1);
1454+
f.sql(sql1).ok(expected1);
14571455

14581456
final String sql2 = "select * from t\n"
14591457
+ "where price > 5\n"
14601458
+ "and price between 1 + 2 and 3 * 4 or price is null";
14611459
final String expected2 = "SELECT *\n"
1462-
+ "FROM T\n"
1463-
+ "WHERE (((PRICE > 5) "
1464-
+ "AND (PRICE BETWEEN (1 + 2) AND (3 * 4))) "
1465-
+ "OR (PRICE IS NULL))";
1466-
sql(sql2).withDialect(SparkSqlDialect.DEFAULT).ok(expected2);
1460+
+ "FROM `T`\n"
1461+
+ "WHERE (((`PRICE` > 5) "
1462+
+ "AND (`PRICE` BETWEEN (1 + 2) AND (3 * 4))) "
1463+
+ "OR (`PRICE` IS NULL))";
1464+
f.sql(sql2).ok(expected2);
14671465

14681466
final String sql3 = "values a between c and d and e and f between g and h";
14691467
final String expected3 = "VALUES ("
1470-
+ "(((A BETWEEN C AND D) AND E)"
1471-
+ " AND (F BETWEEN G AND H)))";
1472-
sql(sql3).withDialect(SparkSqlDialect.DEFAULT).ok(expected3);
1468+
+ "(((`A` BETWEEN `C` AND `D`) AND `E`)"
1469+
+ " AND (`F` BETWEEN `G` AND `H`)))";
1470+
f.sql(sql3).ok(expected3);
14731471

1474-
sql("values a between b or c^")
1475-
.withDialect(SparkSqlDialect.DEFAULT)
1476-
.fails(".*BETWEEN operator has no terminating AND");
1472+
f.sql("values a between b or c^")
1473+
.fails(".*BETWEEN operator has no terminating AND");
14771474

1478-
sql("values a ^between^")
1479-
.withDialect(SparkSqlDialect.DEFAULT)
1480-
.fails("(?s).*Encountered \"between <EOF>\" at line 1, column 10.*");
1475+
f.sql("values a ^between^")
1476+
.fails("(?s).*Encountered \"between <EOF>\" at line 1, column 10.*");
14811477

1482-
sql("values a between symmetric 1^")
1483-
.withDialect(SparkSqlDialect.DEFAULT)
1484-
.fails(".*BETWEEN operator has no terminating AND");
1478+
f.sql("values a between symmetric 1^")
1479+
.fails(".*BETWEEN operator has no terminating AND");
14851480

14861481
// precedence of BETWEEN is higher than AND and OR, but lower than '+'
1487-
sql("values a between b and c + 2 or d and e")
1488-
.withDialect(SparkSqlDialect.DEFAULT)
1489-
.ok("VALUES (((A BETWEEN B AND (C + 2)) OR (D AND E)))");
1482+
f.sql("values a between b and c + 2 or d and e")
1483+
.ok("VALUES (((`A` BETWEEN `B` AND (`C` + 2)) OR (`D` AND `E`)))");
14901484

14911485
// '=' has slightly lower precedence than BETWEEN; both are left-assoc
1492-
sql("values x = a between b and c = d = e")
1493-
.withDialect(SparkSqlDialect.DEFAULT)
1494-
.ok("VALUES ((((X = (A BETWEEN B AND C)) = D) = E))");
1486+
f.sql("values x = a between b and c = d = e")
1487+
.ok("VALUES ((((`X` = (`A` BETWEEN `B` AND `C`)) = `D`) = `E`))");
14951488

14961489
// AND doesn't match BETWEEN if it's between parentheses!
1497-
sql("values a between b or (c and d) or e and f")
1498-
.withDialect(SparkSqlDialect.DEFAULT)
1499-
.ok("VALUES ((A BETWEEN ((B OR (C AND D)) OR E) AND F))");
1490+
f.sql("values a between b or (c and d) or e and f")
1491+
.ok("VALUES ((`A` BETWEEN ((`B` OR (`C` AND `D`)) OR `E`) AND `F`))");
15001492
}
15011493

15021494
@Test void testOperateOnColumn() {

0 commit comments

Comments
 (0)