org.apache.calcite.avatica

## Class MetaImpl

- java.lang.Object
- - org.apache.calcite.avatica.MetaImpl

All Implemented Interfaces:
  Meta

Direct Known Subclasses:
  RemoteMeta

    public abstract class MetaImpl
    extends Object
    implements Meta

Basic implementation of `Meta`.

Each sub-class must implement the two remaining abstract methods, `Meta.prepare(org.apache.calcite.avatica.Meta.ConnectionHandle, java.lang.String, long)` and `Meta.prepareAndExecute(org.apache.calcite.avatica.Meta.StatementHandle, java.lang.String, long, org.apache.calcite.avatica.Meta.PrepareCallback)`. It should also override metadata methods such as `getCatalogs(Meta.ConnectionHandle)` and `getTables(org.apache.calcite.avatica.Meta.ConnectionHandle, java.lang.String, org.apache.calcite.avatica.Meta.Pat, org.apache.calcite.avatica.Meta.Pat, java.util.List<java.lang.String>)` for the element types for which it has instances; the default metadata methods return empty collections.

### Nested Class Summary

Nested Classes
`static interface` `MetaImpl.ColumnNoNulls` Annotation that indicates that a meta field may not contain null values.
`static interface` `MetaImpl.ColumnNullable` Annotation that indicates that a meta field may contain null values.
`static interface` `MetaImpl.ColumnNullableUnknown` Annotation that indicates that it is unknown whether a meta field may contain null values.
`private static class` `MetaImpl.EmptyIterator` Iterator that never returns any elements.
`private class` `MetaImpl.FetchIterable` Iterable that yields an iterator over rows coming from a sequence of `Meta.Frame`s.
`private class` `MetaImpl.FetchIterator` Iterator over rows coming from a sequence of `Meta.Frame`s.
`static class` `MetaImpl.MetaAttribute` Metadata describing an attribute.
`static class` `MetaImpl.MetaBestRowIdentifier` Metadata describing the best identifier for a row.
`static class` `MetaImpl.MetaCatalog` Metadata describing a catalog.
`static class` `MetaImpl.MetaClientInfoProperty` Metadata describing a client info property.
`static class` `MetaImpl.MetaColumn` Metadata describing a column.
`static class` `MetaImpl.MetaColumnPrivilege` Metadata describing a column privilege.
`static class` `MetaImpl.MetaCrossReference` Metadata describing a cross reference.
`static class` `MetaImpl.MetaExportedKey` Metadata describing an exported key.
`static class` `MetaImpl.MetaFunction` Metadata describing a function.
`static class` `MetaImpl.MetaFunctionColumn` Metadata describing a function column.
`static class` `MetaImpl.MetaImportedKey` Metadata describing an imported key.
`static class` `MetaImpl.MetaIndexInfo` Metadata describing index info.
`static class` `MetaImpl.MetaPrimaryKey` Metadata describing a primary key.
`static class` `MetaImpl.MetaProcedure` Metadata describing a procedure.
`static class` `MetaImpl.MetaProcedureColumn` Metadata describing a procedure column.
`static class` `MetaImpl.MetaPseudoColumn` Metadata describing a pseudo column.
`static class` `MetaImpl.MetaSchema` Metadata describing a schema.
`static class` `MetaImpl.MetaSuperTable` Metadata describing a super-table.
`static class` `MetaImpl.MetaSuperType` Metadata describing a super-type.
`static class` `MetaImpl.MetaTable` Metadata describing a table.
`static class` `MetaImpl.MetaTablePrivilege` Metadata describing a table privilege.
`static class` `MetaImpl.MetaTableType` Metadata describing a table type.
`static class` `MetaImpl.MetaTypeInfo` Metadata describing type info.
`static class` `MetaImpl.MetaUdt` Metadata describing a user-defined type.
`static class` `MetaImpl.MetaVersionColumn` Metadata describing a version column.
`static interface` `MetaImpl.Named` An object that has a name.
`private static class` `MetaImpl.TypeInfo` Information about a type.

### Nested classes/interfaces inherited from interface org.apache.calcite.avatica.Meta

`Meta.ConnectionHandle, Meta.ConnectionProperties, Meta.CursorFactory, Meta.DatabaseProperty, Meta.ExecuteBatchResult, Meta.ExecuteResult, Meta.Factory, Meta.Frame, Meta.MetaResultSet, Meta.Pat, Meta.PrepareCallback, Meta.Signature, Meta.StatementHandle, Meta.StatementType, Meta.Style`

