17 package org.apache.calcite.prepare;
19 import org.apache.calcite.rel.type.RelDataType;
20 import org.apache.calcite.rel.type.RelDataTypeFactory;
21 import org.apache.calcite.runtime.CalciteException;
22 import org.apache.calcite.sql.SqlKind;
23 import org.apache.calcite.sql.SqlNode;
24 import org.apache.calcite.sql.SqlNodeList;
25 import org.apache.calcite.sql.SqlOperatorTable;
26 import org.apache.calcite.sql.SqlSelect;
27 import org.apache.calcite.sql.advise.SqlAdvisorValidator;
28 import org.apache.calcite.sql.validate.SqlConformance;
29 import org.apache.calcite.sql.validate.SqlValidatorCatalogReader;
30 import org.apache.calcite.sql.validate.SqlValidatorScope;
31 import org.apache.calcite.util.Util;
33 import java.util.List;
37 SqlOperatorTable opTab,
38 SqlValidatorCatalogReader catalogReader,
39 RelDataTypeFactory typeFactory,
40 SqlConformance conformance) {
41 super(opTab, catalogReader, typeFactory, conformance);
48 SqlNodeList groupList = select.getGroup();
49 if (groupList == null) {
54 for (
final SqlNode groupItem : groupList) {
55 final SqlValidatorScope groupScope = getGroupScope(select);
56 groupItem.validate(
this, groupScope);
58 super.validateGroupClause(select);
59 }
catch (CalciteException e) {
60 Util.swallow(e, TRACER);
66 SqlNode node, RelDataType targetRowType, SqlValidatorScope scope) {
71 if (node.getKind() == SqlKind.IDENTIFIER
75 super.validateFrom(node, targetRowType, scope);
76 }
catch (CalciteException e) {
77 Util.swallow(e, TRACER);
84 return !tableName.isEmpty() && Character.isAlphabetic(tableName.charAt(0))
86 visibleTableName -> visibleTableName.equalsIgnoreCase(tableName));
boolean tableViolatesPermissions(final String tableName)
void validateFrom(SqlNode node, RelDataType targetRowType, SqlValidatorScope scope)
MapDSqlAdvisorValidator(List< String > visibleTables, SqlOperatorTable opTab, SqlValidatorCatalogReader catalogReader, RelDataTypeFactory typeFactory, SqlConformance conformance)
List< String > visibleTables
boolean hasViolatedTablePermissions()
boolean violatedTablePermissions
void validateGroupClause(SqlSelect select)