Package io.trino.plugin.mariadb
Class MariaDbClient
java.lang.Object
io.trino.plugin.jdbc.BaseJdbcClient
io.trino.plugin.mariadb.MariaDbClient
- All Implemented Interfaces:
JdbcClient
-
Nested Class Summary
Nested 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
ConstructorsConstructorDescriptionMariaDbClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcopyTableSchema(ConnectorSession session, Connection connection, String catalogName, String schemaName, String tableName, String newTableName, List<String> columnNames) protected StringcreateTableSql(RemoteTableName remoteTableName, List<String> columns, ConnectorTableMetadata tableMetadata) protected booleanfilterSchema(String schemaName) getTableComment(ResultSet resultSet) protected StringgetTableSchemaName(ResultSet resultSet) 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, buildSql, commitCreateTable, createSchema, createSchema, createTable, createTable, createTable, delete, dropColumn, dropSchema, dropSchema, dropTable, dropTable, escapeObjectNameForMetadataQuery, escapeObjectNameForMetadataQuery, execute, execute, finishInsertTable, getAdditionalPredicate, getCaseSensitivityForColumns, getColumnDefinitionSql, getColumns, getColumns, getConnection, getConnection, getForcedMappingToVarchar, getIdentifierMapping, getInteger, getPreparedStatement, getSchemaNames, 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
abortReadConnection, convertPredicate, getSystemTable, getTableScanRedirection, getTableStatistics, schemaExists, setColumnComment, setTableProperties
-
Constructor Details
-
MariaDbClient
@Inject public MariaDbClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, 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
-
renameSchema
- Specified by:
renameSchemain interfaceJdbcClient- Overrides:
renameSchemain classBaseJdbcClient
-
getTables
public ResultSet getTables(Connection connection, Optional<String> schemaName, Optional<String> tableName) throws SQLException - Overrides:
getTablesin classBaseJdbcClient- Throws:
SQLException
-
getTableSchemaName
- Overrides:
getTableSchemaNamein classBaseJdbcClient- Throws:
SQLException
-
getTableComment
- Throws:
SQLException
-
setTableComment
public void setTableComment(ConnectorSession session, JdbcTableHandle handle, Optional<String> comment) -
toColumnMapping
public Optional<ColumnMapping> toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) -
toWriteMapping
-
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
-
copyTableSchema
protected void copyTableSchema(ConnectorSession session, Connection connection, String catalogName, String schemaName, String tableName, String newTableName, List<String> columnNames) - Overrides:
copyTableSchemain classBaseJdbcClient
-
createTableSql
protected String createTableSql(RemoteTableName remoteTableName, List<String> columns, ConnectorTableMetadata tableMetadata) - Overrides:
createTableSqlin 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
-