Package io.trino.plugin.jdbc
Class ForwardingJdbcClient
java.lang.Object
io.trino.plugin.jdbc.ForwardingJdbcClient
- All Implemented Interfaces:
JdbcClient
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidabortReadConnection(Connection connection, ResultSet resultSet) voidaddColumn(ConnectorSession session, JdbcTableHandle handle, ColumnMetadata column) beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata) beginInsertTable(ConnectorSession session, JdbcTableHandle tableHandle, List<JdbcColumnHandle> columns) buildInsertSql(JdbcOutputTableHandle handle, List<WriteFunction> columnWriters) buildProcedure(ConnectorSession session, Connection connection, JdbcSplit split, JdbcProcedureHandle procedureHandle) buildSql(ConnectorSession session, Connection connection, JdbcSplit split, JdbcTableHandle tableHandle, List<JdbcColumnHandle> columnHandles) voidcommitCreateTable(ConnectorSession session, JdbcOutputTableHandle handle, Set<Long> pageSinkIds) convertPredicate(ConnectorSession session, ConnectorExpression expression, Map<String, ColumnHandle> assignments) voidcreateSchema(ConnectorSession session, String schemaName) voidcreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata) protected abstract JdbcClientdelegate()delete(ConnectorSession session, JdbcTableHandle handle) voiddropColumn(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column) voiddropSchema(ConnectorSession session, String schemaName) voiddropTable(ConnectorSession session, JdbcTableHandle jdbcTableHandle) voidfinishInsertTable(ConnectorSession session, JdbcOutputTableHandle handle, Set<Long> pageSinkIds) getColumns(ConnectorSession session, JdbcTableHandle tableHandle) getConnection(ConnectorSession session, JdbcOutputTableHandle handle) getConnection(ConnectorSession session, JdbcSplit split, JdbcProcedureHandle procedureHandle) getConnection(ConnectorSession session, JdbcSplit split, JdbcTableHandle tableHandle) getPreparedStatement(Connection connection, String sql, Optional<Integer> columnCount) getProcedureHandle(ConnectorSession session, JdbcProcedureHandle.ProcedureQuery procedureQuery) getSchemaNames(ConnectorSession session) getSplits(ConnectorSession session, JdbcProcedureHandle procedureHandle) getSplits(ConnectorSession session, JdbcTableHandle layoutHandle) getSystemTable(ConnectorSession session, SchemaTableName tableName) getTableComment(ResultSet resultSet) getTableHandle(ConnectorSession session, PreparedQuery preparedQuery) getTableHandle(ConnectorSession session, SchemaTableName schemaTableName) getTableNames(ConnectorSession session, Optional<String> schema) getTableProperties(ConnectorSession session, JdbcTableHandle tableHandle) getTableScanRedirection(ConnectorSession session, JdbcTableHandle tableHandle) getTableStatistics(ConnectorSession session, JdbcTableHandle handle) getTableStatistics(ConnectorSession session, JdbcTableHandle handle, TupleDomain<ColumnHandle> tupleDomain) implementAggregation(ConnectorSession session, AggregateFunction aggregate, Map<String, ColumnHandle> assignments) implementJoin(ConnectorSession session, JoinType joinType, PreparedQuery leftSource, PreparedQuery rightSource, List<JdbcJoinCondition> joinConditions, Map<JdbcColumnHandle, String> rightAssignments, Map<JdbcColumnHandle, String> leftAssignments, JoinStatistics statistics) booleanisLimitGuaranteed(ConnectorSession session) booleanisTopNGuaranteed(ConnectorSession session) Reports whether result cardinality and ordering is guaranteed whenJdbcClient.supportsTopN(ConnectorSession, JdbcTableHandle, List)returns true.static JdbcClientof(Supplier<JdbcClient> jdbcClientSupplier) prepareQuery(ConnectorSession session, JdbcTableHandle table, Optional<List<List<JdbcColumnHandle>>> groupingSets, List<JdbcColumnHandle> columns, Map<String, ParameterizedExpression> columnExpressions) quoted(RemoteTableName remoteTableName) voidrenameColumn(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle jdbcColumn, String newColumnName) voidrenameSchema(ConnectorSession session, String schemaName, String newSchemaName) voidrenameTable(ConnectorSession session, JdbcTableHandle handle, SchemaTableName newTableName) voidrollbackCreateTable(ConnectorSession session, JdbcOutputTableHandle handle) booleanschemaExists(ConnectorSession session, String schema) voidsetColumnComment(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Optional<String> comment) voidsetColumnType(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Type type) voidsetTableComment(ConnectorSession session, JdbcTableHandle handle, Optional<String> comment) voidsetTableProperties(ConnectorSession session, JdbcTableHandle handle, Map<String, Optional<Object>> properties) booleansupportsAggregationPushdown(ConnectorSession session, JdbcTableHandle table, List<AggregateFunction> aggregates, Map<String, ColumnHandle> assignments, List<List<ColumnHandle>> groupingSets) booleanbooleanbooleansupportsTopN(ConnectorSession session, JdbcTableHandle handle, List<JdbcSortItem> sortOrder) toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) toColumnMappings(ConnectorSession session, List<JdbcTypeHandle> typeHandles) toWriteMapping(ConnectorSession session, Type type) voidtruncateTable(ConnectorSession session, JdbcTableHandle handle)
-
Constructor Details
-
ForwardingJdbcClient
public ForwardingJdbcClient()
-
-
Method Details
-
of
-
delegate
-
schemaExists
- Specified by:
schemaExistsin interfaceJdbcClient
-
getSchemaNames
- Specified by:
getSchemaNamesin interfaceJdbcClient
-
getTableNames
- Specified by:
getTableNamesin interfaceJdbcClient
-
getTableHandle
public Optional<JdbcTableHandle> getTableHandle(ConnectorSession session, SchemaTableName schemaTableName) - Specified by:
getTableHandlein interfaceJdbcClient
-
getTableHandle
- Specified by:
getTableHandlein interfaceJdbcClient
-
getProcedureHandle
public JdbcProcedureHandle getProcedureHandle(ConnectorSession session, JdbcProcedureHandle.ProcedureQuery procedureQuery) - Specified by:
getProcedureHandlein interfaceJdbcClient
-
getColumns
- 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
- Specified by:
toWriteMappingin interfaceJdbcClient
-
supportsAggregationPushdown
public boolean supportsAggregationPushdown(ConnectorSession session, JdbcTableHandle table, List<AggregateFunction> aggregates, Map<String, ColumnHandle> assignments, 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
-
convertPredicate
public Optional<ParameterizedExpression> convertPredicate(ConnectorSession session, ConnectorExpression expression, Map<String, ColumnHandle> assignments) - Specified by:
convertPredicatein interfaceJdbcClient
-
getSplits
- Specified by:
getSplitsin interfaceJdbcClient
-
getSplits
public ConnectorSplitSource getSplits(ConnectorSession session, JdbcProcedureHandle procedureHandle) - Specified by:
getSplitsin interfaceJdbcClient
-
getConnection
public Connection getConnection(ConnectorSession session, JdbcSplit split, JdbcTableHandle tableHandle) throws SQLException - Specified by:
getConnectionin interfaceJdbcClient- Throws:
SQLException
-
getConnection
public Connection getConnection(ConnectorSession session, JdbcSplit split, JdbcProcedureHandle procedureHandle) throws SQLException - Specified by:
getConnectionin interfaceJdbcClient- Throws:
SQLException
-
abortReadConnection
- Specified by:
abortReadConnectionin interfaceJdbcClient- Throws:
SQLException
-
prepareQuery
public PreparedQuery prepareQuery(ConnectorSession session, JdbcTableHandle table, Optional<List<List<JdbcColumnHandle>>> groupingSets, List<JdbcColumnHandle> columns, Map<String, ParameterizedExpression> columnExpressions) - Specified by:
prepareQueryin interfaceJdbcClient
-
buildSql
public PreparedStatement buildSql(ConnectorSession session, Connection connection, JdbcSplit split, JdbcTableHandle tableHandle, List<JdbcColumnHandle> columnHandles) throws SQLException - Specified by:
buildSqlin interfaceJdbcClient- Throws:
SQLException
-
buildProcedure
public CallableStatement buildProcedure(ConnectorSession session, Connection connection, JdbcSplit split, JdbcProcedureHandle procedureHandle) throws SQLException - Specified by:
buildProcedurein interfaceJdbcClient- Throws:
SQLException
-
implementJoin
public Optional<PreparedQuery> implementJoin(ConnectorSession session, JoinType joinType, PreparedQuery leftSource, PreparedQuery rightSource, List<JdbcJoinCondition> joinConditions, Map<JdbcColumnHandle, String> rightAssignments, Map<JdbcColumnHandle, String> leftAssignments, JoinStatistics statistics) - Specified by:
implementJoinin interfaceJdbcClient
-
beginCreateTable
public JdbcOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata) - Specified by:
beginCreateTablein interfaceJdbcClient
-
commitCreateTable
public void commitCreateTable(ConnectorSession session, JdbcOutputTableHandle handle, Set<Long> pageSinkIds) - 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, Set<Long> pageSinkIds) - Specified by:
finishInsertTablein interfaceJdbcClient
-
dropTable
- Specified by:
dropTablein interfaceJdbcClient
-
rollbackCreateTable
- Specified by:
rollbackCreateTablein interfaceJdbcClient
-
supportsRetries
public boolean supportsRetries()- Specified by:
supportsRetriesin interfaceJdbcClient
-
buildInsertSql
- 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, Optional<Integer> columnCount) throws SQLException - Specified by:
getPreparedStatementin interfaceJdbcClient- Throws:
SQLException
-
getTableStatistics
public TableStatistics getTableStatistics(ConnectorSession session, JdbcTableHandle handle, TupleDomain<ColumnHandle> tupleDomain) - Specified by:
getTableStatisticsin interfaceJdbcClient
-
getTableStatistics
- Specified by:
getTableStatisticsin interfaceJdbcClient
-
supportsTopN
public boolean supportsTopN(ConnectorSession session, JdbcTableHandle handle, List<JdbcSortItem> sortOrder) - Specified by:
supportsTopNin interfaceJdbcClient
-
isTopNGuaranteed
Description copied from interface:JdbcClientReports whether result cardinality and ordering is guaranteed whenJdbcClient.supportsTopN(ConnectorSession, JdbcTableHandle, List)returns true.- Specified by:
isTopNGuaranteedin interfaceJdbcClient
-
supportsLimit
public boolean supportsLimit()- Specified by:
supportsLimitin interfaceJdbcClient
-
isLimitGuaranteed
- Specified by:
isLimitGuaranteedin interfaceJdbcClient
-
getTableComment
- Specified by:
getTableCommentin interfaceJdbcClient- Throws:
SQLException
-
setTableComment
public void setTableComment(ConnectorSession session, JdbcTableHandle handle, Optional<String> comment) - Specified by:
setTableCommentin interfaceJdbcClient
-
setColumnComment
public void setColumnComment(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Optional<String> comment) - Specified by:
setColumnCommentin interfaceJdbcClient
-
addColumn
- Specified by:
addColumnin interfaceJdbcClient
-
dropColumn
- Specified by:
dropColumnin interfaceJdbcClient
-
renameColumn
public void renameColumn(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle jdbcColumn, String newColumnName) - Specified by:
renameColumnin interfaceJdbcClient
-
setColumnType
public void setColumnType(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Type type) - Specified by:
setColumnTypein interfaceJdbcClient
-
renameTable
public void renameTable(ConnectorSession session, JdbcTableHandle handle, SchemaTableName newTableName) - Specified by:
renameTablein interfaceJdbcClient
-
setTableProperties
public void setTableProperties(ConnectorSession session, JdbcTableHandle handle, Map<String, Optional<Object>> properties) - Specified by:
setTablePropertiesin interfaceJdbcClient
-
createTable
- Specified by:
createTablein interfaceJdbcClient
-
createSchema
- Specified by:
createSchemain interfaceJdbcClient
-
dropSchema
- Specified by:
dropSchemain interfaceJdbcClient
-
renameSchema
- Specified by:
renameSchemain interfaceJdbcClient
-
getSystemTable
- Specified by:
getSystemTablein interfaceJdbcClient
-
quoted
- Specified by:
quotedin interfaceJdbcClient
-
quoted
- Specified by:
quotedin interfaceJdbcClient
-
getTableProperties
- Specified by:
getTablePropertiesin interfaceJdbcClient
-
getTableScanRedirection
public Optional<TableScanRedirectApplicationResult> getTableScanRedirection(ConnectorSession session, JdbcTableHandle tableHandle) - Specified by:
getTableScanRedirectionin interfaceJdbcClient
-
delete
- Specified by:
deletein interfaceJdbcClient
-
truncateTable
- Specified by:
truncateTablein interfaceJdbcClient
-