Add tests for SUBSTR support (#96)
* Add test for SUBSTR support * Trigger CI * Trigger * Trigger * Trigger * Remove CMake file
This commit is contained in:
parent
73ed061d7d
commit
1f564e16b8
|
@ -991,7 +991,7 @@ opt_alias:
|
||||||
alias
|
alias
|
||||||
| /* empty */ { $$ = nullptr; }
|
| /* empty */ { $$ = nullptr; }
|
||||||
|
|
||||||
|
|
||||||
/******************************
|
/******************************
|
||||||
* Join Statements
|
* Join Statements
|
||||||
******************************/
|
******************************/
|
||||||
|
|
|
@ -16,6 +16,7 @@ SELECT a, MAX(b), MAX(c, d), CUSTOM(q, UP(r)) AS f FROM t1;
|
||||||
SELECT * FROM t WHERE a BETWEEN 1 and c;
|
SELECT * FROM t WHERE a BETWEEN 1 and c;
|
||||||
SELECT * FROM t WHERE a = ? AND b = ?;
|
SELECT * FROM t WHERE a = ? AND b = ?;
|
||||||
SELECT City.name, Product.category, SUM(price) FROM fact INNER JOIN City ON fact.city_id = City.id INNER JOIN Product ON fact.product_id = Product.id GROUP BY City.name, Product.category;
|
SELECT City.name, Product.category, SUM(price) FROM fact INNER JOIN City ON fact.city_id = City.id INNER JOIN Product ON fact.product_id = Product.id GROUP BY City.name, Product.category;
|
||||||
|
SELECT SUBSTR(a, 3, 5) FROM t;
|
||||||
# JOIN
|
# JOIN
|
||||||
SELECT t1.a, t1.b, t2.c FROM "table" AS t1 JOIN (SELECT * FROM foo JOIN bar ON foo.id = bar.id) t2 ON t1.a = t2.b WHERE (t1.b OR NOT t1.a) AND t2.c = 12.5
|
SELECT t1.a, t1.b, t2.c FROM "table" AS t1 JOIN (SELECT * FROM foo JOIN bar ON foo.id = bar.id) t2 ON t1.a = t2.b WHERE (t1.b OR NOT t1.a) AND t2.c = 12.5
|
||||||
SELECT * FROM t1 JOIN t2 ON c1 = c2;
|
SELECT * FROM t1 JOIN t2 ON c1 = c2;
|
||||||
|
|
|
@ -55,6 +55,35 @@ TEST(SelectExprTest) {
|
||||||
ASSERT_STREQ(stmt->selectList->at(2)->exprList->at(1)->exprList->at(0)->getName(), "un");
|
ASSERT_STREQ(stmt->selectList->at(2)->exprList->at(1)->exprList->at(0)->getName(), "un");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(SelectSubstrTest) {
|
||||||
|
TEST_PARSE_SINGLE_SQL(
|
||||||
|
"SELECT SUBSTR(a, 3, 5) FROM students;",
|
||||||
|
kStmtSelect,
|
||||||
|
SelectStatement,
|
||||||
|
result,
|
||||||
|
stmt);
|
||||||
|
|
||||||
|
ASSERT_NULL(stmt->whereClause);
|
||||||
|
ASSERT_NULL(stmt->groupBy);
|
||||||
|
|
||||||
|
ASSERT_EQ(stmt->selectList->size(), 1);
|
||||||
|
|
||||||
|
ASSERT(stmt->selectList->at(0)->isType(kExprFunctionRef));
|
||||||
|
ASSERT_STREQ(stmt->selectList->at(0)->getName(), "SUBSTR");
|
||||||
|
|
||||||
|
ASSERT_NOTNULL(stmt->selectList->at(0)->exprList);
|
||||||
|
ASSERT_EQ(stmt->selectList->at(0)->exprList->size(), 3);
|
||||||
|
|
||||||
|
ASSERT(stmt->selectList->at(0)->exprList->at(0)->isType(kExprColumnRef));
|
||||||
|
ASSERT_STREQ(stmt->selectList->at(0)->exprList->at(0)->getName(), "a");
|
||||||
|
|
||||||
|
ASSERT(stmt->selectList->at(0)->exprList->at(1)->isType(kExprLiteralInt));
|
||||||
|
ASSERT_EQ(stmt->selectList->at(0)->exprList->at(1)->ival, 3);
|
||||||
|
|
||||||
|
ASSERT(stmt->selectList->at(0)->exprList->at(2)->isType(kExprLiteralInt));
|
||||||
|
ASSERT_EQ(stmt->selectList->at(0)->exprList->at(2)->ival, 5);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST(SelectHavingTest) {
|
TEST(SelectHavingTest) {
|
||||||
TEST_PARSE_SINGLE_SQL(
|
TEST_PARSE_SINGLE_SQL(
|
||||||
|
@ -472,7 +501,7 @@ TEST(JoinTypes) {
|
||||||
|
|
||||||
stmt = (SelectStatement*) result.getStatement(7);
|
stmt = (SelectStatement*) result.getStatement(7);
|
||||||
ASSERT_EQ(stmt->fromTable->join->type, kJoinFull);
|
ASSERT_EQ(stmt->fromTable->join->type, kJoinFull);
|
||||||
|
|
||||||
stmt = (SelectStatement*) result.getStatement(8);
|
stmt = (SelectStatement*) result.getStatement(8);
|
||||||
ASSERT_EQ(stmt->fromTable->join->type, kJoinFull);
|
ASSERT_EQ(stmt->fromTable->join->type, kJoinFull);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue