@Override public List<String> getTableNames() throws MetaException {
    ResultSet rs = null;
    try {
      rs = fetchTablesViaDBMetaData(null);
      if (rs != null) {
        List<String> tables = new ArrayList<String>();
        while(rs.next()) {
          tables.add(rs.getString(3));
        }
        return tables;
      }
    } catch (SQLException sqle) {
      LOG.warn("Could not retrieve table names from remote datasource, cause: {}", sqle.getMessage());
      throw new MetaException("Error retrieving remote table:" + sqle);
    } finally {
      try {
        if (rs != null) {
          rs.close();
          rs = null;
        }
      } catch(Exception e) { /* ignore */}
    }
    return null;
  }
Returns a list of all table names from the remote database.
@return List A collection of all the table names, null if there are no tables.
@throws MetaException To indicate any failures with executing this API
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/jdbc/AbstractJDBCConnectorProvider.java