Package io.trino.plugin.singlestore
Class SingleStoreClient
java.lang.Object
io.trino.plugin.jdbc.BaseJdbcClient
io.trino.plugin.singlestore.SingleStoreClient
- 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
ConstructorsModifierConstructorDescriptionSingleStoreClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, TypeManager typeManager, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier) protectedSingleStoreClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, TypeManager typeManager, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier, boolean supportsRetries) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanfilterSchema(String schemaName) getTableComment(ResultSet resultSet) protected StringgetTableSchemaName(ResultSet resultSet) 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) 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, copyTableSchema, createSchema, createSchema, createTable, createTable, createTable, createTableSql, 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, getPreparedStatement, 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
abortReadConnection, convertPredicate, getSystemTable, getTableScanRedirection, getTableStatistics, implementAggregation, schemaExists, setColumnComment, setTableComment, setTableProperties
-
Constructor Details
-
SingleStoreClient
@Inject public SingleStoreClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, TypeManager typeManager, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier) -
SingleStoreClient
protected SingleStoreClient(BaseJdbcConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, TypeManager typeManager, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier, boolean supportsRetries)
-
-
Method Details
-
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
-
getTableComment
-
toColumnMapping
public Optional<ColumnMapping> toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) -
getTables
public ResultSet getTables(Connection connection, Optional<String> schemaName, Optional<String> tableName) throws SQLException - Overrides:
getTablesin classBaseJdbcClient- Throws:
SQLException
-
renameTable
public void renameTable(ConnectorSession session, JdbcTableHandle handle, SchemaTableName newTableName) - Specified by:
renameTablein interfaceJdbcClient- Overrides:
renameTablein 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
-
getTableSchemaName
- Overrides:
getTableSchemaNamein classBaseJdbcClient- Throws:
SQLException
-
toWriteMapping
-
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
-