test_class.file: parser/src/test/java/com/qihoo/qsql/org/apache/calcite/sql/validate/SqlValidatorUtilTest.java
test_class.identifier: SqlValidatorUtilTest
test_case.body: @SuppressWarnings("resource")
    @Test public void testCheckingDuplicatesWithCompoundIdentifiers() {
      final List<SqlNode> newList = new ArrayList<>(2);
      newList.add(new SqlIdentifier(Arrays.asList("f0", "c0"), SqlParserPos.ZERO));
      newList.add(new SqlIdentifier(Arrays.asList("f0", "c0"), SqlParserPos.ZERO));
      final SqlTester tester =
          new SqlValidatorTester(SqlTestFactory.INSTANCE);
      final SqlValidatorImpl validator =
          (SqlValidatorImpl) tester.getValidator();
      try {
        SqlValidatorUtil.checkIdentifierListForDuplicates(newList,
            validator.getValidationErrorFunction());
        fail("expected exception");
      } catch (CalciteContextException e) {
        // ok
      }
      // should not throw
      newList.set(1, new SqlIdentifier(Arrays.asList("f0", "c1"), SqlParserPos.ZERO));
      SqlValidatorUtil.checkIdentifierListForDuplicates(newList, null);
    }
test_case.class_method_signature: SqlValidatorUtilTest.testCheckingDuplicatesWithCompoundIdentifiers()
test_case.full_signature: @SuppressWarnings("resource") @Test public void testCheckingDuplicatesWithCompoundIdentifiers()
test_case.identifier: testCheckingDuplicatesWithCompoundIdentifiers
test_case.invocations: add asList add asList getValidator checkIdentifierListForDuplicates getValidationErrorFunction fail set asList checkIdentifierListForDuplicates
test_case.modifiers: @SuppressWarnings("resource") @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCheckingDuplicatesWithCompoundIdentifiers()
focal_class.declarator: EXPR_SUGGESTER =
        (original, attempt, size) -> Util.first(original, "expr_idx_") + attempt
focal_class.modifier: public static final
focal_class.original_string: public static final Suggester EXPR_SUGGESTER =
        (original, attempt, size) -> Util.first(original, "expr_idx_") + attempt;
focal_class.type: Suggester
focal_class.var_name: EXPR_SUGGESTER
focal_class.declarator: F_SUGGESTER =
        (original, attempt, size) -> Util.first(original, "$f")
            + Math.max(size, attempt)
focal_class.modifier: public static final
focal_class.original_string: public static final Suggester F_SUGGESTER =
        (original, attempt, size) -> Util.first(original, "$f")
            + Math.max(size, attempt);
focal_class.type: Suggester
focal_class.var_name: F_SUGGESTER
focal_class.declarator: ATTEMPT_SUGGESTER =
        new Suggester() {
          public String apply(String original, int attempt, int size) {
            return Util.first(original, "$") + attempt;
          }
        }
focal_class.modifier: public static final
focal_class.original_string: public static final Suggester ATTEMPT_SUGGESTER =
        new Suggester() {
          public String apply(String original, int attempt, int size) {
            return Util.first(original, "$") + attempt;
          }
        };
focal_class.type: Suggester
focal_class.var_name: ATTEMPT_SUGGESTER
focal_class.file: parser/src/main/java/com/qihoo/qsql/org/apache/calcite/sql/validate/SqlValidatorUtil.java
focal_class.identifier: SqlValidatorUtil
focal_class.class_method_signature: SqlValidatorUtil.SqlValidatorUtil()
focal_class.full_signature: private  SqlValidatorUtil()
focal_class.identifier: SqlValidatorUtil
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  SqlValidatorUtil()
focal_class.class_method_signature: SqlValidatorUtil.getRelOptTable(
        SqlValidatorNamespace namespace,
        Prepare.CatalogReader catalogReader,
        String datasetName,
        boolean[] usedDataset)
focal_class.full_signature: public static RelOptTable getRelOptTable(
        SqlValidatorNamespace namespace,
        Prepare.CatalogReader catalogReader,
        String datasetName,
        boolean[] usedDataset)
focal_class.identifier: getRelOptTable
focal_class.modifiers: public static
focal_class.parameters: (
        SqlValidatorNamespace namespace,
        Prepare.CatalogReader catalogReader,
        String datasetName,
        boolean[] usedDataset)
focal_class.return: RelOptTable
focal_class.signature: RelOptTable getRelOptTable(
        SqlValidatorNamespace namespace,
        Prepare.CatalogReader catalogReader,
        String datasetName,
        boolean[] usedDataset)
