Skip to content

Commit ec1cbe2

Browse files
authored
fix: broken grammar of aggreate in SQLite (#651)
1 parent 977edb4 commit ec1cbe2

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/sqlancer/sqlite3/oracle/tlp/SQLite3TLPAggregateOracle.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ public void check() throws SQLException {
6666
SQLite3Select leftSelect = getSelect(aggregate, from, whereClause);
6767
SQLite3Select middleSelect = getSelect(aggregate, from, negatedClause);
6868
SQLite3Select rightSelect = getSelect(aggregate, from, notNullClause);
69-
String metamorphicText = "SELECT " + aggregate.getFunc().toString() + "(aggr) FROM (";
69+
String aggreateMethod = aggregate.getFunc() == SQLite3AggregateFunction.COUNT_ALL
70+
? SQLite3AggregateFunction.COUNT.toString() : aggregate.getFunc().toString();
71+
String metamorphicText = "SELECT " + aggreateMethod + "(aggr) FROM (";
7072
metamorphicText += SQLite3Visitor.asString(leftSelect) + " UNION ALL " + SQLite3Visitor.asString(middleSelect)
7173
+ " UNION ALL " + SQLite3Visitor.asString(rightSelect);
7274
metamorphicText += ")";

0 commit comments

Comments
 (0)