incrementCounter("get_fields");
logStartFunction("get_fields: db=" + db + "tbl=" + tableName);
String[] names = tableName.split("\\.");
String base_table_name = names[0];
Table tbl;
try {
tbl = get_table(db, base_table_name);
} catch (NoSuchObjectException e) {
throw new UnknownTableException(e.getMessage());
}
boolean getColsFromSerDe = SerDeUtils.shouldGetColsFromSerDe(
tbl.getSd().getSerdeInfo().getSerializationLib());
if (!getColsFromSerDe) {
return tbl.getSd().getCols();
} else {
try {
Deserializer s = MetaStoreUtils.getDeserializer(hiveConf, tbl);
return MetaStoreUtils.getFieldsFromDeserializer(tableName, s);
} catch (SerDeException e) {