}
// xxx
try {
// Table t = Table.readTable(p, this.db);
Deserializer s = MetaStoreUtils.getDeserializer( conf_, p);
ObjectInspector oi = s.getObjectInspector();
// recurse down the type.subtype.subsubtype expression until at the desired type
for(int i = 1; i < names.length; i++) {
if (!(oi instanceof StructObjectInspector)) {
oi = s.getObjectInspector();
break;
}
StructObjectInspector soi = (StructObjectInspector)oi;
StructField sf = soi.getStructFieldRef(names[i]);
if (sf == null) {
// If invalid field, then return the schema of the table
oi = s.getObjectInspector();
break;
} else {
oi = sf.getFieldObjectInspector();
}
}