@Override
 public RelDataType deriveRowType() {
   final List<RelDataTypeField> fieldList = table.getRowType().getFieldList();
   final RelDataTypeFactory.FieldInfoBuilder builder = getCluster().getTypeFactory().builder();
   for (int i = 0; i < table.getRowType().getFieldCount(); i++) {
     builder.add(fieldList.get(i));
   }
   return builder.build();
 }
 protected RelDataType validateImpl() {
   final RelDataTypeFactory.FieldInfoBuilder builder = validator.getTypeFactory().builder();
   for (SqlMoniker moniker : validator.catalogReader.getAllSchemaObjectNames(names)) {
     final List<String> names1 = moniker.getFullyQualifiedNames();
     final SqlValidatorTable table = validator.catalogReader.getTable(names1);
     builder.add(Util.last(names1), table.getRowType());
   }
   return builder.build();
 }