Package org.apache.calcite.jdbc
Class CalciteMetaImpl
- java.lang.Object
-
- org.apache.calcite.avatica.MetaImpl
-
- org.apache.calcite.jdbc.CalciteMetaImpl
-
- All Implemented Interfaces:
org.apache.calcite.avatica.Meta
public class CalciteMetaImpl extends org.apache.calcite.avatica.MetaImpl
Helper for implementing thegetXxx
methods such asAvaticaDatabaseMetaData.getTables(java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
CalciteMetaImpl.CalciteMetaSchema
Metadata describing a Calcite schema.private static class
CalciteMetaImpl.CalciteMetaTable
Metadata describing a Calcite table.private static class
CalciteMetaImpl.LimitIterator<E>
Iterator that returns at mostlimit
rows from an underlyingIterator
.(package private) static class
CalciteMetaImpl.MetadataTable<E>
Table whose contents are metadata.-
Nested classes/interfaces inherited from class org.apache.calcite.avatica.MetaImpl
org.apache.calcite.avatica.MetaImpl.ColumnNoNulls, org.apache.calcite.avatica.MetaImpl.ColumnNullable, org.apache.calcite.avatica.MetaImpl.ColumnNullableUnknown, org.apache.calcite.avatica.MetaImpl.MetaAttribute, org.apache.calcite.avatica.MetaImpl.MetaBestRowIdentifier, org.apache.calcite.avatica.MetaImpl.MetaCatalog, org.apache.calcite.avatica.MetaImpl.MetaClientInfoProperty, org.apache.calcite.avatica.MetaImpl.MetaColumn, org.apache.calcite.avatica.MetaImpl.MetaColumnPrivilege, org.apache.calcite.avatica.MetaImpl.MetaCrossReference, org.apache.calcite.avatica.MetaImpl.MetaExportedKey, org.apache.calcite.avatica.MetaImpl.MetaFunction, org.apache.calcite.avatica.MetaImpl.MetaFunctionColumn, org.apache.calcite.avatica.MetaImpl.MetaImportedKey, org.apache.calcite.avatica.MetaImpl.MetaIndexInfo, org.apache.calcite.avatica.MetaImpl.MetaPrimaryKey, org.apache.calcite.avatica.MetaImpl.MetaProcedure, org.apache.calcite.avatica.MetaImpl.MetaProcedureColumn, org.apache.calcite.avatica.MetaImpl.MetaPseudoColumn, org.apache.calcite.avatica.MetaImpl.MetaSchema, org.apache.calcite.avatica.MetaImpl.MetaSuperTable, org.apache.calcite.avatica.MetaImpl.MetaSuperType, org.apache.calcite.avatica.MetaImpl.MetaTable, org.apache.calcite.avatica.MetaImpl.MetaTablePrivilege, org.apache.calcite.avatica.MetaImpl.MetaTableType, org.apache.calcite.avatica.MetaImpl.MetaTypeInfo, org.apache.calcite.avatica.MetaImpl.MetaUdt, org.apache.calcite.avatica.MetaImpl.MetaVersionColumn, org.apache.calcite.avatica.MetaImpl.Named
-
Nested classes/interfaces inherited from interface org.apache.calcite.avatica.Meta
org.apache.calcite.avatica.Meta.ConnectionHandle, org.apache.calcite.avatica.Meta.ConnectionProperties, org.apache.calcite.avatica.Meta.CursorFactory, org.apache.calcite.avatica.Meta.DatabaseProperty, org.apache.calcite.avatica.Meta.ExecuteBatchResult, org.apache.calcite.avatica.Meta.ExecuteResult, org.apache.calcite.avatica.Meta.Factory, org.apache.calcite.avatica.Meta.Frame, org.apache.calcite.avatica.Meta.MetaResultSet, org.apache.calcite.avatica.Meta.Pat, org.apache.calcite.avatica.Meta.PrepareCallback, org.apache.calcite.avatica.Meta.Signature, org.apache.calcite.avatica.Meta.StatementHandle, org.apache.calcite.avatica.Meta.StatementType, org.apache.calcite.avatica.Meta.Style
-
-
Constructor Summary
Constructors Constructor Description CalciteMetaImpl(CalciteConnectionImpl connection)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) java.lang.Iterable<java.lang.Object>
_createIterable(org.apache.calcite.avatica.Meta.StatementHandle handle, org.apache.calcite.avatica.Meta.Signature signature, java.util.List<org.apache.calcite.avatica.remote.TypedValue> parameterValues, org.apache.calcite.avatica.Meta.Frame firstFrame)
private com.google.common.collect.ImmutableMap.Builder<org.apache.calcite.avatica.Meta.DatabaseProperty,java.lang.Object>
addProperty(com.google.common.collect.ImmutableMap.Builder<org.apache.calcite.avatica.Meta.DatabaseProperty,java.lang.Object> builder, org.apache.calcite.avatica.Meta.DatabaseProperty p)
protected Enumerable<org.apache.calcite.avatica.MetaImpl.MetaTypeInfo>
allTypeInfo()
(package private) Enumerable<org.apache.calcite.avatica.MetaImpl.MetaCatalog>
catalogs()
void
closeStatement(org.apache.calcite.avatica.Meta.StatementHandle h)
Enumerable<org.apache.calcite.avatica.MetaImpl.MetaColumn>
columns(org.apache.calcite.avatica.MetaImpl.MetaTable table_)
void
commit(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
static CalciteConnection
connect(CalciteSchema schema, JavaTypeFactory typeFactory)
A trojan-horse method, subject to change without notice.static DataContext
createDataContext(CalciteConnection connection)
A trojan-horse method, subject to change without notice.protected <E> org.apache.calcite.avatica.Meta.MetaResultSet
createEmptyResultSet(java.lang.Class<E> clazz)
java.lang.Iterable<java.lang.Object>
createIterable(org.apache.calcite.avatica.Meta.StatementHandle handle, org.apache.calcite.avatica.QueryState state, org.apache.calcite.avatica.Meta.Signature signature, java.util.List<org.apache.calcite.avatica.remote.TypedValue> parameterValues, org.apache.calcite.avatica.Meta.Frame firstFrame)
protected org.apache.calcite.avatica.Meta.MetaResultSet
createResultSet(java.util.Map<java.lang.String,java.lang.Object> internalParameters, java.util.List<org.apache.calcite.avatica.ColumnMetaData> columns, org.apache.calcite.avatica.Meta.CursorFactory cursorFactory, org.apache.calcite.avatica.Meta.Frame firstFrame)
private <E> org.apache.calcite.avatica.Meta.MetaResultSet
createResultSet(Enumerable<E> enumerable, java.lang.Class clazz, java.lang.String... names)
org.apache.calcite.avatica.Meta.StatementHandle
createStatement(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
org.apache.calcite.avatica.Meta.ExecuteResult
execute(org.apache.calcite.avatica.Meta.StatementHandle h, java.util.List<org.apache.calcite.avatica.remote.TypedValue> parameterValues, int maxRowsInFirstFrame)
org.apache.calcite.avatica.Meta.ExecuteResult
execute(org.apache.calcite.avatica.Meta.StatementHandle h, java.util.List<org.apache.calcite.avatica.remote.TypedValue> parameterValues, long maxRowCount)
org.apache.calcite.avatica.Meta.ExecuteBatchResult
executeBatch(org.apache.calcite.avatica.Meta.StatementHandle h, java.util.List<java.util.List<org.apache.calcite.avatica.remote.TypedValue>> parameterValueLists)
org.apache.calcite.avatica.Meta.Frame
fetch(org.apache.calcite.avatica.Meta.StatementHandle h, long offset, int fetchMaxRowCount)
private com.google.common.collect.ImmutableList<org.apache.calcite.avatica.MetaImpl.MetaTypeInfo>
getAllDefaultType()
org.apache.calcite.avatica.Meta.MetaResultSet
getCatalogs(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
org.apache.calcite.avatica.Meta.MetaResultSet
getColumns(org.apache.calcite.avatica.Meta.ConnectionHandle ch, java.lang.String catalog, org.apache.calcite.avatica.Meta.Pat schemaPattern, org.apache.calcite.avatica.Meta.Pat tableNamePattern, org.apache.calcite.avatica.Meta.Pat columnNamePattern)
(package private) CalciteConnectionImpl
getConnection()
java.util.Map<org.apache.calcite.avatica.Meta.DatabaseProperty,java.lang.Object>
getDatabaseProperties(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
org.apache.calcite.avatica.Meta.MetaResultSet
getSchemas(org.apache.calcite.avatica.Meta.ConnectionHandle ch, java.lang.String catalog, org.apache.calcite.avatica.Meta.Pat schemaPattern)
org.apache.calcite.avatica.Meta.MetaResultSet
getTables(org.apache.calcite.avatica.Meta.ConnectionHandle ch, java.lang.String catalog, org.apache.calcite.avatica.Meta.Pat schemaPattern, org.apache.calcite.avatica.Meta.Pat tableNamePattern, java.util.List<java.lang.String> typeList)
org.apache.calcite.avatica.Meta.MetaResultSet
getTableTypes(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
org.apache.calcite.avatica.Meta.MetaResultSet
getTypeInfo(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
static java.util.regex.Pattern
likeToRegex(org.apache.calcite.avatica.Meta.Pat pattern)
Converts a LIKE-style pattern (where '%' represents a wild-card, escaped using '\') to a Java regex.(package private) static Predicate1<java.lang.String>
matcher(org.apache.calcite.avatica.Meta.Pat pattern)
(package private) static <T extends org.apache.calcite.avatica.MetaImpl.Named>
Predicate1<T>namedMatcher(org.apache.calcite.avatica.Meta.Pat pattern)
org.apache.calcite.avatica.Meta.StatementHandle
prepare(org.apache.calcite.avatica.Meta.ConnectionHandle ch, java.lang.String sql, long maxRowCount)
org.apache.calcite.avatica.Meta.ExecuteResult
prepareAndExecute(org.apache.calcite.avatica.Meta.StatementHandle h, java.lang.String sql, long maxRowCount, int maxRowsInFirstFrame, org.apache.calcite.avatica.Meta.PrepareCallback callback)
org.apache.calcite.avatica.Meta.ExecuteResult
prepareAndExecute(org.apache.calcite.avatica.Meta.StatementHandle h, java.lang.String sql, long maxRowCount, org.apache.calcite.avatica.Meta.PrepareCallback callback)
org.apache.calcite.avatica.Meta.ExecuteBatchResult
prepareAndExecuteBatch(org.apache.calcite.avatica.Meta.StatementHandle h, java.util.List<java.lang.String> sqlCommands)
void
rollback(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
(package private) Enumerable<org.apache.calcite.avatica.MetaImpl.MetaSchema>
schemas(java.lang.String catalog)
boolean
syncResults(org.apache.calcite.avatica.Meta.StatementHandle h, org.apache.calcite.avatica.QueryState state, long offset)
(package private) Enumerable<org.apache.calcite.avatica.MetaImpl.MetaTable>
tables(java.lang.String catalog)
(package private) Enumerable<org.apache.calcite.avatica.MetaImpl.MetaTable>
tables(org.apache.calcite.avatica.MetaImpl.MetaSchema schema_)
(package private) Enumerable<org.apache.calcite.avatica.MetaImpl.MetaTable>
tables(org.apache.calcite.avatica.MetaImpl.MetaSchema schema, Predicate1<java.lang.String> matcher)
(package private) Enumerable<org.apache.calcite.avatica.MetaImpl.MetaTableType>
tableTypes()
private CalcitePrepare.Query<java.lang.Object>
toQuery(CalcitePrepare.Context context, java.lang.String sql)
Wraps the SQL string in aCalcitePrepare.Query
object, giving theHook.STRING_TO_QUERY
hook chance to override.-
Methods inherited from class org.apache.calcite.avatica.MetaImpl
checkParameterValueHasNull, closeConnection, collect, collect, columnMetaData, columnMetaData, columnMetaData, columnMetaData, connectionSync, createCursor, fetch, fieldMetaData, getAttributes, getBestRowIdentifier, getClientInfoProperties, getColumnNullability, getColumnPrivileges, getCrossReference, getExportedKeys, getFunctionColumns, getFunctions, getImportedKeys, getIndexInfo, getPrimaryKeys, getProcedureColumns, getProcedures, getPseudoColumns, getSuperTables, getSuperTypes, getTablePrivileges, getUDTs, getVersionColumns, openConnection
-
-
-
-
Field Detail
-
DRIVER
static final Driver DRIVER
-
-
Constructor Detail
-
CalciteMetaImpl
public CalciteMetaImpl(CalciteConnectionImpl connection)
-
-
Method Detail
-
namedMatcher
static <T extends org.apache.calcite.avatica.MetaImpl.Named> Predicate1<T> namedMatcher(org.apache.calcite.avatica.Meta.Pat pattern)
-
matcher
static Predicate1<java.lang.String> matcher(org.apache.calcite.avatica.Meta.Pat pattern)
-
likeToRegex
public static java.util.regex.Pattern likeToRegex(org.apache.calcite.avatica.Meta.Pat pattern)
Converts a LIKE-style pattern (where '%' represents a wild-card, escaped using '\') to a Java regex.
-
createStatement
public org.apache.calcite.avatica.Meta.StatementHandle createStatement(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
- Specified by:
createStatement
in interfaceorg.apache.calcite.avatica.Meta
- Overrides:
createStatement
in classorg.apache.calcite.avatica.MetaImpl
-
closeStatement
public void closeStatement(org.apache.calcite.avatica.Meta.StatementHandle h)
-
createResultSet
private <E> org.apache.calcite.avatica.Meta.MetaResultSet createResultSet(Enumerable<E> enumerable, java.lang.Class clazz, java.lang.String... names)
-
createEmptyResultSet
protected <E> org.apache.calcite.avatica.Meta.MetaResultSet createEmptyResultSet(java.lang.Class<E> clazz)
- Overrides:
createEmptyResultSet
in classorg.apache.calcite.avatica.MetaImpl
-
createResultSet
protected org.apache.calcite.avatica.Meta.MetaResultSet createResultSet(java.util.Map<java.lang.String,java.lang.Object> internalParameters, java.util.List<org.apache.calcite.avatica.ColumnMetaData> columns, org.apache.calcite.avatica.Meta.CursorFactory cursorFactory, org.apache.calcite.avatica.Meta.Frame firstFrame)
- Overrides:
createResultSet
in classorg.apache.calcite.avatica.MetaImpl
-
getConnection
CalciteConnectionImpl getConnection()
-
getDatabaseProperties
public java.util.Map<org.apache.calcite.avatica.Meta.DatabaseProperty,java.lang.Object> getDatabaseProperties(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
- Specified by:
getDatabaseProperties
in interfaceorg.apache.calcite.avatica.Meta
- Overrides:
getDatabaseProperties
in classorg.apache.calcite.avatica.MetaImpl
-
addProperty
private com.google.common.collect.ImmutableMap.Builder<org.apache.calcite.avatica.Meta.DatabaseProperty,java.lang.Object> addProperty(com.google.common.collect.ImmutableMap.Builder<org.apache.calcite.avatica.Meta.DatabaseProperty,java.lang.Object> builder, org.apache.calcite.avatica.Meta.DatabaseProperty p)
-
getTables
public org.apache.calcite.avatica.Meta.MetaResultSet getTables(org.apache.calcite.avatica.Meta.ConnectionHandle ch, java.lang.String catalog, org.apache.calcite.avatica.Meta.Pat schemaPattern, org.apache.calcite.avatica.Meta.Pat tableNamePattern, java.util.List<java.lang.String> typeList)
- Specified by:
getTables
in interfaceorg.apache.calcite.avatica.Meta
- Overrides:
getTables
in classorg.apache.calcite.avatica.MetaImpl
-
getTypeInfo
public org.apache.calcite.avatica.Meta.MetaResultSet getTypeInfo(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
- Specified by:
getTypeInfo
in interfaceorg.apache.calcite.avatica.Meta
- Overrides:
getTypeInfo
in classorg.apache.calcite.avatica.MetaImpl
-
getColumns
public org.apache.calcite.avatica.Meta.MetaResultSet getColumns(org.apache.calcite.avatica.Meta.ConnectionHandle ch, java.lang.String catalog, org.apache.calcite.avatica.Meta.Pat schemaPattern, org.apache.calcite.avatica.Meta.Pat tableNamePattern, org.apache.calcite.avatica.Meta.Pat columnNamePattern)
- Specified by:
getColumns
in interfaceorg.apache.calcite.avatica.Meta
- Overrides:
getColumns
in classorg.apache.calcite.avatica.MetaImpl
-
catalogs
Enumerable<org.apache.calcite.avatica.MetaImpl.MetaCatalog> catalogs()
-
tableTypes
Enumerable<org.apache.calcite.avatica.MetaImpl.MetaTableType> tableTypes()
-
schemas
Enumerable<org.apache.calcite.avatica.MetaImpl.MetaSchema> schemas(java.lang.String catalog)
-
tables
Enumerable<org.apache.calcite.avatica.MetaImpl.MetaTable> tables(java.lang.String catalog)
-
tables
Enumerable<org.apache.calcite.avatica.MetaImpl.MetaTable> tables(org.apache.calcite.avatica.MetaImpl.MetaSchema schema_)
-
tables
Enumerable<org.apache.calcite.avatica.MetaImpl.MetaTable> tables(org.apache.calcite.avatica.MetaImpl.MetaSchema schema, Predicate1<java.lang.String> matcher)
-
getAllDefaultType
private com.google.common.collect.ImmutableList<org.apache.calcite.avatica.MetaImpl.MetaTypeInfo> getAllDefaultType()
-
allTypeInfo
protected Enumerable<org.apache.calcite.avatica.MetaImpl.MetaTypeInfo> allTypeInfo()
-
columns
public Enumerable<org.apache.calcite.avatica.MetaImpl.MetaColumn> columns(org.apache.calcite.avatica.MetaImpl.MetaTable table_)
-
getSchemas
public org.apache.calcite.avatica.Meta.MetaResultSet getSchemas(org.apache.calcite.avatica.Meta.ConnectionHandle ch, java.lang.String catalog, org.apache.calcite.avatica.Meta.Pat schemaPattern)
- Specified by:
getSchemas
in interfaceorg.apache.calcite.avatica.Meta
- Overrides:
getSchemas
in classorg.apache.calcite.avatica.MetaImpl
-
getCatalogs
public org.apache.calcite.avatica.Meta.MetaResultSet getCatalogs(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
- Specified by:
getCatalogs
in interfaceorg.apache.calcite.avatica.Meta
- Overrides:
getCatalogs
in classorg.apache.calcite.avatica.MetaImpl
-
getTableTypes
public org.apache.calcite.avatica.Meta.MetaResultSet getTableTypes(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
- Specified by:
getTableTypes
in interfaceorg.apache.calcite.avatica.Meta
- Overrides:
getTableTypes
in classorg.apache.calcite.avatica.MetaImpl
-
createIterable
public java.lang.Iterable<java.lang.Object> createIterable(org.apache.calcite.avatica.Meta.StatementHandle handle, org.apache.calcite.avatica.QueryState state, org.apache.calcite.avatica.Meta.Signature signature, java.util.List<org.apache.calcite.avatica.remote.TypedValue> parameterValues, org.apache.calcite.avatica.Meta.Frame firstFrame)
- Specified by:
createIterable
in interfaceorg.apache.calcite.avatica.Meta
- Overrides:
createIterable
in classorg.apache.calcite.avatica.MetaImpl
-
_createIterable
java.lang.Iterable<java.lang.Object> _createIterable(org.apache.calcite.avatica.Meta.StatementHandle handle, org.apache.calcite.avatica.Meta.Signature signature, java.util.List<org.apache.calcite.avatica.remote.TypedValue> parameterValues, org.apache.calcite.avatica.Meta.Frame firstFrame)
-
prepare
public org.apache.calcite.avatica.Meta.StatementHandle prepare(org.apache.calcite.avatica.Meta.ConnectionHandle ch, java.lang.String sql, long maxRowCount)
-
prepareAndExecute
public org.apache.calcite.avatica.Meta.ExecuteResult prepareAndExecute(org.apache.calcite.avatica.Meta.StatementHandle h, java.lang.String sql, long maxRowCount, org.apache.calcite.avatica.Meta.PrepareCallback callback) throws org.apache.calcite.avatica.NoSuchStatementException
- Throws:
org.apache.calcite.avatica.NoSuchStatementException
-
prepareAndExecute
public org.apache.calcite.avatica.Meta.ExecuteResult prepareAndExecute(org.apache.calcite.avatica.Meta.StatementHandle h, java.lang.String sql, long maxRowCount, int maxRowsInFirstFrame, org.apache.calcite.avatica.Meta.PrepareCallback callback) throws org.apache.calcite.avatica.NoSuchStatementException
- Throws:
org.apache.calcite.avatica.NoSuchStatementException
-
toQuery
private CalcitePrepare.Query<java.lang.Object> toQuery(CalcitePrepare.Context context, java.lang.String sql)
Wraps the SQL string in aCalcitePrepare.Query
object, giving theHook.STRING_TO_QUERY
hook chance to override.
-
fetch
public org.apache.calcite.avatica.Meta.Frame fetch(org.apache.calcite.avatica.Meta.StatementHandle h, long offset, int fetchMaxRowCount) throws org.apache.calcite.avatica.NoSuchStatementException
- Throws:
org.apache.calcite.avatica.NoSuchStatementException
-
execute
public org.apache.calcite.avatica.Meta.ExecuteResult execute(org.apache.calcite.avatica.Meta.StatementHandle h, java.util.List<org.apache.calcite.avatica.remote.TypedValue> parameterValues, long maxRowCount) throws org.apache.calcite.avatica.NoSuchStatementException
- Throws:
org.apache.calcite.avatica.NoSuchStatementException
-
execute
public org.apache.calcite.avatica.Meta.ExecuteResult execute(org.apache.calcite.avatica.Meta.StatementHandle h, java.util.List<org.apache.calcite.avatica.remote.TypedValue> parameterValues, int maxRowsInFirstFrame) throws org.apache.calcite.avatica.NoSuchStatementException
- Throws:
org.apache.calcite.avatica.NoSuchStatementException
-
executeBatch
public org.apache.calcite.avatica.Meta.ExecuteBatchResult executeBatch(org.apache.calcite.avatica.Meta.StatementHandle h, java.util.List<java.util.List<org.apache.calcite.avatica.remote.TypedValue>> parameterValueLists) throws org.apache.calcite.avatica.NoSuchStatementException
- Throws:
org.apache.calcite.avatica.NoSuchStatementException
-
prepareAndExecuteBatch
public org.apache.calcite.avatica.Meta.ExecuteBatchResult prepareAndExecuteBatch(org.apache.calcite.avatica.Meta.StatementHandle h, java.util.List<java.lang.String> sqlCommands) throws org.apache.calcite.avatica.NoSuchStatementException
- Throws:
org.apache.calcite.avatica.NoSuchStatementException
-
createDataContext
public static DataContext createDataContext(CalciteConnection connection)
A trojan-horse method, subject to change without notice.
-
connect
public static CalciteConnection connect(CalciteSchema schema, JavaTypeFactory typeFactory)
A trojan-horse method, subject to change without notice.
-
syncResults
public boolean syncResults(org.apache.calcite.avatica.Meta.StatementHandle h, org.apache.calcite.avatica.QueryState state, long offset) throws org.apache.calcite.avatica.NoSuchStatementException
- Throws:
org.apache.calcite.avatica.NoSuchStatementException
-
commit
public void commit(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
-
rollback
public void rollback(org.apache.calcite.avatica.Meta.ConnectionHandle ch)
-
-