private void printIndent(SqlWriter writer) { writer.sep(",", false); writer.newlineAndIndent(); writer.print(" "); }
/** Unparses offset/fetch using "LIMIT fetch OFFSET offset" syntax. */ protected final void unparseFetchUsingLimit(SqlWriter writer, SqlNode offset, SqlNode fetch) { Preconditions.checkArgument(fetch != null || offset != null); if (fetch != null) { writer.newlineAndIndent(); final SqlWriter.Frame fetchFrame = writer.startList(SqlWriter.FrameTypeEnum.FETCH); writer.keyword("LIMIT"); fetch.unparse(writer, -1, -1); writer.endList(fetchFrame); } if (offset != null) { writer.newlineAndIndent(); final SqlWriter.Frame offsetFrame = writer.startList(SqlWriter.FrameTypeEnum.OFFSET); writer.keyword("OFFSET"); offset.unparse(writer, -1, -1); writer.endList(offsetFrame); } }
/** Unparses offset/fetch using "LIMIT fetch OFFSET offset" syntax. */ protected final void unparseFetchUsingLimit(SqlWriter writer, SqlNode offset, SqlNode fetch) { Preconditions.checkArgument(fetch != null || offset != null); if (fetch != null) { writer.newlineAndIndent(); final SqlWriter.Frame fetchFrame = writer.startList(SqlWriter.FrameTypeEnum.FETCH); writer.keyword("LIMIT"); fetch.unparse(writer, -1, -1); writer.endList(fetchFrame); } if (offset != null) { writer.newlineAndIndent(); final SqlWriter.Frame offsetFrame = writer.startList(SqlWriter.FrameTypeEnum.OFFSET); writer.keyword("OFFSET"); offset.unparse(writer, -1, -1); writer.endList(offsetFrame); } }
/** Unparses offset/fetch using ANSI standard "OFFSET offset ROWS FETCH NEXT * fetch ROWS ONLY" syntax. */ protected final void unparseFetchUsingAnsi(SqlWriter writer, SqlNode offset, SqlNode fetch) { Preconditions.checkArgument(fetch != null || offset != null); if (offset != null) { writer.newlineAndIndent(); final SqlWriter.Frame offsetFrame = writer.startList(SqlWriter.FrameTypeEnum.OFFSET); writer.keyword("OFFSET"); offset.unparse(writer, -1, -1); writer.keyword("ROWS"); writer.endList(offsetFrame); } if (fetch != null) { writer.newlineAndIndent(); final SqlWriter.Frame fetchFrame = writer.startList(SqlWriter.FrameTypeEnum.FETCH); writer.keyword("FETCH"); writer.keyword("NEXT"); fetch.unparse(writer, -1, -1); writer.keyword("ROWS"); writer.keyword("ONLY"); writer.endList(fetchFrame); } }
/** Unparses offset/fetch using ANSI standard "OFFSET offset ROWS FETCH NEXT * fetch ROWS ONLY" syntax. */ protected final void unparseFetchUsingAnsi(SqlWriter writer, SqlNode offset, SqlNode fetch) { Preconditions.checkArgument(fetch != null || offset != null); if (offset != null) { writer.newlineAndIndent(); final SqlWriter.Frame offsetFrame = writer.startList(SqlWriter.FrameTypeEnum.OFFSET); writer.keyword("OFFSET"); offset.unparse(writer, -1, -1); writer.keyword("ROWS"); writer.endList(offsetFrame); } if (fetch != null) { writer.newlineAndIndent(); final SqlWriter.Frame fetchFrame = writer.startList(SqlWriter.FrameTypeEnum.FETCH); writer.keyword("FETCH"); writer.keyword("NEXT"); fetch.unparse(writer, -1, -1); writer.keyword("ROWS"); writer.keyword("ONLY"); writer.endList(fetchFrame); } }
@Override public void unparse(SqlWriter writer, int leftPrec, int rightPrec) { writer.startList(SqlWriter.FrameTypeEnum.SELECT); writer.sep(isUpsert() ? "UPSERT INTO" : "INSERT INTO"); final int opLeft = getOperator().getLeftPrec(); final int opRight = getOperator().getRightPrec(); targetTable.unparse(writer, opLeft, opRight); if (columnList != null) { columnList.unparse(writer, opLeft, opRight); } writer.newlineAndIndent(); source.unparse(writer, 0, 0); }
@Override public void unparse(SqlWriter writer, int leftPrec, int rightPrec) { writer.startList(SqlWriter.FrameTypeEnum.SELECT); writer.sep(isUpsert() ? "UPSERT INTO" : "INSERT INTO"); final int opLeft = getOperator().getLeftPrec(); final int opRight = getOperator().getRightPrec(); targetTable.unparse(writer, opLeft, opRight); if (columnList != null) { columnList.unparse(writer, opLeft, opRight); } writer.newlineAndIndent(); source.unparse(writer, 0, 0); }
writer.newlineAndIndent(); writer.keyword("USING"); source.unparse(writer, opLeft, opRight); writer.newlineAndIndent(); writer.keyword("ON"); condition.unparse(writer, opLeft, opRight); writer.newlineAndIndent(); writer.keyword("WHEN MATCHED THEN UPDATE"); final SqlWriter.Frame setFrame = writer.newlineAndIndent(); writer.keyword("WHEN NOT MATCHED THEN INSERT"); if (insertCall.getTargetColumnList() != null) {
writer.newlineAndIndent(); writer.keyword("USING"); source.unparse(writer, opLeft, opRight); writer.newlineAndIndent(); writer.keyword("ON"); condition.unparse(writer, opLeft, opRight); writer.newlineAndIndent(); writer.keyword("WHEN MATCHED THEN UPDATE"); final SqlWriter.Frame setFrame = writer.newlineAndIndent(); writer.keyword("WHEN NOT MATCHED THEN INSERT"); if (insertCall.getTargetColumnList() != null) {
writer.newlineAndIndent(); writer.sep("PARTITION BY"); final SqlWriter.Frame partitionFrame = writer.startList("", ""); writer.newlineAndIndent(); writer.sep("ORDER BY"); final SqlWriter.Frame orderFrame = writer.newlineAndIndent(); writer.sep("MEASURES"); final SqlWriter.Frame measureFrame = writer.startList("", ""); writer.newlineAndIndent(); pattern.rowsPerMatch.unparse(writer, 0, 0); writer.newlineAndIndent(); writer.sep("AFTER MATCH"); pattern.after.unparse(writer, 0, 0); writer.newlineAndIndent(); writer.sep("PATTERN"); writer.newlineAndIndent(); writer.sep("SUBSET"); SqlWriter.Frame subsetFrame = writer.startList("", ""); writer.newlineAndIndent(); writer.sep("DEFINE");
writer.newlineAndIndent(); writer.sep("PARTITION BY"); final SqlWriter.Frame partitionFrame = writer.startList("", ""); writer.newlineAndIndent(); writer.sep("ORDER BY"); final SqlWriter.Frame orderFrame = writer.newlineAndIndent(); writer.sep("MEASURES"); final SqlWriter.Frame measureFrame = writer.startList("", ""); writer.newlineAndIndent(); pattern.rowsPerMatch.unparse(writer, 0, 0); writer.newlineAndIndent(); writer.sep("AFTER MATCH"); pattern.after.unparse(writer, 0, 0); writer.newlineAndIndent(); writer.sep("PATTERN"); writer.newlineAndIndent(); writer.sep("SUBSET"); SqlWriter.Frame subsetFrame = writer.startList("", ""); writer.newlineAndIndent(); writer.sep("DEFINE");
final SqlWriter.Frame frame2 = writer.startList(SqlWriter.FrameTypeEnum.OFFSET); writer.newlineAndIndent(); writer.keyword("OFFSET"); orderBy.offset.unparse(writer, -1, -1); final SqlWriter.Frame frame3 = writer.startList(SqlWriter.FrameTypeEnum.FETCH); writer.newlineAndIndent(); writer.keyword("FETCH"); writer.keyword("NEXT");
final SqlWriter.Frame frame2 = writer.startList(SqlWriter.FrameTypeEnum.OFFSET); writer.newlineAndIndent(); writer.keyword("OFFSET"); orderBy.offset.unparse(writer, -1, -1); final SqlWriter.Frame frame3 = writer.startList(SqlWriter.FrameTypeEnum.FETCH); writer.newlineAndIndent(); writer.keyword("FETCH"); writer.keyword("NEXT");
writer.newlineAndIndent(); explicandum.unparse( writer, getOperator().getLeftPrec(), getOperator().getRightPrec());
writer.newlineAndIndent(); explicandum.unparse( writer, getOperator().getLeftPrec(), getOperator().getRightPrec());
watermark.unparse(writer, leftPrec, rightPrec); writer.newlineAndIndent(); writer.endList(frame); property.unparse(writer, leftPrec, rightPrec); writer.newlineAndIndent(); writer.endList(withFrame);