Package io.trino.plugin.jdbc
Class CachingJdbcClient
- java.lang.Object
-
- io.trino.plugin.jdbc.CachingJdbcClient
-
- All Implemented Interfaces:
JdbcClient
- Direct Known Subclasses:
TransactionCachingJdbcClient
public class CachingJdbcClient extends Object implements JdbcClient
-
-
Constructor Summary
Constructors Constructor Description CachingJdbcClient(JdbcClient delegate, Set<SessionPropertiesProvider> sessionPropertiesProviders, io.airlift.units.Duration metadataCachingTtl, boolean cacheMissing)CachingJdbcClient(JdbcClient delegate, Set<SessionPropertiesProvider> sessionPropertiesProviders, BaseJdbcConfig config)
-
Method Summary
-
-
-
Constructor Detail
-
CachingJdbcClient
@Inject public CachingJdbcClient(JdbcClient delegate, Set<SessionPropertiesProvider> sessionPropertiesProviders, BaseJdbcConfig config)
-
CachingJdbcClient
public CachingJdbcClient(JdbcClient delegate, Set<SessionPropertiesProvider> sessionPropertiesProviders, io.airlift.units.Duration metadataCachingTtl, boolean cacheMissing)
-
-
Method Detail
-
schemaExists
public boolean schemaExists(ConnectorSession session, String schema)
- Specified by:
schemaExistsin interfaceJdbcClient
-
getSchemaNames
public Set<String> getSchemaNames(ConnectorSession session)
- Specified by:
getSchemaNamesin interfaceJdbcClient
-
getTableNames
public List<SchemaTableName> getTableNames(ConnectorSession session, Optional<String> schema)
- Specified by:
getTableNamesin interfaceJdbcClient
-
getColumns
public List<JdbcColumnHandle> getColumns(ConnectorSession session, JdbcTableHandle tableHandle)
- Specified by:
getColumnsin interfaceJdbcClient
-
toColumnMapping
public Optional<ColumnMapping> toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle)
- Specified by:
toColumnMappingin interfaceJdbcClient
-
toColumnMappings
public List<ColumnMapping> toColumnMappings(ConnectorSession session, List<JdbcTypeHandle> typeHandles)
Description copied from interface:JdbcClient- Specified by:
toColumnMappingsin interfaceJdbcClient
-
toWriteMapping
public WriteMapping toWriteMapping(ConnectorSession session, Type type)
- Specified by:
toWriteMappingin interfaceJdbcClient
-
supportsAggregationPushdown
public boolean supportsAggregationPushdown(ConnectorSession session, JdbcTableHandle table, List<List<ColumnHandle>> groupingSets)
- Specified by:
supportsAggregationPushdownin interfaceJdbcClient
-
implementAggregation
public Optional<JdbcExpression> implementAggregation(ConnectorSession session, AggregateFunction aggregate, Map<String,ColumnHandle> assignments)
- Specified by:
implementAggregationin interfaceJdbcClient
-
getSplits
public ConnectorSplitSource getSplits(ConnectorSession session, JdbcTableHandle tableHandle)
- Specified by:
getSplitsin interfaceJdbcClient
-
getConnection
public Connection getConnection(ConnectorSession session, JdbcSplit split) throws SQLException
- Specified by:
getConnectionin interfaceJdbcClient- Throws:
SQLException
-
abortReadConnection
public void abortReadConnection(Connection connection) throws SQLException
- Specified by:
abortReadConnectionin interfaceJdbcClient- Throws:
SQLException
-
prepareQuery
public PreparedQuery prepareQuery(ConnectorSession session, JdbcTableHandle table, Optional<List<List<JdbcColumnHandle>>> groupingSets, List<JdbcColumnHandle> columns, Map<String,String> columnExpressions)
- Specified by:
prepareQueryin interfaceJdbcClient
-
buildSql
public PreparedStatement buildSql(ConnectorSession session, Connection connection, JdbcSplit split, JdbcTableHandle table, List<JdbcColumnHandle> columns) throws SQLException
- Specified by:
buildSqlin interfaceJdbcClient- Throws:
SQLException
-
supportsLimit
public boolean supportsLimit()
- Specified by:
supportsLimitin interfaceJdbcClient
-
isLimitGuaranteed
public boolean isLimitGuaranteed(ConnectorSession session)
- Specified by:
isLimitGuaranteedin interfaceJdbcClient
-
getTableHandle
public Optional<JdbcTableHandle> getTableHandle(ConnectorSession session, SchemaTableName schemaTableName)
- Specified by:
getTableHandlein interfaceJdbcClient
-
commitCreateTable
public void commitCreateTable(ConnectorSession session, JdbcOutputTableHandle handle)
- Specified by:
commitCreateTablein interfaceJdbcClient
-
beginInsertTable
public JdbcOutputTableHandle beginInsertTable(ConnectorSession session, JdbcTableHandle tableHandle, List<JdbcColumnHandle> columns)
- Specified by:
beginInsertTablein interfaceJdbcClient
-
finishInsertTable
public void finishInsertTable(ConnectorSession session, JdbcOutputTableHandle handle)
- Specified by:
finishInsertTablein interfaceJdbcClient
-
dropTable
public void dropTable(ConnectorSession session, JdbcTableHandle jdbcTableHandle)
- Specified by:
dropTablein interfaceJdbcClient
-
rollbackCreateTable
public void rollbackCreateTable(ConnectorSession session, JdbcOutputTableHandle handle)
- Specified by:
rollbackCreateTablein interfaceJdbcClient
-
buildInsertSql
public String buildInsertSql(JdbcOutputTableHandle handle, List<WriteFunction> columnWriters)
- Specified by:
buildInsertSqlin interfaceJdbcClient
-
getConnection
public Connection getConnection(ConnectorSession session, JdbcOutputTableHandle handle) throws SQLException
- Specified by:
getConnectionin interfaceJdbcClient- Throws:
SQLException
-
getPreparedStatement
public PreparedStatement getPreparedStatement(Connection connection, String sql) throws SQLException
- Specified by:
getPreparedStatementin interfaceJdbcClient- Throws:
SQLException
-
getTableStatistics
public TableStatistics getTableStatistics(ConnectorSession session, JdbcTableHandle handle, TupleDomain<ColumnHandle> tupleDomain)
- Specified by:
getTableStatisticsin interfaceJdbcClient
-
createSchema
public void createSchema(ConnectorSession session, String schemaName)
- Specified by:
createSchemain interfaceJdbcClient
-
dropSchema
public void dropSchema(ConnectorSession session, String schemaName)
- Specified by:
dropSchemain interfaceJdbcClient
-
setColumnComment
public void setColumnComment(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Optional<String> comment)
- Specified by:
setColumnCommentin interfaceJdbcClient
-
addColumn
public void addColumn(ConnectorSession session, JdbcTableHandle handle, ColumnMetadata column)
- Specified by:
addColumnin interfaceJdbcClient
-
dropColumn
public void dropColumn(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column)
- Specified by:
dropColumnin interfaceJdbcClient
-
renameColumn
public void renameColumn(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle jdbcColumn, String newColumnName)
- Specified by:
renameColumnin interfaceJdbcClient
-
renameTable
public void renameTable(ConnectorSession session, JdbcTableHandle handle, SchemaTableName newTableName)
- Specified by:
renameTablein interfaceJdbcClient
-
createTable
public void createTable(ConnectorSession session, ConnectorTableMetadata tableMetadata)
- Specified by:
createTablein interfaceJdbcClient
-
beginCreateTable
public JdbcOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata)
- Specified by:
beginCreateTablein interfaceJdbcClient
-
getSystemTable
public Optional<SystemTable> getSystemTable(ConnectorSession session, SchemaTableName tableName)
- Specified by:
getSystemTablein interfaceJdbcClient
-
quoted
public String quoted(String name)
- Specified by:
quotedin interfaceJdbcClient
-
quoted
public String quoted(RemoteTableName remoteTableName)
- Specified by:
quotedin interfaceJdbcClient
-
getTableProperties
public Map<String,Object> getTableProperties(ConnectorSession session, JdbcTableHandle tableHandle)
- Specified by:
getTablePropertiesin interfaceJdbcClient
-
getTableScanRedirection
public Optional<TableScanRedirectApplicationResult> getTableScanRedirection(ConnectorSession session, JdbcTableHandle tableHandle)
- Specified by:
getTableScanRedirectionin interfaceJdbcClient
-
-