# Class DatabricksMetadataSdkClient

java.lang.Object
com.databricks.jdbc.dbclient.impl.sqlexec.DatabricksMetadataSdkClient

All Implemented Interfaces:
  `IDatabricksMetadataClient`

public class DatabricksMetadataSdkClient extends Object implements IDatabricksMetadataClient
Implementation for `IDatabricksMetadataClient` using `IDatabricksClient`.

## Constructor Summary

Constructors
Constructor
Description
`DatabricksMetadataSdkClient(IDatabricksClient sdkClient)`

## Method Summary

Modifier and Type
Method
Description
`static ExecutorService`
`getOrCreateSchemasThreadPool()`
`DatabricksResultSet`
`listCatalogs(IDatabricksSession session)`
Returns the list of catalogs
`DatabricksResultSet`
`listColumns(IDatabricksSession session, String catalog, String schemaNamePattern, String tableNamePattern, String columnNamePattern)`
Returns the list of columns
`DatabricksResultSet`
`listCrossReferences(IDatabricksSession session, String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable)`
Returns the list of cross references between a parent table and a foreign table
`DatabricksResultSet`
`listExportedKeys(IDatabricksSession session, String catalog, String schema, String table)`
Returns the list of imported keys
`DatabricksResultSet`
`listFunctions(IDatabricksSession session, String catalog, String schemaNamePattern, String functionNamePattern)`
Returns the list of functions
`DatabricksResultSet`
`listImportedKeys(IDatabricksSession session, String catalog, String schema, String table)`
Returns the list of imported keys
`DatabricksResultSet`
`listPrimaryKeys(IDatabricksSession session, String catalog, String schema, String table)`
Returns the list of primary keys
`DatabricksResultSet`
`listSchemas(IDatabricksSession session, String catalog, String schemaNamePattern)`
Returns the list of schemas
`DatabricksResultSet`
`listTables(IDatabricksSession session, String catalog, String schemaNamePattern, String tableNamePattern, String[] tableTypes)`
Returns the list of tables
`DatabricksResultSet`
`listTableTypes(IDatabricksSession session)`
Returns list of table types
`DatabricksResultSet`
`listTypeInfo(IDatabricksSession session)`
Returns information about types supported by Databricks server

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### DatabricksMetadataSdkClient

public DatabricksMetadataSdkClient(IDatabricksClient sdkClient)

## Method Details

### listTypeInfo

public DatabricksResultSet listTypeInfo(IDatabricksSession session)
Description copied from interface: `IDatabricksMetadataClient`
Returns information about types supported by Databricks server

Specified by:
  `listTypeInfo` in interface `IDatabricksMetadataClient`

### listCatalogs

public DatabricksResultSet listCatalogs(IDatabricksSession session) throws SQLException
Description copied from interface: `IDatabricksMetadataClient`
Returns the list of catalogs

Specified by:
  `listCatalogs` in interface `IDatabricksMetadataClient`
Throws:
  `SQLException`

### listSchemas

public DatabricksResultSet listSchemas(IDatabricksSession session, String catalog, String schemaNamePattern) throws SQLException
Description copied from interface: `IDatabricksMetadataClient`
Returns the list of schemas

Specified by:
  `listSchemas` in interface `IDatabricksMetadataClient`
Parameters:
  `session` - underlying session
  `catalog` - catalogName which must match to catalog in database
  `schemaNamePattern` - must match to schema name in database (can be a regex pattern or absolute name)
Returns:
  a DatabricksResultSet representing list of schemas
Throws:
  `SQLException`

### listTables

public DatabricksResultSet listTables(IDatabricksSession session, String catalog, String schemaNamePattern, String tableNamePattern, String[] tableTypes) throws SQLException
Description copied from interface: `IDatabricksMetadataClient`
Returns the list of tables

Specified by:
  `listTables` in interface `IDatabricksMetadataClient`
Parameters:
  `session` - underlying session
  `catalog` - catalogName which must match to catalog in database
  `schemaNamePattern` - must match to schema name in database (can be a regex pattern or absolute name)
  `tableNamePattern` - must match to table name in database (can be a regex pattern or absolute name)
Returns:
  a DatabricksResultSet representing list of tables
Throws:
  `SQLException`

### listTableTypes