focal_class.class_method_signature: SqlValidatorUtil.getRelOptTable(
        TableNamespace tableNamespace,
        Prepare.CatalogReader catalogReader,
        String datasetName,
        boolean[] usedDataset,
        List<RelDataTypeField> extendedFields)
focal_class.full_signature: private static RelOptTable getRelOptTable(
        TableNamespace tableNamespace,
        Prepare.CatalogReader catalogReader,
        String datasetName,
        boolean[] usedDataset,
        List<RelDataTypeField> extendedFields)
focal_class.identifier: getRelOptTable
focal_class.modifiers: private static
focal_class.parameters: (
        TableNamespace tableNamespace,
        Prepare.CatalogReader catalogReader,
        String datasetName,
        boolean[] usedDataset,
        List<RelDataTypeField> extendedFields)
focal_class.return: RelOptTable
focal_class.signature: RelOptTable getRelOptTable(
        TableNamespace tableNamespace,
        Prepare.CatalogReader catalogReader,
        String datasetName,
        boolean[] usedDataset,
        List<RelDataTypeField> extendedFields)
focal_class.class_method_signature: SqlValidatorUtil.getExtendedColumns(
        SqlValidator validator, SqlValidatorTable table, SqlNodeList extendedColumns)
focal_class.full_signature: public static List<RelDataTypeField> getExtendedColumns(
        SqlValidator validator, SqlValidatorTable table, SqlNodeList extendedColumns)
focal_class.identifier: getExtendedColumns
focal_class.modifiers: public static
focal_class.parameters: (
        SqlValidator validator, SqlValidatorTable table, SqlNodeList extendedColumns)
focal_class.return: List<RelDataTypeField>
focal_class.signature: List<RelDataTypeField> getExtendedColumns(
        SqlValidator validator, SqlValidatorTable table, SqlNodeList extendedColumns)
focal_class.class_method_signature: SqlValidatorUtil.pairs(
        SqlNodeList extendedColumns)
focal_class.full_signature: private static List<Pair<SqlIdentifier, SqlDataTypeSpec>> pairs(
        SqlNodeList extendedColumns)
focal_class.identifier: pairs
focal_class.modifiers: private static
focal_class.parameters: (
        SqlNodeList extendedColumns)
focal_class.return: List<Pair<SqlIdentifier, SqlDataTypeSpec>>
focal_class.signature: List<Pair<SqlIdentifier, SqlDataTypeSpec>> pairs(
        SqlNodeList extendedColumns)
focal_class.class_method_signature: SqlValidatorUtil.getIndexToFieldMap(
        List<RelDataTypeField> sourceFields,
        RelDataType targetFields)
focal_class.full_signature: public static ImmutableMap<Integer, RelDataTypeField> getIndexToFieldMap(
        List<RelDataTypeField> sourceFields,
        RelDataType targetFields)
focal_class.identifier: getIndexToFieldMap
focal_class.modifiers: public static
focal_class.parameters: (
        List<RelDataTypeField> sourceFields,
        RelDataType targetFields)
focal_class.return: ImmutableMap<Integer, RelDataTypeField>
focal_class.signature: ImmutableMap<Integer, RelDataTypeField> getIndexToFieldMap(
        List<RelDataTypeField> sourceFields,
        RelDataType targetFields)
focal_class.class_method_signature: SqlValidatorUtil.getOrdinalBitSet(
        RelDataType sourceRowType, RelDataType targetRowType)
focal_class.full_signature: public static ImmutableBitSet getOrdinalBitSet(
        RelDataType sourceRowType, RelDataType targetRowType)
focal_class.identifier: getOrdinalBitSet
focal_class.modifiers: public static
focal_class.parameters: (
        RelDataType sourceRowType, RelDataType targetRowType)
focal_class.return: ImmutableBitSet
focal_class.signature: ImmutableBitSet getOrdinalBitSet(
        RelDataType sourceRowType, RelDataType targetRowType)
focal_class.class_method_signature: SqlValidatorUtil.getOrdinalBitSet(
        RelDataType sourceRowType,
        Map<Integer, RelDataTypeField> indexToField)
focal_class.full_signature: public static ImmutableBitSet getOrdinalBitSet(
        RelDataType sourceRowType,
        Map<Integer, RelDataTypeField> indexToField)
focal_class.identifier: getOrdinalBitSet
focal_class.modifiers: public static
focal_class.parameters: (
        RelDataType sourceRowType,
        Map<Integer, RelDataTypeField> indexToField)
