Package io.trino.plugin.clickhouse
Class ClickHouseClient
java.lang.Object
io.trino.plugin.jdbc.BaseJdbcClient
io.trino.plugin.clickhouse.ClickHouseClient
- All Implemented Interfaces:
JdbcClient
-
Nested Class Summary
Nested classes/interfaces inherited from class io.trino.plugin.jdbc.BaseJdbcClient
BaseJdbcClient.TopNFunction -
Field Summary
FieldsFields inherited from class io.trino.plugin.jdbc.BaseJdbcClient
connectionFactory, identifierQuote, jdbcTypesMappedToVarchar, queryBuilder, queryModifier -
Constructor Summary
ConstructorsConstructorDescriptionClickHouseClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, TypeManager typeManager, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddColumn(ConnectorSession session, JdbcTableHandle handle, ColumnMetadata column) protected voidcopyTableSchema(ConnectorSession session, Connection connection, String catalogName, String schemaName, String tableName, String newTableName, List<String> columnNames) protected voidcreateSchema(ConnectorSession session, Connection connection, String remoteSchemaName) protected StringcreateTableSql(RemoteTableName remoteTableName, List<String> columns, ConnectorTableMetadata tableMetadata) delete(ConnectorSession session, JdbcTableHandle handle) protected voiddropSchema(ConnectorSession session, Connection connection, String remoteSchemaName, boolean cascade) protected StringgetColumnDefinitionSql(ConnectorSession session, ColumnMetadata column, String columnName) getTableComment(ResultSet resultSet) getTableProperties(ConnectorSession session, JdbcTableHandle tableHandle) implementAggregation(ConnectorSession session, AggregateFunction aggregate, Map<String, ColumnHandle> assignments) booleanisLimitGuaranteed(ConnectorSession session) protected Optional<BiFunction<String,Long, String>> protected Stringprotected voidrenameSchema(ConnectorSession session, Connection connection, String remoteSchemaName, String newRemoteSchemaName) protected voidrenameTable(ConnectorSession session, Connection connection, String catalogName, String remoteSchemaName, String remoteTableName, String newRemoteSchemaName, String newRemoteTableName) 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>> nullableProperties) booleansupportsAggregationPushdown(ConnectorSession session, JdbcTableHandle table, List<AggregateFunction> aggregates, Map<String, ColumnHandle> assignments, List<List<ColumnHandle>> groupingSets) toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) toWriteMapping(ConnectorSession session, Type type) Methods inherited from class io.trino.plugin.jdbc.BaseJdbcClient
addColumn, applyQueryTransformations, beginCreateTable, beginInsertTable, buildInsertSql, buildProcedure, buildSql, commitCreateTable, createSchema, createTable, createTable, createTable, createTableSqls, dropColumn, dropSchema, dropTable, dropTable, escapeObjectNameForMetadataQuery, escapeObjectNameForMetadataQuery, execute, execute, filterSchema, finishInsertTable, getAdditionalPredicate, getCaseSensitivityForColumns, getColumns, getColumns, getColumns, getConnection, getConnection, getConnection, getForcedMappingToVarchar, getIdentifierMapping, getInteger, getMaxWriteParallelism, getPreparedStatement, getProcedureHandle, getRemoteIdentifiers, getSchemaNames, getSplits, getSplits, getTableHandle, getTableHandle, getTableNames, getTables, getTableSchemaName, getTableStatistics, implementJoin, isSupportedJoinCondition, isTopNGuaranteed, listSchemas, mapToUnboundedVarchar, postProcessInsertTableNameClause, prepareQuery, prepareQuery, preventTextualTypeAggregationPushdown, quoted, quoted, renameColumn, renameColumn, renameSchema, renameTable, renameTable, rollbackCreateTable, supportsLimit, supportsRetries, supportsTopN, toColumnMappings, topNFunction, 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, getSupportedType, getSystemTable, getTableScanRedirection, getTableStatistics, schemaExists
-
Field Details
-
DEFAULT_DOMAIN_COMPACTION_THRESHOLD
public static final int DEFAULT_DOMAIN_COMPACTION_THRESHOLD- See Also:
-
-
Constructor Details
-
ClickHouseClient
@Inject public ClickHouseClient(BaseJdbcConfig config, 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) -
quoted
- Overrides:
quotedin classBaseJdbcClient
-
copyTableSchema
protected void copyTableSchema(ConnectorSession session, Connection connection, String catalogName, String schemaName, String tableName, String newTableName, List<String> columnNames) - Overrides:
copyTableSchemain classBaseJdbcClient
-
getTableComment
- Throws:
SQLException
-
createTableSql
protected String createTableSql(RemoteTableName remoteTableName, List<String> columns, ConnectorTableMetadata tableMetadata) - Overrides:
createTableSqlin classBaseJdbcClient
-
getTableProperties
- Specified by:
getTablePropertiesin interfaceJdbcClient- Overrides:
getTablePropertiesin classBaseJdbcClient
-
setTableProperties
public void setTableProperties(ConnectorSession session, JdbcTableHandle handle, Map<String, Optional<Object>> nullableProperties) -
getColumnDefinitionSql
protected String getColumnDefinitionSql(ConnectorSession session, ColumnMetadata column, String columnName) - Overrides:
getColumnDefinitionSqlin classBaseJdbcClient
-
createSchema
protected void createSchema(ConnectorSession session, Connection connection, String remoteSchemaName) throws SQLException - Overrides:
createSchemain classBaseJdbcClient- Throws:
SQLException
-
dropSchema
protected void dropSchema(ConnectorSession session, Connection connection, String remoteSchemaName, boolean cascade) throws SQLException - Overrides:
dropSchemain classBaseJdbcClient- Throws:
SQLException
-
renameSchema
protected void renameSchema(ConnectorSession session, Connection connection, String remoteSchemaName, String newRemoteSchemaName) throws SQLException - Overrides:
renameSchemain classBaseJdbcClient- Throws:
SQLException
-
addColumn
- Specified by:
addColumnin interfaceJdbcClient- Overrides:
addColumnin classBaseJdbcClient
-
setTableComment
public void setTableComment(ConnectorSession session, JdbcTableHandle handle, Optional<String> comment) -
setColumnComment
public void setColumnComment(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Optional<String> comment) -
setColumnType
public void setColumnType(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Type type) - Specified by:
setColumnTypein interfaceJdbcClient- Overrides:
setColumnTypein classBaseJdbcClient
-
getTableTypes
- Overrides:
getTableTypesin classBaseJdbcClient
-
renameTable
protected void renameTable(ConnectorSession session, Connection connection, String catalogName, String remoteSchemaName, String remoteTableName, String newRemoteSchemaName, String newRemoteTableName) throws SQLException - Overrides:
renameTablein classBaseJdbcClient- Throws:
SQLException
-
limitFunction
- Overrides:
limitFunctionin classBaseJdbcClient
-
isLimitGuaranteed
- Specified by:
isLimitGuaranteedin interfaceJdbcClient- Overrides:
isLimitGuaranteedin classBaseJdbcClient
-
delete
- Specified by:
deletein interfaceJdbcClient- Overrides:
deletein classBaseJdbcClient
-
toColumnMapping
public Optional<ColumnMapping> toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) -
toWriteMapping
-