[#3577] Don't render "empty" OFFSET 0 clauses
This commit is contained in:
parent
e7b80c4672
commit
042bf4fcef
@ -568,6 +568,7 @@ extends BaseTest<A, AP, B, S, B2S, BS, L, X, DATE, BOOL, D, T, U, UU, I, IPK, T7
|
||||
|
||||
// Nested expressions
|
||||
switch (dialect().family()) {
|
||||
case H2:
|
||||
/* [pro] xx
|
||||
xxxx xxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxxxx xxxxxx xxxxxxxxxx xxxx xxxxxxxxxxx xxxxx xxxxxxx xx xxxxx xxxxx
|
||||
|
||||
@ -65,8 +65,8 @@ class Limit extends AbstractQueryPart {
|
||||
|
||||
private Field<Integer> numberOfRows;
|
||||
private Field<Integer> offset;
|
||||
private Field<Integer> offsetOrZero = val(0);
|
||||
private Field<Integer> offsetPlusOne = val(1);
|
||||
private Field<Integer> offsetOrZero = inline(0);
|
||||
private Field<Integer> offsetPlusOne = inline(1);
|
||||
private boolean rendersParams;
|
||||
|
||||
@Override
|
||||
@ -87,10 +87,13 @@ class Limit extends AbstractQueryPart {
|
||||
context.castMode(NEVER)
|
||||
.formatSeparator()
|
||||
.keyword("limit")
|
||||
.sql(" ").visit(numberOfRows)
|
||||
.sql(" ").keyword("offset")
|
||||
.sql(" ").visit(offsetOrZero)
|
||||
.castMode(castMode);
|
||||
.sql(" ").visit(numberOfRows);
|
||||
|
||||
if (!offsetZero())
|
||||
context.sql(" ").keyword("offset")
|
||||
.sql(" ").visit(offsetOrZero);
|
||||
|
||||
context.castMode(castMode);
|
||||
|
||||
break;
|
||||
}
|
||||
@ -161,10 +164,14 @@ class Limit extends AbstractQueryPart {
|
||||
xx xxxx xxxx xx xxxxx xxxxxxx
|
||||
xx xxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxx xxxxxxxxx x
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxx
|
||||
xxxxxx xxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxx xxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
xx xxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxx xxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxx xxx
|
||||
|
||||
xxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxx xxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
@ -176,10 +183,13 @@ class Limit extends AbstractQueryPart {
|
||||
xxxx xxxxxxx x
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxx
|
||||
xxxxxx xxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxx xxxxxxxxxxxxxxxxx xxxx
|
||||
xxxxxx xxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
xx xxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxx
|
||||
xxxxxx xxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
xxxxxx
|
||||
x
|
||||
@ -228,10 +238,14 @@ class Limit extends AbstractQueryPart {
|
||||
context.castMode(NEVER)
|
||||
.formatSeparator()
|
||||
.keyword("limit")
|
||||
.sql(" ").visit(numberOfRows)
|
||||
.sql(" ").keyword("offset")
|
||||
.sql(" ").visit(offsetOrZero)
|
||||
.castMode(castMode);
|
||||
.sql(" ").visit(numberOfRows);
|
||||
|
||||
|
||||
if (!offsetZero())
|
||||
context.sql(" ").keyword("offset")
|
||||
.sql(" ").visit(offsetOrZero);
|
||||
|
||||
context.castMode(castMode);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@ -981,12 +981,12 @@ class SelectQueryImpl<R extends Record> extends AbstractSelect<R> implements Sel
|
||||
|
||||
@Override
|
||||
public final void addLimit(int numberOfRows) {
|
||||
addLimit(0, numberOfRows);
|
||||
limit.setNumberOfRows(numberOfRows);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void addLimit(Param<Integer> numberOfRows) {
|
||||
addLimit(0, numberOfRows);
|
||||
limit.setNumberOfRows(numberOfRows);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
Reference in New Issue
Block a user