focal_class.return: ImmutableBitSet
focal_class.signature: ImmutableBitSet getOrdinalBitSet(
        RelDataType sourceRowType,
        Map<Integer, RelDataTypeField> indexToField)
focal_class.class_method_signature: SqlValidatorUtil.mapNameToIndex(List<RelDataTypeField> fields)
focal_class.full_signature: public static Map<String, Integer> mapNameToIndex(List<RelDataTypeField> fields)
focal_class.identifier: mapNameToIndex
focal_class.modifiers: public static
focal_class.parameters: (List<RelDataTypeField> fields)
focal_class.return: Map<String, Integer>
focal_class.signature: Map<String, Integer> mapNameToIndex(List<RelDataTypeField> fields)
focal_class.class_method_signature: SqlValidatorUtil.lookupField(boolean caseSensitive,
        final RelDataType rowType, String columnName)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelDataTypeField lookupField(boolean caseSensitive,
        final RelDataType rowType, String columnName)
focal_class.identifier: lookupField
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (boolean caseSensitive,
        final RelDataType rowType, String columnName)
focal_class.return: RelDataTypeField
focal_class.signature: RelDataTypeField lookupField(boolean caseSensitive,
        final RelDataType rowType, String columnName)
focal_class.class_method_signature: SqlValidatorUtil.checkCharsetAndCollateConsistentIfCharType(
        RelDataType type)
focal_class.full_signature: public static void checkCharsetAndCollateConsistentIfCharType(
        RelDataType type)
focal_class.identifier: checkCharsetAndCollateConsistentIfCharType
focal_class.modifiers: public static
focal_class.parameters: (
        RelDataType type)
focal_class.return: void
focal_class.signature: void checkCharsetAndCollateConsistentIfCharType(
        RelDataType type)
focal_class.class_method_signature: SqlValidatorUtil.checkIdentifierListForDuplicates(List<SqlNode> columnList,
        SqlValidatorImpl.ValidationErrorFunction validationErrorFunction)
focal_class.full_signature: static void checkIdentifierListForDuplicates(List<SqlNode> columnList,
        SqlValidatorImpl.ValidationErrorFunction validationErrorFunction)
focal_class.identifier: checkIdentifierListForDuplicates
focal_class.modifiers: static
focal_class.parameters: (List<SqlNode> columnList,
        SqlValidatorImpl.ValidationErrorFunction validationErrorFunction)
focal_class.return: void
focal_class.signature: void checkIdentifierListForDuplicates(List<SqlNode> columnList,
        SqlValidatorImpl.ValidationErrorFunction validationErrorFunction)
focal_class.class_method_signature: SqlValidatorUtil.addAlias(
        SqlNode expr,
        String alias)
focal_class.full_signature: public static SqlNode addAlias(
        SqlNode expr,
        String alias)
focal_class.identifier: addAlias
focal_class.modifiers: public static
focal_class.parameters: (
        SqlNode expr,
        String alias)
focal_class.return: SqlNode
focal_class.signature: SqlNode addAlias(
        SqlNode expr,
        String alias)
focal_class.class_method_signature: SqlValidatorUtil.getAlias(SqlNode node, int ordinal)
focal_class.full_signature: public static String getAlias(SqlNode node, int ordinal)
focal_class.identifier: getAlias
focal_class.modifiers: public static
focal_class.parameters: (SqlNode node, int ordinal)
focal_class.return: String
focal_class.signature: String getAlias(SqlNode node, int ordinal)
focal_class.class_method_signature: SqlValidatorUtil.newValidator(
        SqlOperatorTable opTab,
        SqlValidatorCatalogReader catalogReader,
        RelDataTypeFactory typeFactory,
        SqlConformance conformance)
focal_class.full_signature: public static SqlValidatorWithHints newValidator(
        SqlOperatorTable opTab,
        SqlValidatorCatalogReader catalogReader,
        RelDataTypeFactory typeFactory,
        SqlConformance conformance)
focal_class.identifier: newValidator
focal_class.modifiers: public static
focal_class.parameters: (
        SqlOperatorTable opTab,
        SqlValidatorCatalogReader catalogReader,
        RelDataTypeFactory typeFactory,
        SqlConformance conformance)
focal_class.return: SqlValidatorWithHints
focal_class.signature: SqlValidatorWithHints newValidator(
        SqlOperatorTable opTab,
        SqlValidatorCatalogReader catalogReader,
        RelDataTypeFactory typeFactory,
        SqlConformance conformance)