### Field Summary

Fields
`protected AvaticaConnection` `connection` The `AvaticaConnection` backing `this`.
`protected ConnectionPropertiesImpl` `connProps` Represents the various states specific to `connection`.

### Constructor Summary

Constructors
Constructor and Description
`MetaImpl(AvaticaConnection connection)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static boolean` `checkParameterValueHasNull(List<TypedValue> parameterValues)` Returns whether a list of parameter values has any null elements.
`void` `closeConnection(Meta.ConnectionHandle ch)` Closes a connection
`static List<List<Object>>` `collect(Meta.CursorFactory cursorFactory, Iterable<Object> iterable, List<List<Object>> list)`
`static List<List<Object>>` `collect(Meta.CursorFactory cursorFactory, Iterator<Object> iterator, List<List<Object>> list)`
`static ColumnMetaData` `columnMetaData(String name, int index, Class<?> type, boolean columnNullable)`
`static ColumnMetaData` `columnMetaData(String name, int index, Class<?> type, int columnNullable)`
`static ColumnMetaData` `columnMetaData(String name, int index, ColumnMetaData.AvaticaType type, boolean columnNullable)`
`static ColumnMetaData` `columnMetaData(String name, int index, ColumnMetaData.AvaticaType type, int columnNullable)`
`Meta.ConnectionProperties` `connectionSync(Meta.ConnectionHandle ch, Meta.ConnectionProperties connProps)` Synchronizes client and server view of connection properties.
`static Cursor` `createCursor(Meta.CursorFactory cursorFactory, Iterable<Object> iterable)` Uses a `Meta.CursorFactory` to convert an `Iterable` into a `Cursor`.
`protected <E> Meta.MetaResultSet` `createEmptyResultSet(Class<E> clazz)` Creates an empty result set.
`Iterable<Object>` `createIterable(Meta.StatementHandle handle, QueryState state, Meta.Signature signature, List<TypedValue> parameterValues, Meta.Frame firstFrame)` Creates an iterable for a result set.
`protected Meta.MetaResultSet` `createResultSet(Map<String,Object> internalParameters, List<ColumnMetaData> columns, Meta.CursorFactory cursorFactory, Meta.Frame firstFrame)`
`Meta.StatementHandle` `createStatement(Meta.ConnectionHandle ch)` Called during the creation of a statement to allocate a new handle.
`Meta.Frame` `fetch(AvaticaStatement stmt, List<TypedValue> parameterValues, long offset, int fetchMaxRowCount)`
`protected static ColumnMetaData.StructType` `fieldMetaData(Class<?> clazz)`
`Meta.MetaResultSet` `getAttributes(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat typeNamePattern, Meta.Pat attributeNamePattern)` Per `DatabaseMetaData.getAttributes(String, String, String, String)`.
`Meta.MetaResultSet` `getBestRowIdentifier(Meta.ConnectionHandle ch, String catalog, String schema, String table, int scope, boolean nullable)` Per `DatabaseMetaData.getBestRowIdentifier(String, String, String, int, boolean)`.
`Meta.MetaResultSet` `getCatalogs(Meta.ConnectionHandle ch)` Per `DatabaseMetaData.getCatalogs()`.
`Meta.MetaResultSet` `getClientInfoProperties(Meta.ConnectionHandle ch)` Per `DatabaseMetaData.getClientInfoProperties()`.
`protected static int` `getColumnNullability(Field field)`
`Meta.MetaResultSet` `getColumnPrivileges(Meta.ConnectionHandle ch, String catalog, String schema, String table, Meta.Pat columnNamePattern)` Per `DatabaseMetaData.getColumnPrivileges(String, String, String, String)`.
`Meta.MetaResultSet` `getColumns(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat tableNamePattern, Meta.Pat columnNamePattern)` Per `DatabaseMetaData.getColumns(String, String, String, String)`.
`Meta.MetaResultSet` `getCrossReference(Meta.ConnectionHandle ch, String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable)` Per `DatabaseMetaData.getCrossReference(String, String, String, String, String, String)`.
`Map<Meta.DatabaseProperty,Object>` `getDatabaseProperties(Meta.ConnectionHandle ch)` Returns a map of static database properties.
`Meta.MetaResultSet` `getExportedKeys(Meta.ConnectionHandle ch, String catalog, String schema, String table)` Per `DatabaseMetaData.getExportedKeys(String, String, String)`.
`Meta.MetaResultSet` `getFunctionColumns(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat functionNamePattern, Meta.Pat columnNamePattern)` Per `DatabaseMetaData.getFunctionColumns(String, String, String, String)`.
`Meta.MetaResultSet` `getFunctions(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat functionNamePattern)` Per `DatabaseMetaData.getFunctions(String, String, String)`.
`Meta.MetaResultSet` `getImportedKeys(Meta.ConnectionHandle ch, String catalog, String schema, String table)` Per `DatabaseMetaData.getImportedKeys(String, String, String)`.
`Meta.MetaResultSet` `getIndexInfo(Meta.ConnectionHandle ch, String catalog, String schema, String table, boolean unique, boolean approximate)` Per `DatabaseMetaData.getIndexInfo(String, String, String, boolean, boolean)`.
`Meta.MetaResultSet` `getPrimaryKeys(Meta.ConnectionHandle ch, String catalog, String schema, String table)` Per `DatabaseMetaData.getPrimaryKeys(String, String, String)`.
`Meta.MetaResultSet` `getProcedureColumns(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat procedureNamePattern, Meta.Pat columnNamePattern)` Per `DatabaseMetaData.getProcedureColumns(String, String, String, String)`.
`Meta.MetaResultSet` `getProcedures(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat procedureNamePattern)` Per `DatabaseMetaData.getProcedures(String, String, String)`.
`Meta.MetaResultSet` `getPseudoColumns(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat tableNamePattern, Meta.Pat columnNamePattern)` Per `DatabaseMetaData.getPseudoColumns(String, String, String, String)`.
`Meta.MetaResultSet` `getSchemas(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern)`
`Meta.MetaResultSet` `getSuperTables(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat tableNamePattern)` Per `DatabaseMetaData.getSuperTables(String, String, String)`.
`Meta.MetaResultSet` `getSuperTypes(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat typeNamePattern)` Per `DatabaseMetaData.getSuperTypes(String, String, String)`.
`Meta.MetaResultSet` `getTablePrivileges(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat tableNamePattern)` Per `DatabaseMetaData.getTablePrivileges(String, String, String)`.
`Meta.MetaResultSet` `getTables(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat tableNamePattern, List<String> typeList)` Per `DatabaseMetaData.getTables(String, String, String, String[])`.
`Meta.MetaResultSet` `getTableTypes(Meta.ConnectionHandle ch)` Per `DatabaseMetaData.getTableTypes()`.
`Meta.MetaResultSet` `getTypeInfo(Meta.ConnectionHandle ch)` Per `DatabaseMetaData.getTypeInfo()`.
`Meta.MetaResultSet` `getUDTs(Meta.ConnectionHandle ch, String catalog, Meta.Pat schemaPattern, Meta.Pat typeNamePattern, int[] types)` Per `DatabaseMetaData.getUDTs(String, String, String, int[])`.
`Meta.MetaResultSet` `getVersionColumns(Meta.ConnectionHandle ch, String catalog, String schema, String table)` Per `DatabaseMetaData.getVersionColumns(String, String, String)`.
`private static int` `intForColumnNullable(boolean nullable)`
`void` `openConnection(Meta.ConnectionHandle ch, Map<String,String> info)` Opens (creates) a connection.

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

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

