本文整理了Java中org.apache.calcite.rex.RexBuilder.makeReinterpretCast
方法的一些代码示例,展示了RexBuilder.makeReinterpretCast
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RexBuilder.makeReinterpretCast
方法的具体详情如下:
包路径:org.apache.calcite.rex.RexBuilder
类名称: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
内容来源于网络,如有侵权,请联系作者删除!