public class org.apache.drill.exec.store.jdbc.rules.JdbcLimitRule extends org.apache.drill.exec.store.enumerable.plan.DrillJdbcRuleBase$DrillJdbcLimitRule
{
private final org.apache.drill.exec.store.jdbc.DrillJdbcConvention convention;
public void <init>(org.apache.calcite.plan.RelTrait, org.apache.drill.exec.store.jdbc.DrillJdbcConvention)
{
org.apache.drill.exec.store.jdbc.rules.JdbcLimitRule v;
org.apache.calcite.plan.RelTrait v;
org.apache.drill.exec.store.jdbc.DrillJdbcConvention v;
v := @this: org.apache.drill.exec.store.jdbc.rules.JdbcLimitRule;
v := @parameter: org.apache.calcite.plan.RelTrait;
v := @parameter: org.apache.drill.exec.store.jdbc.DrillJdbcConvention;
specialinvoke v.<org.apache.drill.exec.store.enumerable.plan.DrillJdbcRuleBase$DrillJdbcLimitRule: void <init>(org.apache.calcite.plan.RelTrait,org.apache.calcite.adapter.jdbc.JdbcConvention)>(v, v);
v.<org.apache.drill.exec.store.jdbc.rules.JdbcLimitRule: org.apache.drill.exec.store.jdbc.DrillJdbcConvention convention> = v;
return;
}
public org.apache.calcite.rel.RelNode convert(org.apache.calcite.rel.RelNode)
{
java.math.BigDecimal v;
org.apache.calcite.rex.RexNode v, v, v;
org.apache.drill.exec.store.jdbc.DrillJdbcConvention v;
boolean v, v;
org.apache.calcite.plan.RelTraitSet v, v, v, v, v, v, v, v, v;
org.apache.calcite.plan.RelOptCluster v, v;
org.apache.calcite.rex.RexLiteral v;
java.util.List v;
org.apache.calcite.rel.RelCollation v, v, v;
org.apache.drill.exec.store.jdbc.rules.JdbcLimitRule v;
int v, v, v, v, v;
org.apache.drill.exec.store.enumerable.plan.DrillJdbcSort v;
org.apache.calcite.rex.RexBuilder v;
org.apache.calcite.rel.RelNode v, v, v, v, v, v;
org.apache.calcite.sql.SqlDialect v;
org.apache.calcite.adapter.jdbc.JdbcConvention v, v;
org.apache.drill.exec.planner.common.DrillLimitRelBase v;
v := @this: org.apache.drill.exec.store.jdbc.rules.JdbcLimitRule;
v := @parameter: org.apache.calcite.rel.RelNode;
v = virtualinvoke v.<org.apache.drill.exec.planner.common.DrillLimitRelBase: org.apache.calcite.rex.RexNode getOffset()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.drill.exec.planner.common.DrillLimitRelBase: org.apache.calcite.plan.RelTraitSet getTraitSet()>();
v = <org.apache.calcite.rel.RelCollations: org.apache.calcite.rel.RelCollation EMPTY>;
v = virtualinvoke v.<org.apache.calcite.plan.RelTraitSet: boolean contains(org.apache.calcite.plan.RelTrait)>(v);
if v == 0 goto label;
v = v.<org.apache.drill.exec.store.jdbc.rules.JdbcLimitRule: org.apache.drill.exec.store.jdbc.DrillJdbcConvention convention>;
v = v.<org.apache.drill.exec.store.jdbc.DrillJdbcConvention: org.apache.calcite.sql.SqlDialect dialect>;
v = v instanceof org.apache.calcite.sql.dialect.MssqlSqlDialect;
if v != 0 goto label;
label:
v = specialinvoke v.<org.apache.drill.exec.store.enumerable.plan.DrillJdbcRuleBase$DrillJdbcLimitRule: org.apache.calcite.rel.RelNode convert(org.apache.calcite.rel.RelNode)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.drill.exec.planner.common.DrillLimitRelBase: org.apache.calcite.rex.RexNode getOffset()>();
v = staticinvoke <org.apache.calcite.rex.RexLiteral: int intValue(org.apache.calcite.rex.RexNode)>(v);
v = staticinvoke <java.lang.Math: int max(int,int)>(0, v);
v = virtualinvoke v.<org.apache.drill.exec.planner.common.DrillLimitRelBase: org.apache.calcite.rex.RexNode getFetch()>();
v = staticinvoke <org.apache.calcite.rex.RexLiteral: int intValue(org.apache.calcite.rex.RexNode)>(v);
v = staticinvoke <java.lang.Math: int max(int,int)>(0, v);
v = virtualinvoke v.<org.apache.drill.exec.planner.common.DrillLimitRelBase: org.apache.calcite.plan.RelOptCluster getCluster()>();
v = virtualinvoke v.<org.apache.calcite.plan.RelOptCluster: org.apache.calcite.rex.RexBuilder getRexBuilder()>();
v = v + v;
v = staticinvoke <java.math.BigDecimal: java.math.BigDecimal valueOf(long)>(v);
v = virtualinvoke v.<org.apache.calcite.rex.RexBuilder: org.apache.calcite.rex.RexLiteral makeExactLiteral(java.math.BigDecimal)>(v);
v = new org.apache.drill.exec.store.enumerable.plan.DrillJdbcSort;
v = virtualinvoke v.<org.apache.drill.exec.planner.common.DrillLimitRelBase: org.apache.calcite.plan.RelOptCluster getCluster()>();
v = virtualinvoke v.<org.apache.drill.exec.planner.common.DrillLimitRelBase: org.apache.calcite.plan.RelTraitSet getTraitSet()>();
v = <org.apache.calcite.rel.RelCollations: org.apache.calcite.rel.RelCollation EMPTY>;
v = virtualinvoke v.<org.apache.calcite.plan.RelTraitSet: org.apache.calcite.plan.RelTraitSet plus(org.apache.calcite.plan.RelTrait)>(v);
v = v.<org.apache.drill.exec.store.jdbc.rules.JdbcLimitRule: org.apache.calcite.adapter.jdbc.JdbcConvention out>;
v = virtualinvoke v.<org.apache.calcite.plan.RelTraitSet: org.apache.calcite.plan.RelTraitSet replace(org.apache.calcite.plan.RelTrait)>(v);
v = virtualinvoke v.<org.apache.calcite.plan.RelTraitSet: org.apache.calcite.plan.RelTraitSet simplify()>();
v = virtualinvoke v.<org.apache.drill.exec.planner.common.DrillLimitRelBase: org.apache.calcite.rel.RelNode getInput()>();
v = virtualinvoke v.<org.apache.drill.exec.planner.common.DrillLimitRelBase: org.apache.calcite.rel.RelNode getInput()>();
v = interfaceinvoke v.<org.apache.calcite.rel.RelNode: org.apache.calcite.plan.RelTraitSet getTraitSet()>();
v = v.<org.apache.drill.exec.store.jdbc.rules.JdbcLimitRule: org.apache.calcite.adapter.jdbc.JdbcConvention out>;
v = virtualinvoke v.<org.apache.calcite.plan.RelTraitSet: org.apache.calcite.plan.RelTraitSet replace(org.apache.calcite.plan.RelTrait)>(v);
v = virtualinvoke v.<org.apache.calcite.plan.RelTraitSet: org.apache.calcite.plan.RelTraitSet simplify()>();
v = staticinvoke <org.apache.drill.exec.store.jdbc.rules.JdbcLimitRule: org.apache.calcite.rel.RelNode convert(org.apache.calcite.rel.RelNode,org.apache.calcite.plan.RelTraitSet)>(v, v);
v = <org.apache.calcite.rel.RelCollations: org.apache.calcite.rel.RelCollation EMPTY>;
specialinvoke v.<org.apache.drill.exec.store.enumerable.plan.DrillJdbcSort: void <init>(org.apache.calcite.plan.RelOptCluster,org.apache.calcite.plan.RelTraitSet,org.apache.calcite.rel.RelNode,org.apache.calcite.rel.RelCollation,org.apache.calcite.rex.RexNode,org.apache.calcite.rex.RexNode)>(v, v, v, v, null, v);
v = virtualinvoke v.<org.apache.drill.exec.planner.common.DrillLimitRelBase: org.apache.calcite.plan.RelTraitSet getTraitSet()>();
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.drill.exec.planner.common.DrillLimitRelBase: org.apache.calcite.rel.RelNode copy(org.apache.calcite.plan.RelTraitSet,java.util.List,boolean)>(v, v, 1);
return v;
}
}