### Methods inherited from interface org.apache.calcite.avatica.Meta

`closeStatement, commit, execute, execute, executeBatch, fetch, prepare, prepareAndExecute, prepareAndExecute, prepareAndExecuteBatch, rollback, syncResults`

### Field Detail

#### connection

    protected final AvaticaConnection connection

The `AvaticaConnection` backing `this`.

#### connProps

    protected final ConnectionPropertiesImpl connProps

Represents the various states specific to `connection`.

Note: this instance is used recursively with `connection`'s getter and setter methods.

### Constructor Detail

#### MetaImpl

    public MetaImpl(AvaticaConnection connection)

### Method Detail

#### createCursor

    public static Cursor createCursor(Meta.CursorFactory cursorFactory,
                                      Iterable<Object> iterable)

Uses a `Meta.CursorFactory` to convert an `Iterable` into a `Cursor`.

#### collect

    public static List<List<Object>> collect(Meta.CursorFactory cursorFactory,
                                             Iterator<Object> iterator,
                                             List<List<Object>> list)

#### collect

    public static List<List<Object>> collect(Meta.CursorFactory cursorFactory,
                                             Iterable<Object> iterable,
                                             List<List<Object>> list)

#### openConnection

    public void openConnection(Meta.ConnectionHandle ch,
                               Map<String,String> info)

