@@ -110,11 +110,8 @@ public SQLite3Select getQuery(SQLite3GlobalState globalState) throws SQLExceptio
110110 errors .add ("second argument to nth_value must be a positive integer" );
111111 }
112112 if (Randomly .getBoolean ()) {
113- SQLite3Expression randomExpression ;
114- do {
115- randomExpression = new SQLite3ExpressionGenerator (globalState ).setColumns (columns )
116- .generateExpression ();
117- } while (randomExpression .getExpectedValue () == null );
113+ SQLite3Expression randomExpression = new SQLite3ExpressionGenerator (globalState ).setColumns (columns )
114+ .generateResultKnownExpression ();
118115 colExpressions .add (randomExpression );
119116 } else {
120117 colExpressions .add (colName );
@@ -259,16 +256,14 @@ private SQLite3Expression generateWhereClauseThatContainsRowValue(List<SQLite3Co
259256 private SQLite3Expression generateNewExpression (List <SQLite3Column > columns , SQLite3RowValue rw ) {
260257 do {
261258 SQLite3Expression expr = new SQLite3ExpressionGenerator (globalState ).setRowValue (rw ).setColumns (columns )
262- .generateExpression ();
263- if (expr .getExpectedValue () != null ) {
264- if (expr .getExpectedValue ().isNull ()) {
265- return new SQLite3PostfixUnaryOperation (PostfixUnaryOperator .ISNULL , expr );
266- }
267- if (SQLite3Cast .isTrue (expr .getExpectedValue ()).get ()) {
268- return expr ;
269- } else {
270- return new SQLite3UnaryOperation (UnaryOperator .NOT , expr );
271- }
259+ .generateResultKnownExpression ();
260+ if (expr .getExpectedValue ().isNull ()) {
261+ return new SQLite3PostfixUnaryOperation (PostfixUnaryOperator .ISNULL , expr );
262+ }
263+ if (SQLite3Cast .isTrue (expr .getExpectedValue ()).get ()) {
264+ return expr ;
265+ } else {
266+ return new SQLite3UnaryOperation (UnaryOperator .NOT , expr );
272267 }
273268 } while (true );
274269 }
0 commit comments