focal_class.class_method_signature: SqlValidatorUtil.newValidator(
        SqlOperatorTable opTab,
        SqlValidatorCatalogReader catalogReader,
        RelDataTypeFactory typeFactory)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static SqlValidatorWithHints newValidator(
        SqlOperatorTable opTab,
        SqlValidatorCatalogReader catalogReader,
        RelDataTypeFactory typeFactory)
focal_class.identifier: newValidator
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
        SqlOperatorTable opTab,
        SqlValidatorCatalogReader catalogReader,
        RelDataTypeFactory typeFactory)
focal_class.return: SqlValidatorWithHints
focal_class.signature: SqlValidatorWithHints newValidator(
        SqlOperatorTable opTab,
        SqlValidatorCatalogReader catalogReader,
        RelDataTypeFactory typeFactory)
focal_class.class_method_signature: SqlValidatorUtil.uniquify(String name, Set<String> usedNames,
        Suggester suggester)
focal_class.full_signature: public static String uniquify(String name, Set<String> usedNames,
        Suggester suggester)
focal_class.identifier: uniquify
focal_class.modifiers: public static
focal_class.parameters: (String name, Set<String> usedNames,
        Suggester suggester)
focal_class.return: String
focal_class.signature: String uniquify(String name, Set<String> usedNames,
        Suggester suggester)
focal_class.class_method_signature: SqlValidatorUtil.uniquify(List<String> nameList)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static List<String> uniquify(List<String> nameList)
focal_class.identifier: uniquify
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (List<String> nameList)
focal_class.return: List<String>
focal_class.signature: List<String> uniquify(List<String> nameList)
focal_class.class_method_signature: SqlValidatorUtil.uniquify(List<String> nameList, Suggester suggester)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static List<String> uniquify(List<String> nameList, Suggester suggester)
focal_class.identifier: uniquify
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (List<String> nameList, Suggester suggester)
focal_class.return: List<String>
focal_class.signature: List<String> uniquify(List<String> nameList, Suggester suggester)
focal_class.class_method_signature: SqlValidatorUtil.uniquify(List<String> nameList,
        boolean caseSensitive)
focal_class.full_signature: public static List<String> uniquify(List<String> nameList,
        boolean caseSensitive)
focal_class.identifier: uniquify
focal_class.modifiers: public static
focal_class.parameters: (List<String> nameList,
        boolean caseSensitive)
focal_class.return: List<String>
focal_class.signature: List<String> uniquify(List<String> nameList,
        boolean caseSensitive)
focal_class.class_method_signature: SqlValidatorUtil.uniquify(
        List<String> nameList,
        Suggester suggester,
        boolean caseSensitive)
focal_class.full_signature: public static List<String> uniquify(
        List<String> nameList,
        Suggester suggester,
        boolean caseSensitive)
focal_class.identifier: uniquify
focal_class.modifiers: public static
focal_class.parameters: (
        List<String> nameList,
        Suggester suggester,
        boolean caseSensitive)
focal_class.return: List<String>
focal_class.signature: List<String> uniquify(
        List<String> nameList,
        Suggester suggester,
        boolean caseSensitive)
focal_class.class_method_signature: SqlValidatorUtil.deriveJoinRowType(
        RelDataType leftType,
        RelDataType rightType,
        JoinRelType joinType,
        RelDataTypeFactory typeFactory,
        List<String> fieldNameList,
        List<RelDataTypeField> systemFieldList)
focal_class.full_signature: public static RelDataType deriveJoinRowType(
        RelDataType leftType,
        RelDataType rightType,
        JoinRelType joinType,
        RelDataTypeFactory typeFactory,
        List<String> fieldNameList,
        List<RelDataTypeField> systemFieldList)
focal_class.identifier: deriveJoinRowType
focal_class.modifiers: public static
focal_class.parameters: (
        RelDataType leftType,
        RelDataType rightType,
        JoinRelType joinType,
        RelDataTypeFactory typeFactory,
        List<String> fieldNameList,
        List<RelDataTypeField> systemFieldList)
focal_class.return: RelDataType
focal_class.signature: RelDataType deriveJoinRowType(
        RelDataType leftType,
        RelDataType rightType,
        JoinRelType joinType,
        RelDataTypeFactory typeFactory,
        List<String> fieldNameList,
        List<RelDataTypeField> systemFieldList)
focal_class.class_method_signature: SqlValidatorUtil.createJoinType(
        RelDataTypeFactory typeFactory,
        RelDataType leftType,
        RelDataType rightType,
        List<String> fieldNameList,
        List<RelDataTypeField> systemFieldList)
