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

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

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

RexBuilder.makeReinterpretCast介绍

[英]Makes a reinterpret cast.
[中]重新诠释演员阵容。

代码示例

代码示例来源:origin: org.apache.calcite/calcite-core

/**
 * Casts a decimal's integer representation to a decimal node. If the
 * expression is not the expected integer type, then it is casted first.
 *
 * <p>An overflow check may be requested to ensure the internal value
 * does not exceed the maximum value of the decimal type.
 *
 * @param value         integer representation of decimal
 * @param type          type integer will be reinterpreted as
 * @param checkOverflow indicates whether an overflow check is required
 *                      when reinterpreting this particular value as the
 *                      decimal type. A check usually not required for
 *                      arithmetic, but is often required for rounding and
 *                      explicit casts.
 * @return the integer reinterpreted as an opaque decimal type
 */
public RexNode encodeIntervalOrDecimal(
  RexNode value,
  RelDataType type,
  boolean checkOverflow) {
 RelDataType bigintType =
   typeFactory.createSqlType(SqlTypeName.BIGINT);
 RexNode cast = ensureType(bigintType, value, true);
 return makeReinterpretCast(type, cast, makeLiteral(checkOverflow));
}

代码示例来源:origin: Qihoo360/Quicksql

/**
 * Casts a decimal's integer representation to a decimal node. If the
 * expression is not the expected integer type, then it is casted first.
 *
 * <p>An overflow check may be requested to ensure the internal value
 * does not exceed the maximum value of the decimal type.
 *
 * @param value         integer representation of decimal
 * @param type          type integer will be reinterpreted as
 * @param checkOverflow indicates whether an overflow check is required
 *                      when reinterpreting this particular value as the
 *                      decimal type. A check usually not required for
 *                      arithmetic, but is often required for rounding and
 *                      explicit casts.
 * @return the integer reinterpreted as an opaque decimal type
 */
public RexNode encodeIntervalOrDecimal(
  RexNode value,
  RelDataType type,
  boolean checkOverflow) {
 RelDataType bigintType =
   typeFactory.createSqlType(SqlTypeName.BIGINT);
 RexNode cast = ensureType(bigintType, value, true);
 return makeReinterpretCast(type, cast, makeLiteral(checkOverflow));
}

代码示例来源:origin: Qihoo360/Quicksql

/**
 * Retrieves an interval or decimal node's integer representation
 *
 * @param node the interval or decimal value as an opaque type
 * @return an integer representation of the decimal value
 */
public RexNode decodeIntervalOrDecimal(RexNode node) {
 assert SqlTypeUtil.isDecimal(node.getType())
   || SqlTypeUtil.isInterval(node.getType());
 RelDataType bigintType = typeFactory.createSqlType(SqlTypeName.BIGINT);
 return makeReinterpretCast(
   matchNullability(bigintType, node), node, makeLiteral(false));
}

代码示例来源:origin: org.apache.calcite/calcite-core

/**
 * Retrieves an interval or decimal node's integer representation
 *
 * @param node the interval or decimal value as an opaque type
 * @return an integer representation of the decimal value
 */
public RexNode decodeIntervalOrDecimal(RexNode node) {
 assert SqlTypeUtil.isDecimal(node.getType())
   || SqlTypeUtil.isInterval(node.getType());
 RelDataType bigintType = typeFactory.createSqlType(SqlTypeName.BIGINT);
 return makeReinterpretCast(
   matchNullability(bigintType, node), node, makeLiteral(false));
}

代码示例来源:origin: Qihoo360/Quicksql

0,
  reinterpretCast
  ? rexBuilder.makeReinterpretCast(histogramType, exprs.get(0),
    rexBuilder.makeLiteral(false))
  : rexBuilder.makeCast(histogramType, exprs.get(0)));
if (reinterpretCast) {
 histogramCall =
   rexBuilder.makeReinterpretCast(
     type,
     histogramCall,

代码示例来源:origin: org.apache.calcite/calcite-core

0,
  reinterpretCast
  ? rexBuilder.makeReinterpretCast(histogramType, exprs.get(0),
    rexBuilder.makeLiteral(false))
  : rexBuilder.makeCast(histogramType, exprs.get(0)));
if (reinterpretCast) {
 histogramCall =
   rexBuilder.makeReinterpretCast(
     type,
     histogramCall,

代码示例来源:origin: org.apache.kylin/atopcalcite

0,
  reinterpretCast
  ? rexBuilder.makeReinterpretCast(histogramType, exprs.get(0),
    rexBuilder.makeLiteral(false))
  : rexBuilder.makeCast(histogramType, exprs.get(0)));
if (reinterpretCast) {
 histogramCall =
   rexBuilder.makeReinterpretCast(
     type,
     histogramCall,

代码示例来源:origin: org.apache.flink/flink-table_2.10

0,
  reinterpretCast
    ? rexBuilder.makeReinterpretCast(histogramType, exprs.get(0),
    rexBuilder.makeLiteral(false))
    : rexBuilder.makeCast(histogramType, exprs.get(0)));
if (reinterpretCast) {
  histogramCall =
    rexBuilder.makeReinterpretCast(
      type,
      histogramCall,

代码示例来源:origin: org.apache.calcite/calcite-core

RexNode cast = rexBuilder.makeReinterpretCast(
  rexInterval.getType(), pad, rexBuilder.makeLiteral(false));
RexNode sum = floor

代码示例来源:origin: Qihoo360/Quicksql

RexNode cast = rexBuilder.makeReinterpretCast(
  rexInterval.getType(), pad, rexBuilder.makeLiteral(false));
RexNode sum = floor

相关文章

微信公众号

最新文章

更多