case TIME: case TIMESTAMP: Calendar calendar = literal.getValueAs(Calendar.class); final int year = calendar.get(Calendar.YEAR); final int era = calendar.get(Calendar.ERA);
private boolean isDefaultLiteral(SqlLiteral literal) { return literal.getValueAs(SqlJsonValueEmptyOrErrorBehavior.class) == SqlJsonValueEmptyOrErrorBehavior.DEFAULT; }
@Override public <T> T getOperandLiteralValue(int ordinal, Class<T> clazz) { try { final SqlNode node = call.operand(ordinal); return SqlLiteral.unchain(node).getValueAs(clazz); } catch (IllegalArgumentException e) { return null; } }
@Override public <T> T getOperandLiteralValue(int ordinal, Class<T> clazz) { try { final SqlNode node = call.operand(ordinal); return SqlLiteral.unchain(node).getValueAs(clazz); } catch (IllegalArgumentException e) { return null; } }
jj_consume_token(RPAREN); String sampleName = SqlLiteral.unchain(sample).getValueAs(String.class); SqlSampleSpec sampleSpec = SqlSampleSpec.createNamed(sampleName); final SqlLiteral sampleLiteral =
((SqlLiteral) behavior.get(2)).getValueAs(SqlJsonEmptyOrError.class); switch (symbol) { case EMPTY:
((SqlLiteral) behavior.get(1)).getValueAs(SqlJsonEmptyOrError.class); switch (symbol) { case EMPTY:
case TIME: case TIMESTAMP: Calendar calendar = literal.getValueAs(Calendar.class); final int year = calendar.get(Calendar.YEAR); final int era = calendar.get(Calendar.ERA);
case TIME: case TIMESTAMP: Calendar calendar = literal.getValueAs(Calendar.class); final int year = calendar.get(Calendar.YEAR); final int era = calendar.get(Calendar.ERA);
@Override public void unparseCall(SqlWriter writer, SqlCall call, int leftPrec, int rightPrec) { switch (call.getKind()) { case FLOOR: if (call.operandCount() != 2) { super.unparseCall(writer, call, leftPrec, rightPrec); return; } final SqlLiteral timeUnitNode = call.operand(1); final TimeUnitRange timeUnit = timeUnitNode.getValueAs(TimeUnitRange.class); SqlCall call2 = SqlFloorFunction.replaceTimeUnitOperand(call, timeUnit.name(), timeUnitNode.getParserPosition()); SqlFloorFunction.unparseDatetimeFunction(writer, call2, "DATE_TRUNC", false); break; default: super.unparseCall(writer, call, leftPrec, rightPrec); } } }
@Override public void unparseCall(SqlWriter writer, SqlCall call, int leftPrec, int rightPrec) { switch (call.getKind()) { case FLOOR: if (call.operandCount() != 2) { super.unparseCall(writer, call, leftPrec, rightPrec); return; } final SqlLiteral timeUnitNode = call.operand(1); final TimeUnitRange timeUnit = timeUnitNode.getValueAs(TimeUnitRange.class); final String translatedLit = convertTimeUnit(timeUnit); SqlCall call2 = SqlFloorFunction.replaceTimeUnitOperand(call, translatedLit, timeUnitNode.getParserPosition()); SqlFloorFunction.unparseDatetimeFunction(writer, call2, "TRUNC", true); break; default: super.unparseCall(writer, call, leftPrec, rightPrec); } }
@Override public void unparseCall(SqlWriter writer, SqlCall call, int leftPrec, int rightPrec) { switch (call.getKind()) { case FLOOR: if (call.operandCount() != 2) { super.unparseCall(writer, call, leftPrec, rightPrec); return; } final SqlLiteral timeUnitNode = call.operand(1); final TimeUnitRange timeUnit = timeUnitNode.getValueAs(TimeUnitRange.class); SqlCall call2 = SqlFloorFunction.replaceTimeUnitOperand(call, timeUnit.name(), timeUnitNode.getParserPosition()); SqlFloorFunction.unparseDatetimeFunction(writer, call2, "DATE_TRUNC", false); break; default: super.unparseCall(writer, call, leftPrec, rightPrec); } } }
@Override public void unparseCall(SqlWriter writer, SqlCall call, int leftPrec, int rightPrec) { switch (call.getKind()) { case FLOOR: if (call.operandCount() != 2) { super.unparseCall(writer, call, leftPrec, rightPrec); return; } final SqlLiteral timeUnitNode = call.operand(1); final TimeUnitRange timeUnit = timeUnitNode.getValueAs(TimeUnitRange.class); final String translatedLit = convertTimeUnit(timeUnit); SqlCall call2 = SqlFloorFunction.replaceTimeUnitOperand(call, translatedLit, timeUnitNode.getParserPosition()); SqlFloorFunction.unparseDatetimeFunction(writer, call2, "TRUNC", true); break; default: super.unparseCall(writer, call, leftPrec, rightPrec); } }
@Override public void unparseCall(SqlWriter writer, SqlCall call, int leftPrec, int rightPrec) { if (call.getOperator() == SqlStdOperatorTable.SUBSTRING) { SqlUtil.unparseFunctionSyntax(OracleSqlOperatorTable.SUBSTR, writer, call); } else { switch (call.getKind()) { case FLOOR: if (call.operandCount() != 2) { super.unparseCall(writer, call, leftPrec, rightPrec); return; } final SqlLiteral timeUnitNode = call.operand(1); final TimeUnitRange timeUnit = timeUnitNode.getValueAs(TimeUnitRange.class); SqlCall call2 = SqlFloorFunction.replaceTimeUnitOperand(call, timeUnit.name(), timeUnitNode.getParserPosition()); SqlFloorFunction.unparseDatetimeFunction(writer, call2, "TRUNC", true); break; default: super.unparseCall(writer, call, leftPrec, rightPrec); } } } }
@Override public void unparseCall(SqlWriter writer, SqlCall call, int leftPrec, int rightPrec) { if (call.getOperator() == SqlStdOperatorTable.SUBSTRING) { SqlUtil.unparseFunctionSyntax(OracleSqlOperatorTable.SUBSTR, writer, call); } else { switch (call.getKind()) { case FLOOR: if (call.operandCount() != 2) { super.unparseCall(writer, call, leftPrec, rightPrec); return; } final SqlLiteral timeUnitNode = call.operand(1); final TimeUnitRange timeUnit = timeUnitNode.getValueAs(TimeUnitRange.class); SqlCall call2 = SqlFloorFunction.replaceTimeUnitOperand(call, timeUnit.name(), timeUnitNode.getParserPosition()); SqlFloorFunction.unparseDatetimeFunction(writer, call2, "TRUNC", true); break; default: super.unparseCall(writer, call, leftPrec, rightPrec); } } } }
((SqlLiteral) behavior.get(2)).getValueAs(SqlJsonEmptyOrError.class); switch (symbol) { case EMPTY:
((SqlLiteral) behavior.get(1)).getValueAs(SqlJsonEmptyOrError.class); switch (symbol) { case EMPTY:
if (operator == SqlStdOperatorTable.TABLESAMPLE) { final String sampleName = SqlLiteral.unchain(call.operand(0)).getValueAs(String.class); datasetStack.push(sampleName); SqlCall cursorCall = call.operand(1);
if (operator == SqlStdOperatorTable.TABLESAMPLE) { final String sampleName = SqlLiteral.unchain(call.operand(0)).getValueAs(String.class); datasetStack.push(sampleName); SqlCall cursorCall = call.operand(1);
TimeUnit qualifier = ((SqlLiteral) ((SqlCallBinding) opBinding).operand(0)).getValueAs(TimeUnit.class);