Skip to content

Commit 2082fb9

Browse files
committed
Introduce a generatePredicate() method in the ExpressionGenerator class
1 parent 62b199f commit 2082fb9

File tree

6 files changed

+32
-0
lines changed

6 files changed

+32
-0
lines changed

src/sqlancer/clickhouse/gen/ClickHouseExpressionGenerator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,4 +165,9 @@ private ClickHouseExpression getAggregate(ClickHouseDataType dataType) {
165165
ClickHouseAggregate.ClickHouseAggregateFunction agg = Randomly.fromList(aggregates);
166166
return generateArgsForAggregate(dataType, agg);
167167
}
168+
169+
@Override
170+
public ClickHouseExpression generatePredicate() {
171+
return generateExpression(new ClickHouseSchema.ClickHouseLancerDataType(ClickHouseDataType.UInt8));
172+
}
168173
}

src/sqlancer/cockroachdb/gen/CockroachDBExpressionGenerator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,4 +343,9 @@ protected CockroachDBExpression generateColumn(CockroachDBCompositeDataType type
343343
return columnReference;
344344
}
345345

346+
@Override
347+
public CockroachDBExpression generatePredicate() {
348+
return generateExpression(CockroachDBDataType.BOOL.get());
349+
}
350+
346351
}

src/sqlancer/gen/ExpressionGenerator.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,11 @@
22

33
public interface ExpressionGenerator<E> {
44

5+
/**
6+
* Generates a boolean predicate.
7+
*
8+
* @return an expression that can be used in a boolean context.
9+
*/
10+
E generatePredicate();
11+
512
}

src/sqlancer/gen/UntypedExpressionGenerator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,9 @@ public E generateHavingClause() {
6363
return expr;
6464
}
6565

66+
@Override
67+
public E generatePredicate() {
68+
return generateExpression();
69+
}
70+
6671
}

src/sqlancer/postgres/gen/PostgresExpressionGenerator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,4 +575,9 @@ public PostgresExpressionGenerator allowAggregates(boolean value) {
575575
return this;
576576
}
577577

578+
@Override
579+
public PostgresExpression generatePredicate() {
580+
return generateExpression(0);
581+
}
582+
578583
}

src/sqlancer/sqlite3/gen/SQLite3ExpressionGenerator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -641,4 +641,9 @@ public SQLite3Expression getHavingClause() {
641641
return generateExpression();
642642
}
643643

644+
@Override
645+
public SQLite3Expression generatePredicate() {
646+
return generateExpression();
647+
}
648+
644649
}

0 commit comments

Comments
 (0)