public RemoveCorrelationRexShuttle( RexBuilder rexBuilder, boolean projectPulledAboveLeftCorrelator, RexInputRef nullIndicator, Set<Integer> isCount) { this.projectPulledAboveLeftCorrelator = projectPulledAboveLeftCorrelator; this.nullIndicator = nullIndicator; this.isCount = isCount; this.rexBuilder = rexBuilder; this.typeFactory = rexBuilder.getTypeFactory(); }
public RemoveCorrelationRexShuttle( RexBuilder rexBuilder, boolean projectPulledAboveLeftCorrelator, RexInputRef nullIndicator, Set<Integer> isCount) { this.projectPulledAboveLeftCorrelator = projectPulledAboveLeftCorrelator; this.nullIndicator = nullIndicator; this.isCount = isCount; this.rexBuilder = rexBuilder; this.typeFactory = rexBuilder.getTypeFactory(); }
public RelDataTypeFactory getTypeFactory() { return rexBuilder.getTypeFactory(); }
public RelDataTypeFactory getTypeFactory() { return rexBuilder.getTypeFactory(); }
this.subqueryConverter = new NoOpSubqueryConverter(); this.rexBuilder = rexBuilder; this.typeFactory = rexBuilder.getTypeFactory(); RelOptQuery query = new RelOptQuery(planner); this.cluster = query.createCluster(typeFactory, rexBuilder);
rexBuilder.getTypeFactory(), SqlStdOperatorTable.HISTOGRAM_AGG, exprs);
private SqlValidatorImpl createSqlValidator(CatalogReader catalogReader) { return new SqlValidatorImpl( SqlStdOperatorTable.instance(), catalogReader, rexBuilder.getTypeFactory(), SqlConformance.Default) { }; }
/** * Constructs a RexExpander */ public RexExpander(RexBuilder builder) { this.builder = builder; int8 = builder.getTypeFactory().createSqlType(SqlTypeName.BIGINT); real8 = builder.getTypeFactory().createSqlType(SqlTypeName.DOUBLE); }
private SqlValidatorImpl createSqlValidator(CatalogReader catalogReader) { return new SqlValidatorImpl( SqlStdOperatorTable.instance(), catalogReader, rexBuilder.getTypeFactory(), SqlConformance.DEFAULT) { }; }
/** * Constructs a RexExpander */ public RexExpander(RexBuilder builder) { this.builder = builder; int8 = builder.getTypeFactory().createSqlType(SqlTypeName.BIGINT); real8 = builder.getTypeFactory().createSqlType(SqlTypeName.DOUBLE); }
protected RelDataType type(Expression expression) { final Type type = expression.getType(); return ((JavaTypeFactory) rexBuilder.getTypeFactory()).createType(type); }
public RelDataType getArgType(RexCall call, int ordinal) { RelDataType type = real8; if (call.operands.get(ordinal).getType().isNullable()) { type = builder.getTypeFactory().createTypeWithNullability( type, true); } return type; } }
public RelDataType getArgType(RexCall call, int ordinal) { RelDataType type = real8; if (call.operands.get(ordinal).getType().isNullable()) { type = builder.getTypeFactory().createTypeWithNullability( type, true); } return type; } }
private String compile(RexBuilder rexBuilder, List<RexNode> constExps, RexToLixTranslator.InputGetter getter) { final RelDataTypeFactory typeFactory = rexBuilder.getTypeFactory(); final RelDataType emptyRowType = typeFactory.builder().build(); return compile(rexBuilder, constExps, getter, emptyRowType); } private String compile(RexBuilder rexBuilder, List<RexNode> constExps,
/** * Creates an {@link RexExecutable} that allows to apply the * generated code during query processing (filter, projection). * * @param rexBuilder Rex builder * @param exps Expressions * @param rowType describes the structure of the input row. */ public RexExecutable getExecutable(RexBuilder rexBuilder, List<RexNode> exps, RelDataType rowType) { final InputGetter getter = new DataContextInputGetter(rowType, rexBuilder.getTypeFactory()); final String code = compile(rexBuilder, exps, getter, rowType); return new RexExecutable(code, "generated Rex code"); }
/** * Ensures that a type's nullability matches a value's nullability. */ public RelDataType matchNullability( RelDataType type, RexNode value) { boolean typeNullability = type.isNullable(); boolean valueNullability = value.getType().isNullable(); if (typeNullability != valueNullability) { return getTypeFactory().createTypeWithNullability( type, valueNullability); } return type; }
public RexNode visitLiteral(RexLiteral literal) { return new RexLiteral( literal.getValue(), builder.getTypeFactory().copyType(literal.getType()), literal.getTypeName()); }
public RexNode visitLiteral(RexLiteral literal) { return new RexLiteral( literal.getValue(), builder.getTypeFactory().copyType(literal.getType()), literal.getTypeName()); }
public RexNode visitCall(final RexCall call) { return builder.makeCall( builder.getTypeFactory().copyType(call.getType()), call.getOperator(), visitList(call.getOperands(), null)); }
public RexNode visitCall(final RexCall call) { final boolean[] update = null; return builder.makeCall( builder.getTypeFactory().copyType(call.getType()), call.getOperator(), visitList(call.getOperands(), update)); }