private static int prec(SqlOperator op) { return Math.max(op.getLeftPrec(), op.getRightPrec()); }
private static int prec(SqlOperator op) { return Math.max(op.getLeftPrec(), op.getRightPrec()); }
public DrillCalciteSqlOperatorWrapper(SqlOperator operator, final String rename, final List<DrillFuncHolder> functions) { super( operator.getName(), operator.getKind(), operator.getLeftPrec(), operator.getRightPrec(), TypeInferenceUtils.getDrillSqlReturnTypeInference( rename, functions), operator.getOperandTypeInference(), Checker.ANY_CHECKER); this.operator = operator; }
&& op.kind == stopperKind || minPrec > 0 && op.getLeftPrec() < minPrec; } else { return false;
public void unparse( SqlWriter writer, SqlOperator operator, SqlCall call, int leftPrec, int rightPrec) { assert call.operandCount() == 1; writer.keyword(operator.getName()); call.operand(0).unparse(writer, operator.getLeftPrec(), operator.getRightPrec()); } },
public void unparse( SqlWriter writer, SqlOperator operator, SqlCall call, int leftPrec, int rightPrec) { assert call.operandCount() == 1; call.operand(0).unparse(writer, operator.getLeftPrec(), operator.getRightPrec()); writer.keyword(operator.getName()); } },
public void unparse( SqlWriter writer, SqlOperator operator, SqlCall call, int leftPrec, int rightPrec) { assert call.operandCount() == 1; writer.keyword(operator.getName()); call.operand(0).unparse(writer, operator.getLeftPrec(), operator.getRightPrec()); } },
public void unparse( SqlWriter writer, SqlOperator operator, SqlCall call, int leftPrec, int rightPrec) { assert call.operandCount() == 1; call.operand(0).unparse(writer, operator.getLeftPrec(), operator.getRightPrec()); writer.keyword(operator.getName()); } },
@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); }
public void unparse( SqlWriter writer, int leftPrec, int rightPrec) { final SqlOperator operator = getOperator(); final SqlDialect dialect = writer.getDialect(); if (leftPrec > operator.getLeftPrec() || (operator.getRightPrec() <= rightPrec && (rightPrec != 0)) || writer.isAlwaysUseParentheses() && isA(SqlKind.EXPRESSION)) { final SqlWriter.Frame frame = writer.startList("(", ")"); dialect.unparseCall(writer, this, 0, 0); writer.endList(frame); } else { dialect.unparseCall(writer, this, leftPrec, rightPrec); } }
public void unparse( SqlWriter writer, int leftPrec, int rightPrec) { final SqlOperator operator = getOperator(); final SqlDialect dialect = writer.getDialect(); if (leftPrec > operator.getLeftPrec() || (operator.getRightPrec() <= rightPrec && (rightPrec != 0)) || writer.isAlwaysUseParentheses() && isA(SqlKind.EXPRESSION)) { final SqlWriter.Frame frame = writer.startList("(", ")"); dialect.unparseCall(writer, this, 0, 0); writer.endList(frame); } else { dialect.unparseCall(writer, this, leftPrec, rightPrec); } }
@Override public void unparse(SqlWriter writer, int leftPrec, int rightPrec) { final SqlWriter.Frame frame = writer.startList(SqlWriter.FrameTypeEnum.SELECT, "DELETE FROM", ""); final int opLeft = getOperator().getLeftPrec(); final int opRight = getOperator().getRightPrec(); targetTable.unparse(writer, opLeft, opRight); if (alias != null) { writer.keyword("AS"); alias.unparse(writer, opLeft, opRight); } if (condition != null) { writer.sep("WHERE"); condition.unparse(writer, opLeft, opRight); } writer.endList(frame); }
@Override public void unparse(SqlWriter writer, int leftPrec, int rightPrec) { final SqlWriter.Frame frame = writer.startList(SqlWriter.FrameTypeEnum.SELECT, "DELETE FROM", ""); final int opLeft = getOperator().getLeftPrec(); final int opRight = getOperator().getRightPrec(); targetTable.unparse(writer, opLeft, opRight); if (alias != null) { writer.keyword("AS"); alias.unparse(writer, opLeft, opRight); } if (condition != null) { writer.sep("WHERE"); condition.unparse(writer, opLeft, opRight); } writer.endList(frame); }
public static void unparseBinarySyntax( SqlOperator operator, SqlCall call, SqlWriter writer, int leftPrec, int rightPrec) { assert call.operandCount() == 2; final SqlWriter.Frame frame = writer.startList( (operator instanceof SqlSetOperator) ? SqlWriter.FrameTypeEnum.SETOP : SqlWriter.FrameTypeEnum.SIMPLE); call.operand(0).unparse(writer, leftPrec, operator.getLeftPrec()); final boolean needsSpace = operator.needsSpace(); writer.setNeedWhitespace(needsSpace); writer.sep(operator.getName()); writer.setNeedWhitespace(needsSpace); call.operand(1).unparse(writer, operator.getRightPrec(), rightPrec); writer.endList(frame); }
public static void unparseBinarySyntax( SqlOperator operator, SqlCall call, SqlWriter writer, int leftPrec, int rightPrec) { assert call.operandCount() == 2; final SqlWriter.Frame frame = writer.startList( (operator instanceof SqlSetOperator) ? SqlWriter.FrameTypeEnum.SETOP : SqlWriter.FrameTypeEnum.SIMPLE); call.operand(0).unparse(writer, leftPrec, operator.getLeftPrec()); final boolean needsSpace = operator.needsSpace(); writer.setNeedWhitespace(needsSpace); writer.sep(operator.getName()); writer.setNeedWhitespace(needsSpace); call.operand(1).unparse(writer, operator.getRightPrec(), rightPrec); writer.endList(frame); }
@Override public void unparse(SqlWriter writer, SqlCall call, int leftPrec, int rightPrec) { final SqlOperator operator = call.getOperator(); assert call.operandCount() == 2; final SqlWriter.Frame frame = writer.startList(SqlWriter.FrameTypeEnum.SIMPLE); call.operand(0).unparse(writer, leftPrec, operator.getLeftPrec()); writer.setNeedWhitespace(true); writer.sep(operator.getName()); final SqlNodeList list = call.operand(1); final SqlWriter.Frame frame2 = writer.startList("(", ")"); for (Ord<SqlNode> node2 : Ord.zip(list)) { if (node2.i > 0 && node2.i % 2 == 0) { writer.sep(","); } node2.e.unparse(writer, 2, 3); } writer.endList(frame2); writer.endList(frame); } }
@Override public void unparse(SqlWriter writer, SqlCall call, int leftPrec, int rightPrec) { final SqlOperator operator = call.getOperator(); assert call.operandCount() == 2; final SqlWriter.Frame frame = writer.startList(SqlWriter.FrameTypeEnum.SIMPLE); call.operand(0).unparse(writer, leftPrec, operator.getLeftPrec()); writer.setNeedWhitespace(true); writer.sep(operator.getName()); final SqlNodeList list = call.operand(1); final SqlWriter.Frame frame2 = writer.startList("(", ")"); for (Ord<SqlNode> node2 : Ord.zip(list)) { if (node2.i > 0 && node2.i % 2 == 0) { writer.sep(","); } node2.e.unparse(writer, 2, 3); } writer.endList(frame2); writer.endList(frame); } }
@Override public void unparse(SqlWriter writer, int leftPrec, int rightPrec) { final SqlWriter.Frame frame = writer.startList(SqlWriter.FrameTypeEnum.SELECT, "UPDATE", ""); final int opLeft = getOperator().getLeftPrec(); final int opRight = getOperator().getRightPrec(); targetTable.unparse(writer, opLeft, opRight); if (alias != null) { writer.keyword("AS"); alias.unparse(writer, opLeft, opRight); } final SqlWriter.Frame setFrame = writer.startList(SqlWriter.FrameTypeEnum.UPDATE_SET_LIST, "SET", ""); for (Pair<SqlNode, SqlNode> pair : Pair.zip(getTargetColumnList(), getSourceExpressionList())) { writer.sep(","); SqlIdentifier id = (SqlIdentifier) pair.left; id.unparse(writer, opLeft, opRight); writer.keyword("="); SqlNode sourceExp = pair.right; sourceExp.unparse(writer, opLeft, opRight); } writer.endList(setFrame); if (condition != null) { writer.sep("WHERE"); condition.unparse(writer, opLeft, opRight); } writer.endList(frame); }
@Override public void unparse(SqlWriter writer, int leftPrec, int rightPrec) { final SqlWriter.Frame frame = writer.startList(SqlWriter.FrameTypeEnum.SELECT, "UPDATE", ""); final int opLeft = getOperator().getLeftPrec(); final int opRight = getOperator().getRightPrec(); targetTable.unparse(writer, opLeft, opRight); if (alias != null) { writer.keyword("AS"); alias.unparse(writer, opLeft, opRight); } final SqlWriter.Frame setFrame = writer.startList(SqlWriter.FrameTypeEnum.UPDATE_SET_LIST, "SET", ""); for (Pair<SqlNode, SqlNode> pair : Pair.zip(getTargetColumnList(), getSourceExpressionList())) { writer.sep(","); SqlIdentifier id = (SqlIdentifier) pair.left; id.unparse(writer, opLeft, opRight); writer.keyword("="); SqlNode sourceExp = pair.right; sourceExp.unparse(writer, opLeft, opRight); } writer.endList(setFrame); if (condition != null) { writer.sep("WHERE"); condition.unparse(writer, opLeft, opRight); } writer.endList(frame); }