Skip to content

Commit 15c0cba

Browse files
Merge branch 'main' into feat/spark-tlp
2 parents 8787427 + fb3e6a9 commit 15c0cba

14 files changed

+116
-136
lines changed

.github/workflows/main.yml

Lines changed: 71 additions & 127 deletions
Large diffs are not rendered by default.

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
<plugin>
9090
<groupId>org.jacoco</groupId>
9191
<artifactId>jacoco-maven-plugin</artifactId>
92-
<version>0.8.8</version>
92+
<version>0.8.12</version>
9393
<executions>
9494
<execution>
9595
<goals>

src/sqlancer/clickhouse/ClickHouseErrors.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public static List<String> getExpectedExpressionErrors() {
4141
"Cannot convert out of range floating point value to integer type",
4242
"Unexpected inf or nan to integer conversion", "No such name in Block::erase", // https://github.com/ClickHouse/ClickHouse/issues/42769
4343
"EMPTY_LIST_OF_COLUMNS_QUERIED", // https://github.com/ClickHouse/ClickHouse/issues/43003
44+
"EMPTY_LIST_OF_COLUMNS_PASSED", // https://github.com/ClickHouse/ClickHouse/pull/81835
4445
"cannot get JOIN keys. (INVALID_JOIN_ON_EXPRESSION)", "AMBIGUOUS_IDENTIFIER", "CYCLIC_ALIASES",
4546
"Positional argument numeric constant expression is not representable as",
4647
"Positional argument must be constant with numeric type", " is out of bounds. Expected in range",

src/sqlancer/materialize/MaterializeProvider.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -240,12 +240,17 @@ protected void readFunctions(MaterializeGlobalState globalState) throws SQLExcep
240240
}
241241

242242
protected void createTables(MaterializeGlobalState globalState, int numTables) throws Exception {
243-
while (globalState.getSchema().getDatabaseTables().size() < numTables) {
243+
int existingTables = globalState.getSchema().getDatabaseTables().size();
244+
int createdTables = 0;
245+
int nextTableIndex = existingTables;
246+
while (existingTables + createdTables < numTables) {
244247
try {
245-
String tableName = DBMSCommon.createTableName(globalState.getSchema().getDatabaseTables().size());
248+
String tableName = DBMSCommon.createTableName(nextTableIndex++);
246249
SQLQueryAdapter createTable = MaterializeTableGenerator.generate(tableName, globalState.getSchema(),
247250
generateOnlyKnown, globalState);
248-
globalState.executeStatement(createTable);
251+
if (globalState.executeStatement(createTable)) {
252+
createdTables++;
253+
}
249254
} catch (IgnoreMeException e) {
250255

251256
}

src/sqlancer/materialize/gen/MaterializeExpressionGenerator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -600,6 +600,7 @@ public String generateOptimizedQueryString(MaterializeSelect select, Materialize
600600
}
601601
select.setSelectType(SelectType.ALL);
602602
}
603+
select.setWhereClause(whereCondition);
603604

604605
return select.asString();
605606
}

src/sqlancer/materialize/gen/MaterializeInsertGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public static SQLQueryAdapter insert(MaterializeGlobalState globalState) {
2626
MaterializeCommon.addCommonExpressionErrors(errors);
2727
errors.add("multiple assignments to same column");
2828
errors.add("violates foreign key constraint");
29-
errors.add("value too long for type character varying");
29+
errors.add("value too long for type character");
3030
errors.add("conflicting key value violates exclusion constraint");
3131
errors.add("violates not-null constraint");
3232
errors.add("current transaction is aborted");

src/sqlancer/materialize/gen/MaterializeTableGenerator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public MaterializeTableGenerator(String tableName, MaterializeSchema newSchema,
5252
errors.add("no collation was derived for partition key column");
5353
errors.add("inherits from generated column but specifies identity");
5454
errors.add("inherits from generated column but specifies default");
55+
errors.add("already exists");
5556
MaterializeCommon.addCommonExpressionErrors(errors);
5657
MaterializeCommon.addCommonTableErrors(errors);
5758
}

src/sqlancer/mysql/MySQLErrors.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public static List<Pattern> getExpressionRegexErrors() {
3333
}
3434

3535
errors.add(Pattern.compile("Unknown column '.*' in 'order clause'"));
36+
errors.add(Pattern.compile("Unknown column '.*' in 'EXISTS subquery'"));
3637

3738
return errors;
3839
}

src/sqlancer/mysql/gen/MySQLSetGenerator.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ private enum Action {
9999
SCHEMA_DEFINITION_CACHE("schema_definition_cache", (r) -> r.getLong(256, 524288), Scope.GLOBAL), //
100100
SHOW_CREATE_TABLE_VERBOSITY("show_create_table_verbosity", (r) -> Randomly.fromOptions("OFF", "ON"),
101101
Scope.GLOBAL, Scope.SESSION), //
102-
SHOW_OLD_TEMPORALS("show_old_temporals", (r) -> Randomly.fromOptions("OFF", "ON"), Scope.GLOBAL, Scope.SESSION),
103102
/*
104103
* sort_buffer_size is commented out as a workaround for https://bugs.mysql.com/bug.php?id=95969
105104
*/

src/sqlancer/mysql/oracle/MySQLPivotedQuerySynthesisOracle.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public MySQLPivotedQuerySynthesisOracle(MySQLGlobalState globalState) throws SQL
3838
super(globalState);
3939
MySQLErrors.addExpressionErrors(errors);
4040
errors.add("in 'order clause'"); // e.g., Unknown column '2067708013' in 'order clause'
41+
errors.add("in 'EXISTS subquery'"); // e.g., Unknown column '2067708013' in 'EXISTS subquery' (MySQL 8.4+)
4142
}
4243

4344
@Override

0 commit comments

Comments
 (0)