本文整理了Java中org.apache.calcite.rex.RexBuilder.makeDateLiteral
方法的一些代码示例,展示了RexBuilder.makeDateLiteral
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RexBuilder.makeDateLiteral
方法的具体详情如下:
包路径:org.apache.calcite.rex.RexBuilder
类名称:RexBuilder
方法名:makeDateLiteral
暂无
代码示例来源:origin: apache/drill
Calendar cal = new GregorianCalendar();
cal.setTime((Date) value);
calciteLiteral = rexBuilder.makeDateLiteral(cal);
break;
case TIMESTAMP:
代码示例来源:origin: apache/incubator-druid
literal = rexBuilder.makeDateLiteral(
Calcites.jodaToCalciteDateString(
DateTimes.utc(exprResult.asLong()),
代码示例来源:origin: apache/hive
case DATE:
final Date date = (Date) value;
calciteLiteral = rexBuilder.makeDateLiteral(
DateString.fromDaysSinceEpoch(date.toEpochDay()));
break;
代码示例来源:origin: apache/incubator-druid
@Override
public RexNode convertCall(final SqlRexContext cx, final SqlCall call)
{
final SqlOperator operator = call.getOperator();
if (operator.equals(SqlStdOperatorTable.CURRENT_TIMESTAMP)
|| operator.equals(SqlStdOperatorTable.LOCALTIMESTAMP)) {
return cx.getRexBuilder().makeTimestampLiteral(
Calcites.jodaToCalciteTimestampString(plannerContext.getLocalNow(), plannerContext.getTimeZone()),
RelDataType.PRECISION_NOT_SPECIFIED
);
} else if (operator.equals(SqlStdOperatorTable.CURRENT_TIME) || operator.equals(SqlStdOperatorTable.LOCALTIME)) {
return cx.getRexBuilder().makeTimeLiteral(
Calcites.jodaToCalciteTimeString(plannerContext.getLocalNow(), plannerContext.getTimeZone()),
RelDataType.PRECISION_NOT_SPECIFIED
);
} else if (operator.equals(SqlStdOperatorTable.CURRENT_DATE)) {
return cx.getRexBuilder().makeDateLiteral(
Calcites.jodaToCalciteDateString(
plannerContext.getLocalNow().hourOfDay().roundFloorCopy(),
plannerContext.getTimeZone()
)
);
} else {
throw new ISE("WTF?! Should not have got here, operator was: %s", operator);
}
}
}
代码示例来源:origin: org.apache.calcite/calcite-core
/** @deprecated Use {@link #makeDateLiteral(DateString)}. */
@Deprecated // to be removed before 2.0
public RexLiteral makeDateLiteral(Calendar calendar) {
return makeDateLiteral(DateString.fromCalendarFields(calendar));
}
代码示例来源:origin: Qihoo360/Quicksql
/** @deprecated Use {@link #makeDateLiteral(DateString)}. */
@Deprecated // to be removed before 2.0
public RexLiteral makeDateLiteral(Calendar calendar) {
return makeDateLiteral(DateString.fromCalendarFields(calendar));
}
代码示例来源:origin: Qihoo360/Quicksql
public RexNode dateLiteral(DateString d) {
return rexBuilder.makeDateLiteral(d);
}
代码示例来源:origin: org.apache.calcite/calcite-core
public RexNode dateLiteral(DateString d) {
return rexBuilder.makeDateLiteral(d);
}
代码示例来源:origin: Qihoo360/Quicksql
/** Reduces several expressions to constants. */
@Test public void testConstant2() throws Exception {
// Same as testConstant; 10 -> 10
checkConstant(10L,
rexBuilder -> rexBuilder.makeExactLiteral(BigDecimal.TEN));
// 10 + 1 -> 11
checkConstant(11L,
rexBuilder -> rexBuilder.makeCall(SqlStdOperatorTable.PLUS,
rexBuilder.makeExactLiteral(BigDecimal.TEN),
rexBuilder.makeExactLiteral(BigDecimal.ONE)));
// date 'today' <= date 'today' -> true
checkConstant(true, rexBuilder -> {
final DateString d =
DateString.fromCalendarFields(Util.calendar());
return rexBuilder.makeCall(SqlStdOperatorTable.LESS_THAN_OR_EQUAL,
rexBuilder.makeDateLiteral(d),
rexBuilder.makeDateLiteral(d));
});
// date 'today' < date 'today' -> false
checkConstant(false, rexBuilder -> {
final DateString d =
DateString.fromCalendarFields(Util.calendar());
return rexBuilder.makeCall(SqlStdOperatorTable.LESS_THAN,
rexBuilder.makeDateLiteral(d),
rexBuilder.makeDateLiteral(d));
});
}
代码示例来源:origin: org.apache.calcite/calcite-core
/** Reduces several expressions to constants. */
@Test public void testConstant2() throws Exception {
// Same as testConstant; 10 -> 10
checkConstant(10L,
rexBuilder -> rexBuilder.makeExactLiteral(BigDecimal.TEN));
// 10 + 1 -> 11
checkConstant(11L,
rexBuilder -> rexBuilder.makeCall(SqlStdOperatorTable.PLUS,
rexBuilder.makeExactLiteral(BigDecimal.TEN),
rexBuilder.makeExactLiteral(BigDecimal.ONE)));
// date 'today' <= date 'today' -> true
checkConstant(true, rexBuilder -> {
final DateString d =
DateString.fromCalendarFields(Util.calendar());
return rexBuilder.makeCall(SqlStdOperatorTable.LESS_THAN_OR_EQUAL,
rexBuilder.makeDateLiteral(d),
rexBuilder.makeDateLiteral(d));
});
// date 'today' < date 'today' -> false
checkConstant(false, rexBuilder -> {
final DateString d =
DateString.fromCalendarFields(Util.calendar());
return rexBuilder.makeCall(SqlStdOperatorTable.LESS_THAN,
rexBuilder.makeDateLiteral(d),
rexBuilder.makeDateLiteral(d));
});
}
代码示例来源:origin: dremio/dremio-oss
@Override
public RexNode convertCall(SqlRexContext cx, SqlCall call) {
final int timeZoneIndex = getContextInformation().getRootFragmentTimeZone();
final DateTimeZone timeZone = DateTimeZone.forID(DateUtility.getTimeZone(timeZoneIndex));
final LocalDateTime dateTime = new LocalDateTime(getContextInformation().getQueryStartTime(), timeZone);
final long midNightAsMillis =
new DateMidnight(dateTime.getYear(), dateTime.getMonthOfYear(), dateTime.getDayOfMonth(),
timeZone)
.withZoneRetainFields(DateTimeZone.UTC)
.getMillis();
return cx.getRexBuilder()
.makeDateLiteral(DateTimes.toDateTime(
new LocalDateTime(midNightAsMillis, DateTimeZone.UTC))
.toCalendar(null)); // null sets locale to default locale
}
}
代码示例来源:origin: org.apache.calcite/calcite-core
private RexLiteral dateTimeLiteral(RexBuilder rexBuilder, Calendar calendar,
RexNode operand) {
final TimestampString ts;
final int p;
switch (operand.getType().getSqlTypeName()) {
case TIMESTAMP:
ts = TimestampString.fromCalendarFields(calendar);
p = operand.getType().getPrecision();
return rexBuilder.makeTimestampLiteral(ts, p);
case TIMESTAMP_WITH_LOCAL_TIME_ZONE:
ts = TimestampString.fromCalendarFields(calendar);
final TimeZone tz = TimeZone.getTimeZone(this.timeZone);
final TimestampString localTs =
new TimestampWithTimeZoneString(ts, tz)
.withTimeZone(DateTimeUtils.UTC_ZONE)
.getLocalTimestampString();
p = operand.getType().getPrecision();
return rexBuilder.makeTimestampWithLocalTimeZoneLiteral(localTs, p);
case DATE:
final DateString d = DateString.fromCalendarFields(calendar);
return rexBuilder.makeDateLiteral(d);
default:
throw Util.unexpected(operand.getType().getSqlTypeName());
}
}
代码示例来源:origin: Qihoo360/Quicksql
private RexLiteral dateTimeLiteral(RexBuilder rexBuilder, Calendar calendar,
RexNode operand) {
final TimestampString ts;
final int p;
switch (operand.getType().getSqlTypeName()) {
case TIMESTAMP:
ts = TimestampString.fromCalendarFields(calendar);
p = operand.getType().getPrecision();
return rexBuilder.makeTimestampLiteral(ts, p);
case TIMESTAMP_WITH_LOCAL_TIME_ZONE:
ts = TimestampString.fromCalendarFields(calendar);
final TimeZone tz = TimeZone.getTimeZone(this.timeZone);
final TimestampString localTs =
new TimestampWithTimeZoneString(ts, tz)
.withTimeZone(DateTimeUtils.UTC_ZONE)
.getLocalTimestampString();
p = operand.getType().getPrecision();
return rexBuilder.makeTimestampWithLocalTimeZoneLiteral(localTs, p);
case DATE:
final DateString d = DateString.fromCalendarFields(calendar);
return rexBuilder.makeDateLiteral(d);
default:
throw Util.unexpected(operand.getType().getSqlTypeName());
}
}
代码示例来源:origin: org.apache.druid/druid-sql
literal = rexBuilder.makeDateLiteral(
Calcites.jodaToCalciteDateString(
DateTimes.utc(exprResult.asLong()),
代码示例来源:origin: org.apache.calcite/calcite-core
rexBuilder.makeLiteral(new ByteString(new byte[] {1, 2, -34, 0, -128}),
typeFactory.createSqlType(SqlTypeName.BINARY, 5), false));
literals.add(rexBuilder.makeDateLiteral(new DateString(1974, 8, 9)));
literals.add(rexBuilder.makeTimeLiteral(new TimeString(1, 23, 45), 0));
literals.add(
代码示例来源:origin: org.apache.druid/druid-sql
@Override
public RexNode convertCall(final SqlRexContext cx, final SqlCall call)
{
final SqlOperator operator = call.getOperator();
if (operator.equals(SqlStdOperatorTable.CURRENT_TIMESTAMP)
|| operator.equals(SqlStdOperatorTable.LOCALTIMESTAMP)) {
return cx.getRexBuilder().makeTimestampLiteral(
Calcites.jodaToCalciteTimestampString(plannerContext.getLocalNow(), plannerContext.getTimeZone()),
RelDataType.PRECISION_NOT_SPECIFIED
);
} else if (operator.equals(SqlStdOperatorTable.CURRENT_TIME) || operator.equals(SqlStdOperatorTable.LOCALTIME)) {
return cx.getRexBuilder().makeTimeLiteral(
Calcites.jodaToCalciteTimeString(plannerContext.getLocalNow(), plannerContext.getTimeZone()),
RelDataType.PRECISION_NOT_SPECIFIED
);
} else if (operator.equals(SqlStdOperatorTable.CURRENT_DATE)) {
return cx.getRexBuilder().makeDateLiteral(
Calcites.jodaToCalciteDateString(
plannerContext.getLocalNow().hourOfDay().roundFloorCopy(),
plannerContext.getTimeZone()
)
);
} else {
throw new ISE("WTF?! Should not have got here, operator was: %s", operator);
}
}
}
代码示例来源:origin: Qihoo360/Quicksql
((SqlTimeLiteral) literal).getPrec());
case DATE:
return rexBuilder.makeDateLiteral(literal.getValueAs(DateString.class));
代码示例来源:origin: org.apache.calcite/calcite-core
((SqlTimeLiteral) literal).getPrec());
case DATE:
return rexBuilder.makeDateLiteral(literal.getValueAs(DateString.class));
代码示例来源:origin: Qihoo360/Quicksql
@Test public void testSimplifyCastLiteral3() {
final RexLiteral literalDate = rexBuilder.makeDateLiteral(new DateString("2011-07-20"));
final RexLiteral literalTime = rexBuilder.makeTimeLiteral(new TimeString("12:34:56"), 0);
final RexLiteral literalTimestamp = rexBuilder.makeTimestampLiteral(
代码示例来源:origin: org.apache.calcite/calcite-core
@Test public void testSimplifyCastLiteral3() {
final RexLiteral literalDate = rexBuilder.makeDateLiteral(new DateString("2011-07-20"));
final RexLiteral literalTime = rexBuilder.makeTimeLiteral(new TimeString("12:34:56"), 0);
final RexLiteral literalTimestamp = rexBuilder.makeTimestampLiteral(
内容来源于网络,如有侵权,请联系作者删除!