rwb = RexWindowBound.create(SqlWindow.createCurrentRow(new SqlParserPos(1, 1)), null); break;
rwb = RexWindowBound.create(SqlWindow.createCurrentRow(new SqlParserPos(1, 1)), null); break;
s = span(); jj_consume_token(ROW); {if (true) return SqlWindow.createCurrentRow(s.end(this));} } else if (jj_2_189(2)) { jj_consume_token(UNBOUNDED);
s = span(); jj_consume_token(ROW); {if (true) return SqlWindow.createCurrentRow(s.end(this));} } else if (jj_2_189(2)) { jj_consume_token(UNBOUNDED);
s = span(); jj_consume_token(ROW); {if ("" != null) return SqlWindow.createCurrentRow(s.end(this));} } else if (jj_2_191(2)) { jj_consume_token(UNBOUNDED);
/** * Creates a window <code>(RANGE <i>columnName</i> CURRENT ROW)</code>. * * @param columnName Order column */ public SqlWindow createCurrentRowWindow(final String columnName) { return SqlWindow.create( null, null, new SqlNodeList(SqlParserPos.ZERO), new SqlNodeList( ImmutableList.of( new SqlIdentifier(columnName, SqlParserPos.ZERO)), SqlParserPos.ZERO), SqlLiteral.createBoolean(true, SqlParserPos.ZERO), SqlWindow.createCurrentRow(SqlParserPos.ZERO), SqlWindow.createCurrentRow(SqlParserPos.ZERO), SqlLiteral.createBoolean(true, SqlParserPos.ZERO), SqlParserPos.ZERO); }
/** * Creates a window <code>(RANGE <i>columnName</i> CURRENT ROW)</code>. * * @param columnName Order column */ public SqlWindow createCurrentRowWindow(final String columnName) { return SqlWindow.create( null, null, new SqlNodeList(SqlParserPos.ZERO), new SqlNodeList( ImmutableList.of( new SqlIdentifier(columnName, SqlParserPos.ZERO)), SqlParserPos.ZERO), SqlLiteral.createBoolean(true, SqlParserPos.ZERO), SqlWindow.createCurrentRow(SqlParserPos.ZERO), SqlWindow.createCurrentRow(SqlParserPos.ZERO), SqlLiteral.createBoolean(true, SqlParserPos.ZERO), SqlParserPos.ZERO); }
/** * Fill in missing bounds. Default bounds are "BETWEEN UNBOUNDED PRECEDING * AND CURRENT ROW" when ORDER BY present and "BETWEEN UNBOUNDED PRECEDING * AND UNBOUNDED FOLLOWING" when no ORDER BY present. */ public void populateBounds() { if (lowerBound == null && upperBound == null) { setLowerBound( SqlWindow.createUnboundedPreceding(getParserPosition())); } if (lowerBound == null) { setLowerBound( SqlWindow.createCurrentRow(getParserPosition())); } if (upperBound == null) { SqlParserPos pos = orderList.getParserPosition(); setUpperBound( orderList.size() == 0 ? SqlWindow.createUnboundedFollowing(pos) : SqlWindow.createCurrentRow(pos)); } }
/** * Fill in missing bounds. Default bounds are "BETWEEN UNBOUNDED PRECEDING * AND CURRENT ROW" when ORDER BY present and "BETWEEN UNBOUNDED PRECEDING * AND UNBOUNDED FOLLOWING" when no ORDER BY present. */ public void populateBounds() { if (lowerBound == null && upperBound == null) { setLowerBound( SqlWindow.createUnboundedPreceding(getParserPosition())); } if (lowerBound == null) { setLowerBound( SqlWindow.createCurrentRow(getParserPosition())); } if (upperBound == null) { SqlParserPos pos = orderList.getParserPosition(); setUpperBound( orderList.size() == 0 ? SqlWindow.createUnboundedFollowing(pos) : SqlWindow.createCurrentRow(pos)); } }
/** * Creates a window <code>(RANGE <i>columnName</i> UNBOUNDED * PRECEDING)</code>. * * @param columnName Order column */ public SqlWindow createUnboundedPrecedingWindow(final String columnName) { return SqlWindow.create( null, null, new SqlNodeList(SqlParserPos.ZERO), new SqlNodeList( ImmutableList.of( new SqlIdentifier(columnName, SqlParserPos.ZERO)), SqlParserPos.ZERO), SqlLiteral.createBoolean(false, SqlParserPos.ZERO), SqlWindow.createUnboundedPreceding(SqlParserPos.ZERO), SqlWindow.createCurrentRow(SqlParserPos.ZERO), SqlLiteral.createBoolean(false, SqlParserPos.ZERO), SqlParserPos.ZERO); }
/** * Creates a window <code>(RANGE <i>columnName</i> UNBOUNDED * PRECEDING)</code>. * * @param columnName Order column */ public SqlWindow createUnboundedPrecedingWindow(final String columnName) { return SqlWindow.create( null, null, new SqlNodeList(SqlParserPos.ZERO), new SqlNodeList( ImmutableList.of( new SqlIdentifier(columnName, SqlParserPos.ZERO)), SqlParserPos.ZERO), SqlLiteral.createBoolean(false, SqlParserPos.ZERO), SqlWindow.createUnboundedPreceding(SqlParserPos.ZERO), SqlWindow.createCurrentRow(SqlParserPos.ZERO), SqlLiteral.createBoolean(false, SqlParserPos.ZERO), SqlParserPos.ZERO); }
private SqlNode createSqlWindowBound(RexWindowBound rexWindowBound) { if (rexWindowBound.isCurrentRow()) { return SqlWindow.createCurrentRow(POS); } if (rexWindowBound.isPreceding()) { if (rexWindowBound.isUnbounded()) { return SqlWindow.createUnboundedPreceding(POS); } else { SqlNode literal = toSql(null, rexWindowBound.getOffset()); return SqlWindow.createPreceding(literal, POS); } } if (rexWindowBound.isFollowing()) { if (rexWindowBound.isUnbounded()) { return SqlWindow.createUnboundedFollowing(POS); } else { SqlNode literal = toSql(null, rexWindowBound.getOffset()); return SqlWindow.createFollowing(literal, POS); } } throw new AssertionError("Unsupported Window bound: " + rexWindowBound); }
private SqlNode createSqlWindowBound(RexWindowBound rexWindowBound) { if (rexWindowBound.isCurrentRow()) { return SqlWindow.createCurrentRow(POS); } if (rexWindowBound.isPreceding()) { if (rexWindowBound.isUnbounded()) { return SqlWindow.createUnboundedPreceding(POS); } else { SqlNode literal = toSql(null, rexWindowBound.getOffset()); return SqlWindow.createPreceding(literal, POS); } } if (rexWindowBound.isFollowing()) { if (rexWindowBound.isUnbounded()) { return SqlWindow.createUnboundedFollowing(POS); } else { SqlNode literal = toSql(null, rexWindowBound.getOffset()); return SqlWindow.createFollowing(literal, POS); } } throw new AssertionError("Unsupported Window bound: " + rexWindowBound); }
rwb = RexWindowBound.create(SqlWindow.createCurrentRow(new SqlParserPos(1, 1)), null); break;
s = span(); jj_consume_token(ROW); {if (true) return SqlWindow.createCurrentRow(s.end(this));} } else if (jj_2_319(2)) { jj_consume_token(UNBOUNDED);
s = span(); jj_consume_token(ROW); {if (true) return SqlWindow.createCurrentRow(s.end(this));} } else if (jj_2_194(2)) { jj_consume_token(UNBOUNDED);
s = span(); jj_consume_token(ROW); {if (true) return SqlWindow.createCurrentRow(s.end(this));} } else if (jj_2_182(2)) { jj_consume_token(UNBOUNDED);
s = span(); jj_consume_token(ROW); {if (true) return SqlWindow.createCurrentRow(s.end(this));} } else if (jj_2_224(2)) { jj_consume_token(UNBOUNDED);
s = span(); jj_consume_token(ROW); {if (true) return SqlWindow.createCurrentRow(s.end(this));} } else if (jj_2_225(2)) { jj_consume_token(UNBOUNDED);
s = span(); jj_consume_token(ROW); {if (true) return SqlWindow.createCurrentRow(s.end(this));} } else if (jj_2_185(2)) { jj_consume_token(UNBOUNDED);