Пример #1
0
 /**
  * Resolves a multi-part identifier such as "SCHEMA.EMP.EMPNO" to a namespace. The returned
  * namespace, never null, may represent a schema, table, column, etc.
  */
 public static SqlValidatorNamespace lookup(SqlValidatorScope scope, List<String> names) {
   assert names.size() > 0;
   final SqlValidatorScope.ResolvedImpl resolved = new SqlValidatorScope.ResolvedImpl();
   scope.resolve(ImmutableList.of(names.get(0)), false, resolved);
   assert resolved.count() == 1;
   SqlValidatorNamespace namespace = resolved.only().namespace;
   for (String name : Util.skip(names)) {
     namespace = namespace.lookupChild(name);
     assert namespace != null;
   }
   return namespace;
 }