focal_class.full_signature: public static RelDataType createJoinType(
        RelDataTypeFactory typeFactory,
        RelDataType leftType,
        RelDataType rightType,
        List<String> fieldNameList,
        List<RelDataTypeField> systemFieldList)
focal_class.identifier: createJoinType
focal_class.modifiers: public static
focal_class.parameters: (
        RelDataTypeFactory typeFactory,
        RelDataType leftType,
        RelDataType rightType,
        List<String> fieldNameList,
        List<RelDataTypeField> systemFieldList)
focal_class.return: RelDataType
focal_class.signature: RelDataType createJoinType(
        RelDataTypeFactory typeFactory,
        RelDataType leftType,
        RelDataType rightType,
        List<String> fieldNameList,
        List<RelDataTypeField> systemFieldList)
focal_class.class_method_signature: SqlValidatorUtil.addFields(List<RelDataTypeField> fieldList,
        List<RelDataType> typeList, List<String> nameList,
        Set<String> uniqueNames)
focal_class.full_signature: private static void addFields(List<RelDataTypeField> fieldList,
        List<RelDataType> typeList, List<String> nameList,
        Set<String> uniqueNames)
focal_class.identifier: addFields
focal_class.modifiers: private static
focal_class.parameters: (List<RelDataTypeField> fieldList,
        List<RelDataType> typeList, List<String> nameList,
        Set<String> uniqueNames)
focal_class.return: void
focal_class.signature: void addFields(List<RelDataTypeField> fieldList,
        List<RelDataType> typeList, List<String> nameList,
        Set<String> uniqueNames)
focal_class.class_method_signature: SqlValidatorUtil.getTargetField(
        RelDataType rowType, RelDataTypeFactory typeFactory,
        SqlIdentifier id, SqlValidatorCatalogReader catalogReader,
        RelOptTable table)
focal_class.full_signature: public static RelDataTypeField getTargetField(
        RelDataType rowType, RelDataTypeFactory typeFactory,
        SqlIdentifier id, SqlValidatorCatalogReader catalogReader,
        RelOptTable table)
focal_class.identifier: getTargetField
focal_class.modifiers: public static
focal_class.parameters: (
        RelDataType rowType, RelDataTypeFactory typeFactory,
        SqlIdentifier id, SqlValidatorCatalogReader catalogReader,
        RelOptTable table)
focal_class.return: RelDataTypeField
focal_class.signature: RelDataTypeField getTargetField(
        RelDataType rowType, RelDataTypeFactory typeFactory,
        SqlIdentifier id, SqlValidatorCatalogReader catalogReader,
        RelOptTable table)
focal_class.class_method_signature: SqlValidatorUtil.lookup(
        SqlValidatorScope scope,
        List<String> names)
focal_class.full_signature: public static SqlValidatorNamespace lookup(
        SqlValidatorScope scope,
        List<String> names)
focal_class.identifier: lookup
focal_class.modifiers: public static
focal_class.parameters: (
        SqlValidatorScope scope,
        List<String> names)
focal_class.return: SqlValidatorNamespace
focal_class.signature: SqlValidatorNamespace lookup(
        SqlValidatorScope scope,
        List<String> names)
focal_class.class_method_signature: SqlValidatorUtil.getSchemaObjectMonikers(
        SqlValidatorCatalogReader catalogReader,
        List<String> names,
        List<SqlMoniker> hints)
focal_class.full_signature: public static void getSchemaObjectMonikers(
        SqlValidatorCatalogReader catalogReader,
        List<String> names,
        List<SqlMoniker> hints)
focal_class.identifier: getSchemaObjectMonikers
focal_class.modifiers: public static
focal_class.parameters: (
        SqlValidatorCatalogReader catalogReader,
        List<String> names,
        List<SqlMoniker> hints)
focal_class.return: void
focal_class.signature: void getSchemaObjectMonikers(
        SqlValidatorCatalogReader catalogReader,
        List<String> names,
        List<SqlMoniker> hints)
focal_class.class_method_signature: SqlValidatorUtil.getEnclosingSelectScope(SqlValidatorScope scope)
focal_class.full_signature: public static SelectScope getEnclosingSelectScope(SqlValidatorScope scope)
focal_class.identifier: getEnclosingSelectScope
focal_class.modifiers: public static
focal_class.parameters: (SqlValidatorScope scope)
focal_class.return: SelectScope
focal_class.signature: SelectScope getEnclosingSelectScope(SqlValidatorScope scope)
focal_class.class_method_signature: SqlValidatorUtil.getEnclosingAggregateSelectScope(
        SqlValidatorScope scope)
