for (int j = 0; j < projectList.size(); j++) { SqlNode operand = projectList.get(j); selectList.add(bb.convertExpression(operand));
RexNode convertedExpr = bb.convertExpression(operand); assert convertedExpr != null; if (argTypes != null) { RexNode convertedExpr = bb.convertExpression(filter); assert convertedExpr != null; if (convertedExpr.getType().isNullable()) { .stream() .map(order -> bb.convertSortExpression(order, RelFieldCollation.Direction.ASCENDING, RelFieldCollation.NullDirection.UNSPECIFIED))
public void flatten( List<RelNode> rels, int systemFieldCount, int[] start, List<Pair<RelNode, Integer>> relOffsetList) { for (RelNode rel : rels) { if (leaves.contains(rel) || rel instanceof LogicalMatch) { relOffsetList.add( Pair.of(rel, start[0])); start[0] += rel.getRowType().getFieldCount(); } else { if (rel instanceof LogicalJoin || rel instanceof LogicalAggregate) { start[0] += systemFieldCount; } flatten( rel.getInputs(), systemFieldCount, start, relOffsetList); } } }
ImmutableList.builder(); for (SqlNode node : nodes) { builder.add(convertExpression(node)); case IN: case NOT_IN: subQuery = Objects.requireNonNull(getSubQuery(expr)); rex = Objects.requireNonNull(subQuery.expr); return StandardConvertletTable.castToValidatedType(expr, rex, case EXISTS: case SCALAR_QUERY: subQuery = getSubQuery(expr); assert subQuery != null; rex = subQuery.expr; && isConvertedSubq(rex)) {
ImmutableList.builder(); for (SqlNode node : nodes) { builder.add(convertExpression(node)); case IN: case NOT_IN: subQuery = Objects.requireNonNull(getSubQuery(expr)); rex = Objects.requireNonNull(subQuery.expr); return StandardConvertletTable.castToValidatedType(expr, rex, case EXISTS: case SCALAR_QUERY: subQuery = getSubQuery(expr); assert subQuery != null; rex = subQuery.expr; && isConvertedSubq(rex)) {
ImmutableList.builder(); for (SqlNode node : nodes) { builder.add(convertExpression(node)); case CURSOR: case IN: subQuery = Preconditions.checkNotNull(getSubQuery(expr)); rex = Preconditions.checkNotNull(subQuery.expr); return StandardConvertletTable.castToValidatedType(expr, rex, case EXISTS: case SCALAR_QUERY: subQuery = getSubQuery(expr); assert subQuery != null; rex = subQuery.expr; && isConvertedSubq(rex)) {
ImmutableList.builder(); for (SqlNode node : nodes) { builder.add(convertExpression(node)); case CURSOR: case IN: subQuery = Preconditions.checkNotNull(getSubQuery(expr)); rex = Preconditions.checkNotNull(subQuery.expr); return StandardConvertletTable.castToValidatedType(expr, rex, case EXISTS: case SCALAR_QUERY: subQuery = getSubQuery(expr); assert subQuery != null; rex = subQuery.expr; && isConvertedSubq(rex)) {
bb.getValidator().getCatalogReader().nameMatcher(); final SqlValidatorScope.ResolvedImpl resolved = new SqlValidatorScope.ResolvedImpl();
for (int j = 0; j < projectList.size(); j++) { SqlNode operand = projectList.get(j); selectList.add(bb.convertExpression(operand));
for (int j = 0; j < projectList.size(); j++) { SqlNode operand = projectList.get(j); selectList.add(bb.convertExpression(operand));
bb.getValidator().getCatalogReader().nameMatcher(); final SqlValidatorScope.ResolvedImpl resolved = new SqlValidatorScope.ResolvedImpl();
final LookupContext rels = new LookupContext(this, inputs, systemFieldList.size()); final RexNode node = lookup(resolve.path.steps().get(0).i, rels); if (node == null) { return null;
final LookupContext rels = new LookupContext(this, inputs, systemFieldList.size()); final RexNode node = lookup(resolve.path.steps().get(0).i, rels); if (node == null) { return null;
RexNode convertedExpr = bb.convertExpression(operand); assert convertedExpr != null; if (argTypes != null) { RexNode convertedExpr = bb.convertExpression(filter); assert convertedExpr != null; if (convertedExpr.getType().isNullable()) {
RexNode convertedExpr = bb.convertExpression(operand); assert convertedExpr != null; if (argTypes != null) { RexNode convertedExpr = bb.convertExpression(filter); assert convertedExpr != null; if (convertedExpr.getType().isNullable()) {
final LookupContext rels = new LookupContext(this, inputs, systemFieldList.size()); final RexNode node = lookup(resolve.path.steps().get(0).i, rels); if (node == null) { return null;
final LookupContext rels = new LookupContext(this, inputs, systemFieldList.size()); final RexNode node = lookup(resolve.path.steps().get(0).i, rels); if (node == null) { return null;
RexNode convertedExpr = bb.convertExpression(operand); assert convertedExpr != null; if (argTypes != null) { RexNode convertedExpr = bb.convertExpression(filter); assert convertedExpr != null; if (convertedExpr.getType().isNullable()) {
ImmutableList.builder(); for (SqlNode partition : partitionList) { partitionKeys.add(bb.convertExpression(partition)); RexNode lowerBound = bb.convertExpression(window.getLowerBound()); RexNode upperBound = bb.convertExpression(window.getUpperBound()); SqlNodeList orderList = window.getOrderList(); if ((orderList.size() == 0) && !window.isRows()) { for (SqlNode order : orderList) { flags.clear(); RexNode e = bb.convertSortExpression(order, flags); orderKeys.add(new RexFieldCollation(e, flags));
targetRowType); if (valuesRel != null) { bb.setRoot(valuesRel, true); return; exps.add( Pair.of( tmpBb.convertExpression(operand.e), validator.deriveAlias(operand.e, operand.i))); throw new AssertionError("empty values clause"); } else if (unionRels.size() == 1) { bb.setRoot( unionRels.get(0), true); } else { bb.setRoot( LogicalUnion.create(unionRels, true), true);