@Override public List<FieldSchema> getSchema(String db, String tableName) throws TException { return getSchema(getDefaultCatalog(conf), db, tableName); }
@Override public List<FieldSchema> getSchema(String dbName, String tableName) throws MetaException, TException, UnknownTableException, UnknownDBException { // First check temp tables org.apache.hadoop.hive.metastore.api.Table table = getTempTable(dbName, tableName); if (table != null) { return deepCopyFieldSchemas(table.getSd().getCols()); } // Try underlying client return super.getSchema(dbName, tableName); }
@Override public List<FieldSchema> getSchema(String dbName, String tableName) throws MetaException, TException, UnknownTableException, UnknownDBException { // First check temp tables org.apache.hadoop.hive.metastore.api.Table table = getTempTable(dbName, tableName); if (table != null) { return deepCopyFieldSchemas(table.getSd().getCols()); } // Try underlying client return super.getSchema(dbName, tableName); }
@Test(expected = MetaException.class) public void testGetSchemaWithNoClassDefFoundError() throws TException { String dbName = "testDb"; String tblName = "testTable"; client.dropTable(dbName, tblName); silentDropDatabase(dbName); new DatabaseBuilder() .setName(dbName) .create(client, conf); Table tbl = new TableBuilder() .setDbName(dbName) .setTableName(tblName) .addCol("name", ColumnType.STRING_TYPE_NAME, "") .setSerdeLib("no.such.class") .create(client, conf); client.getSchema(dbName, tblName); }
List<FieldSchema> fieldSchemasFull = client.getSchema(dbName, tblName); assertNotNull(fieldSchemasFull); assertEquals(fieldSchemasFull.size(), tbl.getSd().getCols().size()
List<FieldSchema> fieldSchemasFull = client.getSchema(dbName, tblName); assertNotNull(fieldSchemasFull); assertEquals(fieldSchemasFull.size(), tbl.getSd().getCols().size() fieldSchemasFull = client.getSchema(dbName, tblName2); assertNotNull(fieldSchemasFull); assertEquals(fieldSchemasFull.size(), tbl2.getSd().getCols().size()
@Override public List<FieldSchema> getSchema(String dbName, String tableName) throws MetaException, TException, UnknownTableException, UnknownDBException { // First check temp tables org.apache.hadoop.hive.metastore.api.Table table = getTempTable(dbName, tableName); if (table != null) { return deepCopyFieldSchemas(table.getSd().getCols()); } // Try underlying client return super.getSchema(dbName, tableName); }