[#8593] The row_number emulation is only needed in the pro editions

This commit is contained in:
Knut Wannheden 2019-05-03 16:10:13 +02:00
parent b61f2d0c9b
commit 8ede6ac357
2 changed files with 6 additions and 8 deletions

View File

@ -89,8 +89,6 @@ import static org.jooq.impl.Term.MODE;
import static org.jooq.impl.Term.PRODUCT;
import static org.jooq.impl.Term.ROW_NUMBER;
import static org.jooq.impl.Tools.castIfNeeded;
import static org.jooq.impl.Tools.BooleanDataKey.DATA_RANKING_FUNCTION;
import static org.jooq.impl.Tools.BooleanDataKey.DATA_ROWNUMBER_FUNCTION;
import static org.jooq.impl.Tools.DataKey.DATA_WINDOW_DEFINITIONS;
import java.math.BigDecimal;
@ -124,6 +122,7 @@ import org.jooq.WindowPartitionByStep;
import org.jooq.WindowRowsAndStep;
import org.jooq.WindowRowsStep;
import org.jooq.WindowSpecification;
import org.jooq.impl.Tools.BooleanDataKey;
// ...
/**
@ -460,7 +459,7 @@ class Function<T> extends AbstractField<T> implements
.visit(K_OVER)
.sql(' ');
previousRanking = (Boolean) ctx.data(DATA_RANKING_FUNCTION, ranking);
previousRanking = (Boolean) ctx.data(BooleanDataKey.DATA_RANKING_FUNCTION, ranking);
@ -468,9 +467,9 @@ class Function<T> extends AbstractField<T> implements
ctx.visit(window);
if (TRUE.equals(previousRanking))
ctx.data(DATA_RANKING_FUNCTION, previousRanking);
ctx.data(BooleanDataKey.DATA_RANKING_FUNCTION, previousRanking);
else
ctx.data().remove(DATA_RANKING_FUNCTION);
ctx.data().remove(BooleanDataKey.DATA_RANKING_FUNCTION);

View File

@ -62,8 +62,6 @@ import static org.jooq.impl.Keywords.K_PARTITION_BY;
import static org.jooq.impl.Keywords.K_PRECEDING;
import static org.jooq.impl.Keywords.K_UNBOUNDED_FOLLOWING;
import static org.jooq.impl.Keywords.K_UNBOUNDED_PRECEDING;
import static org.jooq.impl.Tools.BooleanDataKey.DATA_RANKING_FUNCTION;
import static org.jooq.impl.Tools.BooleanDataKey.DATA_ROWNUMBER_FUNCTION;
import static org.jooq.impl.WindowSpecificationImpl.Exclude.CURRENT_ROW;
import static org.jooq.impl.WindowSpecificationImpl.Exclude.GROUP;
import static org.jooq.impl.WindowSpecificationImpl.Exclude.NO_OTHERS;
@ -87,6 +85,7 @@ import org.jooq.WindowSpecificationFinalStep;
import org.jooq.WindowSpecificationOrderByStep;
import org.jooq.WindowSpecificationPartitionByStep;
import org.jooq.WindowSpecificationRowsAndStep;
import org.jooq.impl.Tools.BooleanDataKey;
/**
* @author Lukas Eder
@ -181,7 +180,7 @@ final class WindowSpecificationImpl extends AbstractQueryPart implements
else if (TRUE.equals(ctx.data(DATA_RANKING_FUNCTION)) && REQUIRES_ORDER_BY_IN_RANKING.contains(ctx.family())) {
else if (TRUE.equals(ctx.data(BooleanDataKey.DATA_RANKING_FUNCTION)) && REQUIRES_ORDER_BY_IN_RANKING.contains(ctx.family())) {
ctx.sql(glue)
.visit(K_ORDER_BY).sql(' ')
.visit(field(select(one())));