Package io.trino.plugin.sqlserver
Class SqlServerClient
- java.lang.Object
-
- io.trino.plugin.jdbc.BaseJdbcClient
-
- io.trino.plugin.sqlserver.SqlServerClient
-
- All Implemented Interfaces:
JdbcClient
public class SqlServerClient extends BaseJdbcClient
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.trino.plugin.jdbc.BaseJdbcClient
BaseJdbcClient.TopNFunction
-
-
Field Summary
Fields Modifier and Type Field Description static JdbcTypeHandleBIGINT_TYPEstatic intSQL_SERVER_MAX_LIST_EXPRESSIONS-
Fields inherited from class io.trino.plugin.jdbc.BaseJdbcClient
connectionFactory, identifierQuote, jdbcTypesMappedToVarchar
-
-
Constructor Summary
Constructors Constructor Description SqlServerClient(BaseJdbcConfig config, SqlServerConfig sqlServerConfig, ConnectionFactory connectionFactory, IdentifierMapping identifierMapping)
-
Method Summary
-
Methods inherited from class io.trino.plugin.jdbc.BaseJdbcClient
addColumn, applyQueryTransformations, beginCreateTable, beginInsertTable, buildInsertSql, buildInsertSql, buildSql, commitCreateTable, createSchema, createSchemaSql, createTable, createTable, delete, dropColumn, dropSchema, dropSchemaSql, dropTable, escapeNamePattern, execute, execute, filterSchema, finishInsertTable, generateTemporaryTableName, getColumnDefinitionSql, getColumns, getColumns, getForcedMappingToVarchar, getIdentifierMapping, getInteger, getPreparedStatement, getSchemaNames, getSplits, getTableHandle, getTableNames, getTables, getTableSchemaName, getTableStatistics, getTableTypes, implementJoin, listSchemas, mapToUnboundedVarchar, prepareQuery, prepareQuery, preventTextualTypeAggregationPushdown, quoted, quoted, quoted, renameTable, rollbackCreateTable, supportsLimit, toColumnMappings, truncateTable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.trino.plugin.jdbc.JdbcClient
getSystemTable, getTableScanRedirection, schemaExists, setColumnComment, setTableProperties
-
-
-
-
Field Detail
-
SQL_SERVER_MAX_LIST_EXPRESSIONS
public static final int SQL_SERVER_MAX_LIST_EXPRESSIONS
- See Also:
- Constant Field Values
-
BIGINT_TYPE
public static final JdbcTypeHandle BIGINT_TYPE
-
-
Constructor Detail
-
SqlServerClient
@Inject public SqlServerClient(BaseJdbcConfig config, SqlServerConfig sqlServerConfig, ConnectionFactory connectionFactory, IdentifierMapping identifierMapping)
-
-
Method Detail
-
renameTable
protected void renameTable(ConnectorSession session, String catalogName, String schemaName, String tableName, SchemaTableName newTable)
- Overrides:
renameTablein classBaseJdbcClient
-
renameColumn
public void renameColumn(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle jdbcColumn, String newColumnName)
- Specified by:
renameColumnin interfaceJdbcClient- Overrides:
renameColumnin classBaseJdbcClient
-
copyTableSchema
protected void copyTableSchema(Connection connection, String catalogName, String schemaName, String tableName, String newTableName, List<String> columnNames)
- Overrides:
copyTableSchemain classBaseJdbcClient
-
toColumnMapping
public Optional<ColumnMapping> toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle)
-
toWriteMapping
public WriteMapping toWriteMapping(ConnectorSession session, Type type)
-
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)
-
limitFunction
protected Optional<BiFunction<String,Long,String>> limitFunction()
- Overrides:
limitFunctionin classBaseJdbcClient
-
isLimitGuaranteed
public boolean isLimitGuaranteed(ConnectorSession session)
- 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
protected Optional<BaseJdbcClient.TopNFunction> topNFunction()
- Overrides:
topNFunctionin classBaseJdbcClient
-
isTopNGuaranteed
public boolean isTopNGuaranteed(ConnectorSession session)
- Specified by:
isTopNGuaranteedin interfaceJdbcClient- Overrides:
isTopNGuaranteedin classBaseJdbcClient
-
isSupportedJoinCondition
protected boolean isSupportedJoinCondition(JdbcJoinCondition joinCondition)
- Overrides:
isSupportedJoinConditionin classBaseJdbcClient
-
createTableSql
protected String createTableSql(RemoteTableName remoteTableName, List<String> columns, ConnectorTableMetadata tableMetadata)
- Overrides:
createTableSqlin classBaseJdbcClient
-
getTableProperties
public Map<String,Object> getTableProperties(ConnectorSession session, JdbcTableHandle tableHandle)
- Specified by:
getTablePropertiesin interfaceJdbcClient- Overrides:
getTablePropertiesin classBaseJdbcClient
-
abortReadConnection
public void abortReadConnection(Connection connection, ResultSet resultSet) throws SQLException
- Throws:
SQLException
-
getConnection
public Connection getConnection(ConnectorSession session, JdbcOutputTableHandle handle) throws SQLException
- Specified by:
getConnectionin interfaceJdbcClient- Overrides:
getConnectionin classBaseJdbcClient- Throws:
SQLException
-
getConnection
public Connection getConnection(ConnectorSession session, JdbcSplit split) throws SQLException
- Specified by:
getConnectionin interfaceJdbcClient- Overrides:
getConnectionin classBaseJdbcClient- Throws:
SQLException
-
varbinaryColumnMapping
public static ColumnMapping varbinaryColumnMapping()
-
varbinaryWriteFunction
public static SliceWriteFunction varbinaryWriteFunction()
-
-