focal_class.full_signature: public static AggregatingSelectScope getEnclosingAggregateSelectScope(
        SqlValidatorScope scope)
focal_class.identifier: getEnclosingAggregateSelectScope
focal_class.modifiers: public static
focal_class.parameters: (
        SqlValidatorScope scope)
focal_class.return: AggregatingSelectScope
focal_class.signature: AggregatingSelectScope getEnclosingAggregateSelectScope(
        SqlValidatorScope scope)
focal_class.class_method_signature: SqlValidatorUtil.deriveNaturalJoinColumnList(
        SqlNameMatcher nameMatcher,
        RelDataType leftRowType,
        RelDataType rightRowType)
focal_class.full_signature: public static List<String> deriveNaturalJoinColumnList(
        SqlNameMatcher nameMatcher,
        RelDataType leftRowType,
        RelDataType rightRowType)
focal_class.identifier: deriveNaturalJoinColumnList
focal_class.modifiers: public static
focal_class.parameters: (
        SqlNameMatcher nameMatcher,
        RelDataType leftRowType,
        RelDataType rightRowType)
focal_class.return: List<String>
focal_class.signature: List<String> deriveNaturalJoinColumnList(
        SqlNameMatcher nameMatcher,
        RelDataType leftRowType,
        RelDataType rightRowType)
focal_class.class_method_signature: SqlValidatorUtil.createTypeFromProjection(RelDataType type,
        List<String> columnNameList, RelDataTypeFactory typeFactory,
        boolean caseSensitive)
focal_class.full_signature: public static RelDataType createTypeFromProjection(RelDataType type,
        List<String> columnNameList, RelDataTypeFactory typeFactory,
        boolean caseSensitive)
focal_class.identifier: createTypeFromProjection
focal_class.modifiers: public static
focal_class.parameters: (RelDataType type,
        List<String> columnNameList, RelDataTypeFactory typeFactory,
        boolean caseSensitive)
focal_class.return: RelDataType
focal_class.signature: RelDataType createTypeFromProjection(RelDataType type,
        List<String> columnNameList, RelDataTypeFactory typeFactory,
        boolean caseSensitive)
focal_class.class_method_signature: SqlValidatorUtil.analyzeGroupItem(SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        ImmutableList.Builder<ImmutableList<ImmutableBitSet>> topBuilder,
        SqlNode groupExpr)
focal_class.full_signature: public static void analyzeGroupItem(SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        ImmutableList.Builder<ImmutableList<ImmutableBitSet>> topBuilder,
        SqlNode groupExpr)
focal_class.identifier: analyzeGroupItem
focal_class.modifiers: public static
focal_class.parameters: (SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        ImmutableList.Builder<ImmutableList<ImmutableBitSet>> topBuilder,
        SqlNode groupExpr)
focal_class.return: void
focal_class.signature: void analyzeGroupItem(SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        ImmutableList.Builder<ImmutableList<ImmutableBitSet>> topBuilder,
        SqlNode groupExpr)
focal_class.class_method_signature: SqlValidatorUtil.convertGroupSet(SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        ImmutableList.Builder<ImmutableBitSet> builder, SqlNode groupExpr)
focal_class.full_signature: private static void convertGroupSet(SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        ImmutableList.Builder<ImmutableBitSet> builder, SqlNode groupExpr)
focal_class.identifier: convertGroupSet
focal_class.modifiers: private static
focal_class.parameters: (SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        ImmutableList.Builder<ImmutableBitSet> builder, SqlNode groupExpr)
focal_class.return: void
focal_class.signature: void convertGroupSet(SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        ImmutableList.Builder<ImmutableBitSet> builder, SqlNode groupExpr)
focal_class.class_method_signature: SqlValidatorUtil.analyzeGroupTuple(SqlValidatorScope scope,
         GroupAnalyzer groupAnalyzer, List<SqlNode> operandList)
focal_class.full_signature: private static List<ImmutableBitSet> analyzeGroupTuple(SqlValidatorScope scope,
         GroupAnalyzer groupAnalyzer, List<SqlNode> operandList)
focal_class.identifier: analyzeGroupTuple
focal_class.modifiers: private static
focal_class.parameters: (SqlValidatorScope scope,
         GroupAnalyzer groupAnalyzer, List<SqlNode> operandList)
