for (SqlValidatorScope.Step p : Util.skip(resolve.path.steps())) { type = type.getFieldList().get(p.i).getType();
/** Returns a list ["step1", "step2"]. */ List<String> stepNames() { return Lists.transform(steps(), input -> input.name); }
/** Returns a list ["step1", "step2"]. */ List<String> stepNames() { return Lists.transform(steps(), input -> input.name); }
resolve(prefix.names, liberalMatcher, false, resolved); if (resolved.count() == 1) { final Step lastStep = Util.last(resolved.only().path.steps()); throw validator.newValidationError(prefix, RESOURCE.tableNameNotFoundDidYouMean(prefix.toString(), for (Step p : fromPath.steps()) { fromRowType = fromRowType.getFieldList().get(p.i).getType(); final SqlIdentifier prefix = identifier.getComponent(0, i); final SqlIdentifier suffix3 = identifier.getComponent(i, k + 1); final Step step = Util.last(resolved.resolves.get(0).path.steps()); throw validator.newValidationError(suffix3, RESOURCE.columnNotFoundInTableDidYouMean(suffix3.toString(), for (Step step : path.steps()) { final String name = identifier.names.get(k); if (step.i < 0) {
resolve(prefix.names, liberalMatcher, false, resolved); if (resolved.count() == 1) { final Step lastStep = Util.last(resolved.only().path.steps()); throw validator.newValidationError(prefix, RESOURCE.tableNameNotFoundDidYouMean(prefix.toString(), for (Step p : fromPath.steps()) { fromRowType = fromRowType.getFieldList().get(p.i).getType(); final SqlIdentifier prefix = identifier.getComponent(0, i); final SqlIdentifier suffix3 = identifier.getComponent(i, k + 1); final Step step = Util.last(resolved.resolves.get(0).path.steps()); throw validator.newValidationError(suffix3, RESOURCE.columnNotFoundInTableDidYouMean(suffix3.toString(), for (Step step : path.steps()) { final String name = identifier.names.get(k); if (step.i < 0) {
final SqlValidatorNamespace foundNs = resolve.namespace; final RelDataType rowType = resolve.rowType(); final int childNamespaceIndex = resolve.path.steps().get(0).i; final SqlValidatorScope ancestorScope = resolve.scope; boolean correlInCurrentScope = ancestorScope == bb.scope;
final SqlValidatorNamespace foundNs = resolve.namespace; final RelDataType rowType = resolve.rowType(); final int childNamespaceIndex = resolve.path.steps().get(0).i; final SqlValidatorScope ancestorScope = resolve.scope; boolean correlInCurrentScope = bb.scope.isWithin(ancestorScope);
final SqlValidatorNamespace foundNs = resolve.namespace; final RelDataType rowType = resolve.rowType(); final int childNamespaceIndex = resolve.path.steps().get(0).i; final SqlValidatorScope ancestorScope = resolve.scope; boolean correlInCurrentScope = ancestorScope == bb.scope;
final SqlValidatorNamespace foundNs = resolve.namespace; final RelDataType rowType = resolve.rowType(); final int childNamespaceIndex = resolve.path.steps().get(0).i; final SqlValidatorScope ancestorScope = resolve.scope; boolean correlInCurrentScope = bb.scope.isWithin(ancestorScope);
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 CorrelationId correlId = cluster.createCorrel(); mapCorrelToDeferred.put(correlId, lookup); if (resolve.path.steps().get(0).i < 0) { return Pair.of(rexBuilder.makeCorrel(rowType, correlId), null); } else { for (SqlValidatorNamespace c : ancestorScope1.getChildren()) { builder.addAll(c.getRowType().getFieldList()); if (i == resolve.path.steps().get(0).i) { for (RelDataTypeField field : c.getRowType().getFieldList()) { fields.put(field.getName(), field.getIndex() + offset);
for (SqlValidatorScope.Step p : Util.skip(resolve.path.steps())) { type = type.getFieldList().get(p.i).getType();
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 CorrelationId correlId = cluster.createCorrel(); mapCorrelToDeferred.put(correlId, lookup); if (resolve.path.steps().get(0).i < 0) { return Pair.of(rexBuilder.makeCorrel(rowType, correlId), null); } else { for (SqlValidatorNamespace c : ancestorScope1.getChildren()) { builder.addAll(c.getRowType().getFieldList()); if (i == resolve.path.steps().get(0).i) { for (RelDataTypeField field : c.getRowType().getFieldList()) { fields.put(c.translate(field.getName()),
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 CorrelationId correlId = cluster.createCorrel(); mapCorrelToDeferred.put(correlId, lookup); if (resolve.path.steps().get(0).i < 0) { return Pair.of(rexBuilder.makeCorrel(rowType, correlId), null); } else { for (SqlValidatorNamespace c : ancestorScope1.getChildren()) { builder.addAll(c.getRowType().getFieldList()); if (i == resolve.path.steps().get(0).i) { for (RelDataTypeField field : c.getRowType().getFieldList()) { fields.put(field.getName(), field.getIndex() + offset);
for (SqlValidatorScope.Step p : Util.skip(resolve.path.steps())) { type = type.getFieldList().get(p.i).getType();
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 CorrelationId correlId = cluster.createCorrel(); mapCorrelToDeferred.put(correlId, lookup); if (resolve.path.steps().get(0).i < 0) { return Pair.of(rexBuilder.makeCorrel(rowType, correlId), null); } else { for (SqlValidatorNamespace c : ancestorScope1.getChildren()) { builder.addAll(c.getRowType().getFieldList()); if (i == resolve.path.steps().get(0).i) { for (RelDataTypeField field : c.getRowType().getFieldList()) { fields.put(c.translate(field.getName()),
final SqlValidatorScope.Resolve resolve = resolved.only(); final RelDataType rowType = resolve.rowType(); final int childNamespaceIndex = resolve.path.steps().get(0).i;
final SqlValidatorScope.Resolve resolve = resolved.only(); final RelDataType rowType = resolve.rowType(); final int childNamespaceIndex = resolve.path.steps().get(0).i;
private int worstKind(Path path) { int kind = -1; for (Step step : path.steps()) { kind = Math.max(kind, step.kind.ordinal()); } return kind; } };
private int worstKind(Path path) { int kind = -1; for (Step step : path.steps()) { kind = Math.max(kind, step.kind.ordinal()); } return kind; } };