Description copied from interface: `Meta`
Opens (creates) a connection. The client allocates its own connection ID which the server is then made aware of through the `Meta.ConnectionHandle`. The Map `info` argument is analogous to the `Properties` typically passed to a "normal" JDBC Driver. Avatica specific properties should not be included -- only properties for the underlying driver.

Specified by:
  `openConnection` in interface `Meta`
Parameters:
  `ch` - A ConnectionHandle encapsulates information about the connection to be opened as provided by the client.
  `info` - A Map corresponding to the Properties typically passed to a JDBC Driver.

#### closeConnection

    public void closeConnection(Meta.ConnectionHandle ch)

Description copied from interface: `Meta`
Closes a connection

Specified by:
  `closeConnection` in interface `Meta`

#### connectionSync

    public Meta.ConnectionProperties connectionSync(Meta.ConnectionHandle ch,
                                                    Meta.ConnectionProperties connProps)

Description copied from interface: `Meta`
Synchronizes client and server view of connection properties.

Note: this interface is considered "experimental" and may undergo further changes as this functionality is extended to other aspects of state management for `Connection`, `Statement`, and `ResultSet`.

Specified by:
  `connectionSync` in interface `Meta`

#### createStatement

    public Meta.StatementHandle createStatement(Meta.ConnectionHandle ch)

Description copied from interface: `Meta`
Called during the creation of a statement to allocate a new handle.

Specified by:
  `createStatement` in interface `Meta`
Parameters:
  `ch` - Connection handle

#### createEmptyResultSet

    protected <E> Meta.MetaResultSet createEmptyResultSet(Class<E> clazz)

Creates an empty result set. Useful for JDBC metadata methods that are not implemented or which query entities that are not supported (e.g. triggers in Lingual).

#### intForColumnNullable

    private static int intForColumnNullable(boolean nullable)

#### columnMetaData

    public static ColumnMetaData columnMetaData(String name,
                                                int index,
                                                Class<?> type,
                                                boolean columnNullable)

#### columnMetaData

    public static ColumnMetaData columnMetaData(String name,
                                                int index,
                                                ColumnMetaData.AvaticaType type,
                                                boolean columnNullable)

#### columnMetaData

    public static ColumnMetaData columnMetaData(String name,
                                                int index,
                                                Class<?> type,
                                                int columnNullable)

#### columnMetaData

    public static ColumnMetaData columnMetaData(String name,
                                                int index,
                                                ColumnMetaData.AvaticaType type,
                                                int columnNullable)

#### fieldMetaData

    protected static ColumnMetaData.StructType fieldMetaData(Class<?> clazz)

#### getColumnNullability

    protected static int getColumnNullability(Field field)

#### createResultSet

    protected Meta.MetaResultSet createResultSet(Map<String,Object> internalParameters,
                                                 List<ColumnMetaData> columns,
                                                 Meta.CursorFactory cursorFactory,
                                                 Meta.Frame firstFrame)

#### getDatabaseProperties

    public Map<Meta.DatabaseProperty,Object> getDatabaseProperties(Meta.ConnectionHandle ch)

Description copied from interface: `Meta`
Returns a map of static database properties.

The provider can omit properties whose value is the same as the default.

Specified by:
  `getDatabaseProperties` in interface `Meta`

#### getTables

    public Meta.MetaResultSet getTables(Meta.ConnectionHandle ch,
                                        String catalog,
                                        Meta.Pat schemaPattern,
                                        Meta.Pat tableNamePattern,
                                        List<String> typeList)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getTables(String, String, String, String[])`.

Specified by:
  `getTables` in interface `Meta`

#### getColumns

    public Meta.MetaResultSet getColumns(Meta.ConnectionHandle ch,
                                         String catalog,
                                         Meta.Pat schemaPattern,
                                         Meta.Pat tableNamePattern,
                                         Meta.Pat columnNamePattern)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getColumns(String, String, String, String)`.

