public RelDataType getNamedType(SqlIdentifier typeName) { if (typeName.equalsDeep(addressType.getSqlIdentifier(), false)) { return addressType; } else { return null; } }
public void validateCall( SqlCall call, SqlValidator validator, SqlValidatorScope scope, SqlValidatorScope operandScope) { // The base method validates all operands. We override because // we don't want to validate the identifier. final SqlNode[] operands = call.operands; assert operands.length == 2; assert operands[1] instanceof SqlIdentifier; operands[0].validateExpr(validator, scope); SqlIdentifier id = (SqlIdentifier) operands[1]; if (!id.isSimple()) { throw validator.newValidationError( id, EigenbaseResource.instance().AliasMustBeSimpleIdentifier.ex()); } }
public SqlIdentifier fullyQualify(SqlIdentifier identifier) { // If it's a simple identifier, look for an alias. if (identifier.isSimple() && validator.getConformance().isSortByAlias()) { String name = identifier.names.get(0); final SqlValidatorNamespace selectNs = validator.getNamespace(select); final RelDataType rowType = selectNs.getRowType(); if (validator.catalogReader.field(rowType, name) != null) { return identifier; } } return super.fullyQualify(identifier); }
// implement DdlStmt public void preValidate(FarragoSessionDdlValidator ddlValidator) { super.preValidate(ddlValidator); if (parsedExpr instanceof SqlIdentifier) { catalogName = (SqlIdentifier) parsedExpr; if (!catalogName.isSimple()) { catalogName = null; } } if (catalogName == null) { throw FarragoResource.instance() .ValidatorSetCatalogInvalidExpr .ex(ddlValidator.getRepos().getLocalizedObjectName(valueString)); } }