Package io.trino.plugin.mysql
Class MySqlClient
java.lang.Object
io.trino.plugin.jdbc.BaseJdbcClient
io.trino.plugin.mysql.MySqlClient
- All Implemented Interfaces:
JdbcClient
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class io.trino.plugin.jdbc.BaseJdbcClient
BaseJdbcClient.TopNFunction -
Field Summary
Fields inherited from class io.trino.plugin.jdbc.BaseJdbcClient
connectionFactory, identifierQuote, jdbcTypesMappedToVarchar, queryBuilder, queryModifier -
Constructor Summary
ConstructorsConstructorDescriptionMySqlClient(BaseJdbcConfig config, JdbcStatisticsConfig statisticsConfig, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, TypeManager typeManager, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier) -
Method Summary
Modifier and TypeMethodDescriptionvoidabortReadConnection(Connection connection, ResultSet resultSet) protected voidcopyTableSchema(ConnectorSession session, Connection connection, String catalogName, String schemaName, String tableName, String newTableName, List<String> columnNames) voidcreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata) protected StringcreateTableSql(RemoteTableName remoteTableName, List<String> columns, ConnectorTableMetadata tableMetadata) protected booleanfilterSchema(String schemaName) getPreparedStatement(Connection connection, String sql, Optional<Integer> columnCount) getTableComment(ResultSet resultSet) protected StringgetTableSchemaName(ResultSet resultSet) getTableStatistics(ConnectorSession session, JdbcTableHandle handle) 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) protected booleanisSupportedJoinCondition(ConnectorSession session, JdbcJoinCondition joinCondition) booleanisTopNGuaranteed(ConnectorSession session) protected Optional<BiFunction<String,Long, String>> listSchemas(Connection connection) protected voidrenameColumn(ConnectorSession session, Connection connection, RemoteTableName remoteTableName, String remoteColumnName, String newRemoteColumnName) voidrenameSchema(ConnectorSession session, String schemaName, String newSchemaName) voidrenameTable(ConnectorSession session, JdbcTableHandle handle, SchemaTableName newTableName) voidsetColumnType(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Type type) voidsetTableComment(ConnectorSession session, JdbcTableHandle handle, Optional<String> comment) booleansupportsAggregationPushdown(ConnectorSession session, JdbcTableHandle table, List<AggregateFunction> aggregates, Map<String, ColumnHandle> assignments, List<List<ColumnHandle>> groupingSets) booleansupportsTopN(ConnectorSession session, JdbcTableHandle handle, List<JdbcSortItem> sortOrder) toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) protected Optional<BaseJdbcClient.TopNFunction>toWriteMapping(ConnectorSession session, Type type) Methods inherited from class io.trino.plugin.jdbc.BaseJdbcClient
addColumn, addColumn, applyQueryTransformations, beginCreateTable, beginInsertTable, buildInsertSql, buildProcedure, buildSql, commitCreateTable, createSchema, createSchema, createTable, createTable, createTableSqls, delete, dropColumn, dropSchema, dropSchema, dropTable, dropTable, escapeObjectNameForMetadataQuery, escapeObjectNameForMetadataQuery, execute, execute, finishInsertTable, getAdditionalPredicate, getCaseSensitivityForColumns, getColumnDefinitionSql, getColumns, getColumns, getColumns, getConnection, getConnection, getConnection, getForcedMappingToVarchar, getIdentifierMapping, getInteger, getMaxWriteParallelism, getProcedureHandle, getSchemaNames, getSplits, getSplits, getTableHandle, getTableHandle, getTableNames, getTableProperties, getTableStatistics, getTableTypes, mapToUnboundedVarchar, postProcessInsertTableNameClause, prepareQuery, prepareQuery, preventTextualTypeAggregationPushdown, quoted, quoted, quoted, renameColumn, renameSchema, renameTable, renameTable, rollbackCreateTable, supportsLimit, supportsRetries, toColumnMappings, truncateTable, varcharLiteral, verifyColumnName, verifySchemaName, verifyTableNameMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.trino.plugin.jdbc.JdbcClient
convertPredicate, getSystemTable, getTableScanRedirection, schemaExists, setColumnComment, setTableProperties
-
Constructor Details
-
MySqlClient
@Inject public MySqlClient(BaseJdbcConfig config, JdbcStatisticsConfig statisticsConfig, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, TypeManager typeManager, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier)
-
-
Method Details
-
implementAggregation
public Optional<JdbcExpression> implementAggregation(ConnectorSession session, AggregateFunction aggregate, Map<String, ColumnHandle> assignments) -
supportsAggregationPushdown
public boolean supportsAggregationPushdown(ConnectorSession session, JdbcTableHandle table, List<AggregateFunction> aggregates, Map<String, ColumnHandle> assignments, List<List<ColumnHandle>> groupingSets) -
listSchemas
- Overrides:
listSchemasin classBaseJdbcClient
-
filterSchema
- Overrides:
filterSchemain classBaseJdbcClient
-
abortReadConnection
- Throws:
SQLException
-
getPreparedStatement
public PreparedStatement getPreparedStatement(Connection connection, String sql, Optional<Integer> columnCount) throws SQLException - Specified by:
getPreparedStatementin interfaceJdbcClient- Overrides:
getPreparedStatementin classBaseJdbcClient- Throws:
SQLException
-
getTables
public ResultSet getTables(Connection connection, Optional<String> schemaName, Optional<String> tableName) throws SQLException - Overrides:
getTablesin classBaseJdbcClient- Throws:
SQLException
-
getTableComment
- Throws:
SQLException
-
setTableComment
public void setTableComment(ConnectorSession session, JdbcTableHandle handle, Optional<String> comment) -
getTableSchemaName
- Overrides:
getTableSchemaNamein classBaseJdbcClient- Throws:
SQLException
-
createTableSql
protected String createTableSql(RemoteTableName remoteTableName, List<String> columns, ConnectorTableMetadata tableMetadata) - Overrides:
createTableSqlin classBaseJdbcClient
-
toColumnMapping
public Optional<ColumnMapping> toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) -
toWriteMapping
-
createTable
- Specified by:
createTablein interfaceJdbcClient- Overrides:
createTablein classBaseJdbcClient
-
renameColumn
protected void renameColumn(ConnectorSession session, Connection connection, RemoteTableName remoteTableName, String remoteColumnName, String newRemoteColumnName) throws SQLException - Overrides:
renameColumnin classBaseJdbcClient- Throws:
SQLException
-
setColumnType
public void setColumnType(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Type type) - Specified by:
setColumnTypein interfaceJdbcClient- Overrides:
setColumnTypein classBaseJdbcClient
-
renameSchema
- Specified by:
renameSchemain interfaceJdbcClient- Overrides:
renameSchemain classBaseJdbcClient
-
copyTableSchema
protected void copyTableSchema(ConnectorSession session, Connection connection, String catalogName, String schemaName, String tableName, String newTableName, List<String> columnNames) - Overrides:
copyTableSchemain classBaseJdbcClient
-
renameTable
public void renameTable(ConnectorSession session, JdbcTableHandle handle, SchemaTableName newTableName) - Specified by:
renameTablein interfaceJdbcClient- Overrides:
renameTablein classBaseJdbcClient
-
limitFunction
- Overrides:
limitFunctionin classBaseJdbcClient
-
isLimitGuaranteed
- Specified by:
isLimitGuaranteedin interfaceJdbcClient- Overrides:
isLimitGuaranteedin classBaseJdbcClient
-
supportsTopN
public boolean supportsTopN(ConnectorSession session, JdbcTableHandle handle, List<JdbcSortItem> sortOrder) - Specified by:
supportsTopNin interfaceJdbcClient- Overrides:
supportsTopNin classBaseJdbcClient
-
topNFunction
- Overrides:
topNFunctionin classBaseJdbcClient
-
isTopNGuaranteed
- Specified by:
isTopNGuaranteedin interfaceJdbcClient- Overrides:
isTopNGuaranteedin classBaseJdbcClient
-
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- Overrides:
implementJoinin classBaseJdbcClient
-
isSupportedJoinCondition
protected boolean isSupportedJoinCondition(ConnectorSession session, JdbcJoinCondition joinCondition) - Overrides:
isSupportedJoinConditionin classBaseJdbcClient
-
getTableStatistics
-