Specified by:
  `getColumns` in interface `Meta`

#### getSchemas

    public Meta.MetaResultSet getSchemas(Meta.ConnectionHandle ch,
                                         String catalog,
                                         Meta.Pat schemaPattern)

Specified by:
  `getSchemas` in interface `Meta`

#### getCatalogs

    public Meta.MetaResultSet getCatalogs(Meta.ConnectionHandle ch)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getCatalogs()`.

Specified by:
  `getCatalogs` in interface `Meta`

#### getTableTypes

    public Meta.MetaResultSet getTableTypes(Meta.ConnectionHandle ch)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getTableTypes()`.

Specified by:
  `getTableTypes` in interface `Meta`

#### getProcedures

    public Meta.MetaResultSet getProcedures(Meta.ConnectionHandle ch,
                                            String catalog,
                                            Meta.Pat schemaPattern,
                                            Meta.Pat procedureNamePattern)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getProcedures(String, String, String)`.

Specified by:
  `getProcedures` in interface `Meta`

#### getProcedureColumns

    public Meta.MetaResultSet getProcedureColumns(Meta.ConnectionHandle ch,
                                                  String catalog,
                                                  Meta.Pat schemaPattern,
                                                  Meta.Pat procedureNamePattern,
                                                  Meta.Pat columnNamePattern)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getProcedureColumns(String, String, String, String)`.

Specified by:
  `getProcedureColumns` in interface `Meta`

#### getColumnPrivileges

    public Meta.MetaResultSet getColumnPrivileges(Meta.ConnectionHandle ch,
                                                  String catalog,
                                                  String schema,
                                                  String table,
                                                  Meta.Pat columnNamePattern)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getColumnPrivileges(String, String, String, String)`.

Specified by:
  `getColumnPrivileges` in interface `Meta`

#### getTablePrivileges

    public Meta.MetaResultSet getTablePrivileges(Meta.ConnectionHandle ch,
                                                 String catalog,
                                                 Meta.Pat schemaPattern,
                                                 Meta.Pat tableNamePattern)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getTablePrivileges(String, String, String)`.

Specified by:
  `getTablePrivileges` in interface `Meta`

#### getBestRowIdentifier

    public Meta.MetaResultSet getBestRowIdentifier(Meta.ConnectionHandle ch,
                                                   String catalog,
                                                   String schema,
                                                   String table,
                                                   int scope,
                                                   boolean nullable)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getBestRowIdentifier(String, String, String, int, boolean)`.

Specified by:
  `getBestRowIdentifier` in interface `Meta`

#### getVersionColumns

    public Meta.MetaResultSet getVersionColumns(Meta.ConnectionHandle ch,
                                                String catalog,
                                                String schema,
                                                String table)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getVersionColumns(String, String, String)`.

Specified by:
  `getVersionColumns` in interface `Meta`

#### getPrimaryKeys

    public Meta.MetaResultSet getPrimaryKeys(Meta.ConnectionHandle ch,
                                             String catalog,
                                             String schema,
                                             String table)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getPrimaryKeys(String, String, String)`.

Specified by:
  `getPrimaryKeys` in interface `Meta`

#### getImportedKeys

    public Meta.MetaResultSet getImportedKeys(Meta.ConnectionHandle ch,
                                              String catalog,
                                              String schema,
                                              String table)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getImportedKeys(String, String, String)`.

Specified by:
  `getImportedKeys` in interface `Meta`

#### getExportedKeys

    public Meta.MetaResultSet getExportedKeys(Meta.ConnectionHandle ch,
                                              String catalog,
                                              String schema,
                                              String table)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getExportedKeys(String, String, String)`.

Specified by:
  `getExportedKeys` in interface `Meta`

#### getCrossReference

    public Meta.MetaResultSet getCrossReference(Meta.ConnectionHandle ch,
                                                String parentCatalog,
                                                String parentSchema,
                                                String parentTable,
                                                String foreignCatalog,
                                                String foreignSchema,
                                                String foreignTable)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getCrossReference(String, String, String, String, String, String)`.

Specified by:
  `getCrossReference` in interface `Meta`