public DatabricksResultSet listTableTypes(IDatabricksSession session) throws SQLException
Description copied from interface: `IDatabricksMetadataClient`
Returns list of table types

Specified by:
  `listTableTypes` in interface `IDatabricksMetadataClient`
Throws:
  `SQLException`

### listColumns

public DatabricksResultSet listColumns(IDatabricksSession session, String catalog, String schemaNamePattern, String tableNamePattern, String columnNamePattern) throws SQLException
Description copied from interface: `IDatabricksMetadataClient`
Returns the list of columns

Specified by:
  `listColumns` in interface `IDatabricksMetadataClient`
Parameters:
  `session` - underlying session
  `catalog` - catalogName which must match to catalog in database
  `schemaNamePattern` - must match to schema name in database (can be a regex pattern or absolute name)
  `tableNamePattern` - must match to table name in database (can be a regex pattern or absolute name)
  `columnNamePattern` - must match to column name in database (can be a regex pattern or absolute name)
Returns:
  a DatabricksResultSet representing list of columns
Throws:
  `SQLException`

### listFunctions

public DatabricksResultSet listFunctions(IDatabricksSession session, String catalog, String schemaNamePattern, String functionNamePattern) throws SQLException
Description copied from interface: `IDatabricksMetadataClient`
Returns the list of functions

Specified by:
  `listFunctions` in interface `IDatabricksMetadataClient`
Parameters:
  `session` - underlying session
  `catalog` - catalogName which must match to catalog in database
  `schemaNamePattern` - must match to schema name in database (can be a regex pattern or absolute name)
  `functionNamePattern` - must match to function name in database (can be a regex pattern or absolute name)
Returns:
  a DatabricksResultSet representing list of functions
Throws:
  `SQLException`

### listPrimaryKeys

public DatabricksResultSet listPrimaryKeys(IDatabricksSession session, String catalog, String schema, String table) throws SQLException
Description copied from interface: `IDatabricksMetadataClient`
Returns the list of primary keys

Specified by:
  `listPrimaryKeys` in interface `IDatabricksMetadataClient`
Parameters:
  `session` - underlying session
  `catalog` - catalogName which must match to catalog in database
  `schema` - must match to a schema in database
  `table` - must match to a table in database
Returns:
  a DatabricksResultSet representing list of functions
Throws:
  `SQLException`

### listImportedKeys

public DatabricksResultSet listImportedKeys(IDatabricksSession session, String catalog, String schema, String table) throws SQLException
Description copied from interface: `IDatabricksMetadataClient`
Returns the list of imported keys

Specified by:
  `listImportedKeys` in interface `IDatabricksMetadataClient`
Parameters:
  `session` - underlying session
  `catalog` - catalogName which must match to catalog in database
  `schema` - must match to a schema in database
  `table` - must match to a table in database
Returns:
  a DatabricksResultSet representing list of imported keys
Throws:
  `SQLException`

### listExportedKeys

public DatabricksResultSet listExportedKeys(IDatabricksSession session, String catalog, String schema, String table) throws SQLException
Description copied from interface: `IDatabricksMetadataClient`
Returns the list of imported keys

Specified by:
  `listExportedKeys` in interface `IDatabricksMetadataClient`
Parameters:
  `session` - underlying session
  `catalog` - catalogName which must match to catalog in database
  `schema` - must match to a schema in database
  `table` - must match to a table in database
Returns:
  a DatabricksResultSet representing list of imported keys
Throws:
  `SQLException`

### listCrossReferences

public DatabricksResultSet listCrossReferences(IDatabricksSession session, String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException
Description copied from interface: `IDatabricksMetadataClient`
Returns the list of cross references between a parent table and a foreign table

Specified by:
  `listCrossReferences` in interface `IDatabricksMetadataClient`
Parameters:
  `session` - underlying session
  `parentCatalog` - catalogName which must match to catalog in database
  `parentSchema` - must match to a schema in database
  `parentTable` - must match to a table in database
  `foreignCatalog` - catalogName which must match to foreign catalog in database
  `foreignSchema` - must match to a foreign schema in database
  `foreignTable` - must match to a foreign table in database
Returns:
  a DatabricksResultSet representing list of cross references
Throws:
  `SQLException`

### getOrCreateSchemasThreadPool

public static ExecutorService getOrCreateSchemasThreadPool()