focal_class.return: List<ImmutableBitSet>
focal_class.signature: List<ImmutableBitSet> analyzeGroupTuple(SqlValidatorScope scope,
         GroupAnalyzer groupAnalyzer, List<SqlNode> operandList)
focal_class.class_method_signature: SqlValidatorUtil.analyzeGroupExpr(SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        SqlNode groupExpr)
focal_class.full_signature: private static ImmutableBitSet analyzeGroupExpr(SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        SqlNode groupExpr)
focal_class.identifier: analyzeGroupExpr
focal_class.modifiers: private static
focal_class.parameters: (SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        SqlNode groupExpr)
focal_class.return: ImmutableBitSet
focal_class.signature: ImmutableBitSet analyzeGroupExpr(SqlValidatorScope scope,
        GroupAnalyzer groupAnalyzer,
        SqlNode groupExpr)
focal_class.class_method_signature: SqlValidatorUtil.lookupGroupExpr(GroupAnalyzer groupAnalyzer,
        SqlNode expr)
focal_class.full_signature: private static int lookupGroupExpr(GroupAnalyzer groupAnalyzer,
        SqlNode expr)
focal_class.identifier: lookupGroupExpr
focal_class.modifiers: private static
focal_class.parameters: (GroupAnalyzer groupAnalyzer,
        SqlNode expr)
focal_class.return: int
focal_class.signature: int lookupGroupExpr(GroupAnalyzer groupAnalyzer,
        SqlNode expr)
focal_class.class_method_signature: SqlValidatorUtil.rollup(
        List<ImmutableBitSet> bitSets)
focal_class.full_signature: @VisibleForTesting public static ImmutableList<ImmutableBitSet> rollup(
        List<ImmutableBitSet> bitSets)
focal_class.identifier: rollup
focal_class.modifiers: @VisibleForTesting public static
focal_class.parameters: (
        List<ImmutableBitSet> bitSets)
focal_class.return: ImmutableList<ImmutableBitSet>
focal_class.signature: ImmutableList<ImmutableBitSet> rollup(
        List<ImmutableBitSet> bitSets)
focal_class.class_method_signature: SqlValidatorUtil.cube(
        List<ImmutableBitSet> bitSets)
focal_class.full_signature: @VisibleForTesting public static ImmutableList<ImmutableBitSet> cube(
        List<ImmutableBitSet> bitSets)
focal_class.identifier: cube
focal_class.modifiers: @VisibleForTesting public static
focal_class.parameters: (
        List<ImmutableBitSet> bitSets)
focal_class.return: ImmutableList<ImmutableBitSet>
focal_class.signature: ImmutableList<ImmutableBitSet> cube(
        List<ImmutableBitSet> bitSets)
focal_class.class_method_signature: SqlValidatorUtil.getTypeEntry(
        CalciteSchema rootSchema, SqlIdentifier typeName)
focal_class.full_signature: public static CalciteSchema.TypeEntry getTypeEntry(
        CalciteSchema rootSchema, SqlIdentifier typeName)
focal_class.identifier: getTypeEntry
focal_class.modifiers: public static
focal_class.parameters: (
        CalciteSchema rootSchema, SqlIdentifier typeName)
focal_class.return: CalciteSchema.TypeEntry
focal_class.signature: CalciteSchema.TypeEntry getTypeEntry(
        CalciteSchema rootSchema, SqlIdentifier typeName)
focal_class.class_method_signature: SqlValidatorUtil.getTableEntry(
        SqlValidatorCatalogReader catalogReader, List<String> names)
focal_class.full_signature: public static CalciteSchema.TableEntry getTableEntry(
        SqlValidatorCatalogReader catalogReader, List<String> names)
focal_class.identifier: getTableEntry
focal_class.modifiers: public static
focal_class.parameters: (
        SqlValidatorCatalogReader catalogReader, List<String> names)
focal_class.return: CalciteSchema.TableEntry
focal_class.signature: CalciteSchema.TableEntry getTableEntry(
        SqlValidatorCatalogReader catalogReader, List<String> names)
focal_class.class_method_signature: SqlValidatorUtil.getSchema(CalciteSchema rootSchema,
        Iterable<String> schemaPath, SqlNameMatcher nameMatcher)
focal_class.full_signature: public static CalciteSchema getSchema(CalciteSchema rootSchema,
        Iterable<String> schemaPath, SqlNameMatcher nameMatcher)
focal_class.identifier: getSchema
focal_class.modifiers: public static
focal_class.parameters: (CalciteSchema rootSchema,
        Iterable<String> schemaPath, SqlNameMatcher nameMatcher)