#### getTypeInfo

    public Meta.MetaResultSet getTypeInfo(Meta.ConnectionHandle ch)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getTypeInfo()`.

Specified by:
  `getTypeInfo` in interface `Meta`

#### getIndexInfo

    public Meta.MetaResultSet getIndexInfo(Meta.ConnectionHandle ch,
                                           String catalog,
                                           String schema,
                                           String table,
                                           boolean unique,
                                           boolean approximate)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getIndexInfo(String, String, String, boolean, boolean)`.

Specified by:
  `getIndexInfo` in interface `Meta`

#### getUDTs

    public Meta.MetaResultSet getUDTs(Meta.ConnectionHandle ch,
                                      String catalog,
                                      Meta.Pat schemaPattern,
                                      Meta.Pat typeNamePattern,
                                      int[] types)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getUDTs(String, String, String, int[])`.

Specified by:
  `getUDTs` in interface `Meta`

#### getSuperTypes

    public Meta.MetaResultSet getSuperTypes(Meta.ConnectionHandle ch,
                                            String catalog,
                                            Meta.Pat schemaPattern,
                                            Meta.Pat typeNamePattern)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getSuperTypes(String, String, String)`.

Specified by:
  `getSuperTypes` in interface `Meta`

#### getSuperTables

    public Meta.MetaResultSet getSuperTables(Meta.ConnectionHandle ch,
                                             String catalog,
                                             Meta.Pat schemaPattern,
                                             Meta.Pat tableNamePattern)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getSuperTables(String, String, String)`.

Specified by:
  `getSuperTables` in interface `Meta`

#### getAttributes

    public Meta.MetaResultSet getAttributes(Meta.ConnectionHandle ch,
                                            String catalog,
                                            Meta.Pat schemaPattern,
                                            Meta.Pat typeNamePattern,
                                            Meta.Pat attributeNamePattern)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getAttributes(String, String, String, String)`.

Specified by:
  `getAttributes` in interface `Meta`

#### getClientInfoProperties

    public Meta.MetaResultSet getClientInfoProperties(Meta.ConnectionHandle ch)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getClientInfoProperties()`.

Specified by:
  `getClientInfoProperties` in interface `Meta`

#### getFunctions

    public Meta.MetaResultSet getFunctions(Meta.ConnectionHandle ch,
                                           String catalog,
                                           Meta.Pat schemaPattern,
                                           Meta.Pat functionNamePattern)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getFunctions(String, String, String)`.

Specified by:
  `getFunctions` in interface `Meta`

#### getFunctionColumns

    public Meta.MetaResultSet getFunctionColumns(Meta.ConnectionHandle ch,
                                                 String catalog,
                                                 Meta.Pat schemaPattern,
                                                 Meta.Pat functionNamePattern,
                                                 Meta.Pat columnNamePattern)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getFunctionColumns(String, String, String, String)`.

Specified by:
  `getFunctionColumns` in interface `Meta`

#### getPseudoColumns

    public Meta.MetaResultSet getPseudoColumns(Meta.ConnectionHandle ch,
                                               String catalog,
                                               Meta.Pat schemaPattern,
                                               Meta.Pat tableNamePattern,
                                               Meta.Pat columnNamePattern)

Description copied from interface: `Meta`
Per `DatabaseMetaData.getPseudoColumns(String, String, String, String)`.

Specified by:
  `getPseudoColumns` in interface `Meta`

#### createIterable

    public Iterable<Object> createIterable(Meta.StatementHandle handle,
                                           QueryState state,
                                           Meta.Signature signature,
                                           List<TypedValue> parameterValues,
                                           Meta.Frame firstFrame)

Description copied from interface: `Meta`
Creates an iterable for a result set.

The default implementation just returns `iterable`, which it requires to be not null; derived classes may instead choose to execute the relational expression in `signature`.

Specified by:
  `createIterable` in interface `Meta`

#### fetch

    public Meta.Frame fetch(AvaticaStatement stmt,
                            List<TypedValue> parameterValues,
                            long offset,
                            int fetchMaxRowCount)
                     throws NoSuchStatementException,
                            MissingResultsException

Throws:
  `NoSuchStatementException`
  `MissingResultsException`

#### checkParameterValueHasNull

    public static boolean checkParameterValueHasNull(List<TypedValue> parameterValues)

Returns whether a list of parameter values has any null elements.