org.apache.calcite.rex.RexBuilder.makeDateLiteral()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(9.3k)|赞(0)|评价(0)|浏览(71)

本文整理了Java中org.apache.calcite.rex.RexBuilder.makeDateLiteral方法的一些代码示例,展示了RexBuilder.makeDateLiteral的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RexBuilder.makeDateLiteral方法的具体详情如下:
包路径:org.apache.calcite.rex.RexBuilder
类名称:RexBuilder
方法名:makeDateLiteral

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(

相关文章

微信公众号

最新文章

更多