@Override public SqlNode visit(SqlIdentifier id) { if (id.isSimple()) { return id; } SqlOperator operator = id.names.get(0).equals(alpha) ? SqlStdOperatorTable.PREV : SqlStdOperatorTable.LAST; return operator.createCall(SqlParserPos.ZERO, id, SqlLiteral.createExactNumeric("0", SqlParserPos.ZERO)); } }
@Override public Void visit(SqlIdentifier id) { Preconditions.checkArgument(id.isSimple()); scope.addPatternVar(id.getSimple()); return null; }
protected SqlWindow getWindowByName( SqlIdentifier id, SqlValidatorScope scope) { SqlWindow window = null; if (id.isSimple()) { final String name = id.getSimple(); window = scope.lookupWindow(name); } if (window == null) { throw newValidationError(id, RESOURCE.windowNotFound(id.toString())); } return window; }
private SqlValidatorNamespace getNamespace(SqlIdentifier id, DelegatingScope scope) { if (id.isSimple()) { final SqlNameMatcher nameMatcher = catalogReader.nameMatcher(); final SqlValidatorScope.ResolvedImpl resolved = new SqlValidatorScope.ResolvedImpl(); scope.resolve(id.names, nameMatcher, false, resolved); if (resolved.count() == 1) { return resolved.only().namespace; } } return getNamespace(id); }
if (!declName.isSimple()) { throw newValidationError(declName, RESOURCE.windowNameMustBeSimple());
public SqlNode visit(SqlIdentifier id) { // Aliases, e.g. 'select a as x, b from t order by x'. if (id.isSimple() && getConformance().isSortByAlias()) { String alias = id.getSimple(); final SqlValidatorNamespace selectNs = getNamespace(select); final RelDataType rowType = selectNs.getRowTypeSansSystemColumns(); final SqlNameMatcher nameMatcher = catalogReader.nameMatcher(); RelDataTypeField field = nameMatcher.field(rowType, alias); if (field != null) { return nthSelectItem( field.getIndex(), id.getParserPosition()); } } // No match. Return identifier unchanged. return getScope().fullyQualify(id).identifier; }
@Override public SqlNode visit(SqlIdentifier id) { if (id.isSimple() && (havingExpr ? validator.getConformance().isHavingAlias()
public ASNode(SqlIdentifier alias, SqlNode exp) { this.alias = alias; this.exp = exp; if (alias != null && !alias.isSimple()) { throw new IllegalArgumentException("alias must be a simple id: " + alias); } } public String getAliasToString() {
public FromNode(SqlIdentifier alias, SqlIdentifier table) { this.alias = alias; this.table = table; if (alias != null && !alias.isSimple()) { throw new IllegalArgumentException("alias must be a simple id: " + alias); } } public String getTableToString() {
public List<String> getSchemaPath() { if (viewName.isSimple()) { return ImmutableList.of(); } return viewName.names.subList(0, viewName.names.size()-1); }
public String getName() { if (viewName.isSimple()) { return viewName.getSimple(); } return viewName.names.get(viewName.names.size() - 1); }
public String getName() { if (viewName.isSimple()) { return viewName.getSimple(); } return viewName.names.get(viewName.names.size() - 1); }
public String getName() { if (viewName.isSimple()) { return viewName.getSimple(); } return viewName.names.get(viewName.names.size() - 1); }
public String getName() { if (tblName.isSimple()) { return tblName.getSimple(); } return tblName.names.get(tblName.names.size() - 1); }
@Override public SqlNode visit(SqlIdentifier id) { if (id.isSimple()) { return id; } SqlOperator operator = id.names.get(0).equals(alpha) ? SqlStdOperatorTable.PREV : SqlStdOperatorTable.LAST; return operator.createCall(SqlParserPos.ZERO, id, SqlLiteral.createExactNumeric("0", SqlParserPos.ZERO)); } }
private void populateFromWithoutTypeInference(SqlIdentifier opName, SqlFunctionCategory category, SqlSyntax syntax, List<SqlOperator> operatorList) { inner.lookupOperatorOverloads(opName, category, syntax, operatorList); if (operatorList.isEmpty() && (syntax == SqlSyntax.FUNCTION || syntax == SqlSyntax.FUNCTION_ID) && opName.isSimple()) { List<SqlOperator> drillOps = drillOperatorsWithoutInferenceMap.get(opName.getSimple().toLowerCase()); if (drillOps != null) { operatorList.addAll(drillOps); } } }
@Override public RexNode visit(SqlIdentifier id) { assert id.isSimple(); patternVarsSet.add(id.getSimple()); return rexBuilder.makeLiteral(id.getSimple()); }
@Override public RexNode visit(SqlIdentifier id) { assert id.isSimple(); patternVarsSet.add(id.getSimple()); return rexBuilder.makeLiteral(id.getSimple()); }
private SqlValidatorNamespace getNamespace(SqlIdentifier id, DelegatingScope scope) { if (id.isSimple()) { final SqlNameMatcher nameMatcher = catalogReader.nameMatcher(); final SqlValidatorScope.ResolvedImpl resolved = new SqlValidatorScope.ResolvedImpl(); scope.resolve(id.names, nameMatcher, false, resolved); if (resolved.count() == 1) { return resolved.only().namespace; } } return getNamespace(id); }
private SqlValidatorNamespace getNamespace(SqlIdentifier id, DelegatingScope scope) { if (id.isSimple()) { final SqlNameMatcher nameMatcher = catalogReader.nameMatcher(); final SqlValidatorScope.ResolvedImpl resolved = new SqlValidatorScope.ResolvedImpl(); scope.resolve(id.names, nameMatcher, false, resolved); if (resolved.count() == 1) { return resolved.only().namespace; } } return getNamespace(id); }