focal_class.return: CalciteSchema
focal_class.signature: CalciteSchema getSchema(CalciteSchema rootSchema,
        Iterable<String> schemaPath, SqlNameMatcher nameMatcher)
focal_class.class_method_signature: SqlValidatorUtil.getTableEntryFrom(
        CalciteSchema schema, String name, boolean caseSensitive)
focal_class.full_signature: private static CalciteSchema.TableEntry getTableEntryFrom(
        CalciteSchema schema, String name, boolean caseSensitive)
focal_class.identifier: getTableEntryFrom
focal_class.modifiers: private static
focal_class.parameters: (
        CalciteSchema schema, String name, boolean caseSensitive)
focal_class.return: CalciteSchema.TableEntry
focal_class.signature: CalciteSchema.TableEntry getTableEntryFrom(
        CalciteSchema schema, String name, boolean caseSensitive)
focal_class.class_method_signature: SqlValidatorUtil.containsMonotonic(SqlValidatorScope scope)
focal_class.full_signature: public static boolean containsMonotonic(SqlValidatorScope scope)
focal_class.identifier: containsMonotonic
focal_class.modifiers: public static
focal_class.parameters: (SqlValidatorScope scope)
focal_class.return: boolean
focal_class.signature: boolean containsMonotonic(SqlValidatorScope scope)
focal_class.class_method_signature: SqlValidatorUtil.children(SqlValidatorScope scope)
focal_class.full_signature: private static List<SqlValidatorNamespace> children(SqlValidatorScope scope)
focal_class.identifier: children
focal_class.modifiers: private static
focal_class.parameters: (SqlValidatorScope scope)
focal_class.return: List<SqlValidatorNamespace>
focal_class.signature: List<SqlValidatorNamespace> children(SqlValidatorScope scope)
focal_class.class_method_signature: SqlValidatorUtil.containsMonotonic(SelectScope scope, SqlNodeList nodes)
focal_class.full_signature: static boolean containsMonotonic(SelectScope scope, SqlNodeList nodes)
focal_class.identifier: containsMonotonic
focal_class.modifiers: static
focal_class.parameters: (SelectScope scope, SqlNodeList nodes)
focal_class.return: boolean
focal_class.signature: boolean containsMonotonic(SelectScope scope, SqlNodeList nodes)
focal_class.class_method_signature: SqlValidatorUtil.lookupSqlFunctionByID(SqlOperatorTable opTab,
        SqlIdentifier funName,
        SqlFunctionCategory funcType)
focal_class.full_signature: public static SqlOperator lookupSqlFunctionByID(SqlOperatorTable opTab,
        SqlIdentifier funName,
        SqlFunctionCategory funcType)
focal_class.identifier: lookupSqlFunctionByID
focal_class.modifiers: public static
focal_class.parameters: (SqlOperatorTable opTab,
        SqlIdentifier funName,
        SqlFunctionCategory funcType)
focal_class.return: SqlOperator
focal_class.signature: SqlOperator lookupSqlFunctionByID(SqlOperatorTable opTab,
        SqlIdentifier funName,
        SqlFunctionCategory funcType)
focal_method.body: static void checkIdentifierListForDuplicates(List<SqlNode> columnList,
        SqlValidatorImpl.ValidationErrorFunction validationErrorFunction) {
      final List<List<String>> names = Lists.transform(columnList,
          o -> ((SqlIdentifier) o).names);
      final int i = Util.firstDuplicate(names);
      if (i >= 0) {
        throw validationErrorFunction.apply(columnList.get(i),
            RESOURCE.duplicateNameInColumnList(Util.last(names.get(i))));
      }
    }
focal_method.class_method_signature: SqlValidatorUtil.checkIdentifierListForDuplicates(List<SqlNode> columnList,
        SqlValidatorImpl.ValidationErrorFunction validationErrorFunction)
focal_method.full_signature: static void checkIdentifierListForDuplicates(List<SqlNode> columnList,
        SqlValidatorImpl.ValidationErrorFunction validationErrorFunction)
focal_method.identifier: checkIdentifierListForDuplicates
focal_method.invocations: transform firstDuplicate apply get duplicateNameInColumnList last get
focal_method.modifiers: static
focal_method.parameters: (List<SqlNode> columnList,
        SqlValidatorImpl.ValidationErrorFunction validationErrorFunction)
focal_method.return: void
focal_method.signature: void checkIdentifierListForDuplicates(List<SqlNode> columnList,
        SqlValidatorImpl.ValidationErrorFunction validationErrorFunction)