Package io.trino.plugin.jdbc
Interface JdbcClient
- All Known Implementing Classes:
BaseJdbcClient,CachingJdbcClient,ForwardingJdbcClient,StatisticsAwareJdbcClient
public interface JdbcClient
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidabortReadConnection(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 table, List<JdbcColumnHandle> columns) voidcommitCreateTable(ConnectorSession session, JdbcOutputTableHandle handle, Set<Long> pageSinkIds) default Optional<ParameterizedExpression>convertPredicate(ConnectorSession session, ConnectorExpression expression, Map<String, ColumnHandle> assignments) voidcreateSchema(ConnectorSession session, String schemaName) voidcreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata) 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 tableHandle) default Optional<SystemTable>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) default TableStatisticsgetTableStatistics(ConnectorSession session, JdbcTableHandle handle) getTableStatistics(ConnectorSession session, JdbcTableHandle handle, TupleDomain<ColumnHandle> tupleDomain) Deprecated.default Optional<JdbcExpression>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 whensupportsTopN(ConnectorSession, JdbcTableHandle, List)returns true.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) default booleanschemaExists(ConnectorSession session, String schema) default voidsetColumnComment(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Optional<String> comment) voidsetColumnType(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Type type) default voidsetTableComment(ConnectorSession session, JdbcTableHandle handle, Optional<String> comment) default voidsetTableProperties(ConnectorSession session, JdbcTableHandle handle, Map<String, Optional<Object>> properties) default 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) Bulk variant oftoColumnMapping(ConnectorSession, Connection, JdbcTypeHandle).toWriteMapping(ConnectorSession session, Type type) voidtruncateTable(ConnectorSession session, JdbcTableHandle handle)
-
Method Details
-
schemaExists
-
getSchemaNames
-
getTableNames
-
getTableHandle
-
getTableHandle
-
getProcedureHandle
JdbcProcedureHandle getProcedureHandle(ConnectorSession session, JdbcProcedureHandle.ProcedureQuery procedureQuery) -
getColumns
-
toColumnMapping
Optional<ColumnMapping> toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) -
toColumnMappings
Bulk variant oftoColumnMapping(ConnectorSession, Connection, JdbcTypeHandle). -
toWriteMapping
-
supportsAggregationPushdown
default boolean supportsAggregationPushdown(ConnectorSession session, JdbcTableHandle table, List<AggregateFunction> aggregates, Map<String, ColumnHandle> assignments, List<List<ColumnHandle>> groupingSets) -
implementAggregation
default Optional<JdbcExpression> implementAggregation(ConnectorSession session, AggregateFunction aggregate, Map<String, ColumnHandle> assignments) -
convertPredicate
default Optional<ParameterizedExpression> convertPredicate(ConnectorSession session, ConnectorExpression expression, Map<String, ColumnHandle> assignments) -
getSplits
-
getSplits
-
getConnection
Connection getConnection(ConnectorSession session, JdbcSplit split, JdbcTableHandle tableHandle) throws SQLException - Throws:
SQLException
-
getConnection
Connection getConnection(ConnectorSession session, JdbcSplit split, JdbcProcedureHandle procedureHandle) throws SQLException - Throws:
SQLException
-
abortReadConnection
- Throws:
SQLException
-
prepareQuery
PreparedQuery prepareQuery(ConnectorSession session, JdbcTableHandle table, Optional<List<List<JdbcColumnHandle>>> groupingSets, List<JdbcColumnHandle> columns, Map<String, ParameterizedExpression> columnExpressions) -
buildSql
PreparedStatement buildSql(ConnectorSession session, Connection connection, JdbcSplit split, JdbcTableHandle table, List<JdbcColumnHandle> columns) throws SQLException - Throws:
SQLException
-
buildProcedure
CallableStatement buildProcedure(ConnectorSession session, Connection connection, JdbcSplit split, JdbcProcedureHandle procedureHandle) throws SQLException - Throws:
SQLException
-
implementJoin
Optional<PreparedQuery> implementJoin(ConnectorSession session, JoinType joinType, PreparedQuery leftSource, PreparedQuery rightSource, List<JdbcJoinCondition> joinConditions, Map<JdbcColumnHandle, String> rightAssignments, Map<JdbcColumnHandle, String> leftAssignments, JoinStatistics statistics) -
supportsTopN
boolean supportsTopN(ConnectorSession session, JdbcTableHandle handle, List<JdbcSortItem> sortOrder) -
isTopNGuaranteed
Reports whether result cardinality and ordering is guaranteed whensupportsTopN(ConnectorSession, JdbcTableHandle, List)returns true. -
supportsLimit
boolean supportsLimit() -
isLimitGuaranteed
-
getTableComment
- Throws:
SQLException
-
setTableComment
default void setTableComment(ConnectorSession session, JdbcTableHandle handle, Optional<String> comment) -
setColumnComment
default void setColumnComment(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Optional<String> comment) -
addColumn
-
dropColumn
-
renameColumn
void renameColumn(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle jdbcColumn, String newColumnName) -
setColumnType
void setColumnType(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Type type) -
renameTable
-
setTableProperties
default void setTableProperties(ConnectorSession session, JdbcTableHandle handle, Map<String, Optional<Object>> properties) -
createTable
-
beginCreateTable
JdbcOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata) -
commitCreateTable
void commitCreateTable(ConnectorSession session, JdbcOutputTableHandle handle, Set<Long> pageSinkIds) -
beginInsertTable
JdbcOutputTableHandle beginInsertTable(ConnectorSession session, JdbcTableHandle tableHandle, List<JdbcColumnHandle> columns) -
finishInsertTable
void finishInsertTable(ConnectorSession session, JdbcOutputTableHandle handle, Set<Long> pageSinkIds) -
dropTable
-
rollbackCreateTable
-
supportsRetries
boolean supportsRetries() -
buildInsertSql
-
getConnection
Connection getConnection(ConnectorSession session, JdbcOutputTableHandle handle) throws SQLException - Throws:
SQLException
-
getPreparedStatement
PreparedStatement getPreparedStatement(Connection connection, String sql, Optional<Integer> columnCount) throws SQLException - Throws:
SQLException
-
getTableStatistics
@Deprecated TableStatistics getTableStatistics(ConnectorSession session, JdbcTableHandle handle, TupleDomain<ColumnHandle> tupleDomain) Deprecated. -
getTableStatistics
-
createSchema
-
dropSchema
-
renameSchema
-
getSystemTable
-
quoted
-
quoted
-
getTableProperties
-
getTableScanRedirection
default Optional<TableScanRedirectApplicationResult> getTableScanRedirection(ConnectorSession session, JdbcTableHandle tableHandle) -
delete
-
truncateTable
-
getTableStatistics(ConnectorSession, JdbcTableHandle)