Package io.trino.plugin.postgresql
Class PostgreSqlClient
java.lang.Object
io.trino.plugin.jdbc.BaseJdbcClient
io.trino.plugin.postgresql.PostgreSqlClient
- 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
ConstructorsConstructorDescriptionPostgreSqlClient(BaseJdbcConfig config, PostgreSqlConfig postgreSqlConfig, JdbcStatisticsConfig statisticsConfig, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, TypeManager typeManager, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier) -
Method Summary
Modifier and TypeMethodDescriptionconvertPredicate(ConnectorSession session, ConnectorExpression expression, Map<String, ColumnHandle> assignments) voidcreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata) createTableSqls(RemoteTableName remoteTableName, List<String> columns, ConnectorTableMetadata tableMetadata) delete(ConnectorSession session, JdbcTableHandle handle) getColumns(ConnectorSession session, JdbcTableHandle tableHandle) getPreparedStatement(Connection connection, String sql, Optional<Integer> columnCount) getSupportedType(ConnectorSession session, Type type) 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) protected static booleanisCollatable(JdbcColumnHandle column) booleanisLimitGuaranteed(ConnectorSession session) protected booleanisSupportedJoinCondition(ConnectorSession session, JdbcJoinCondition joinCondition) booleanisTopNGuaranteed(ConnectorSession session) protected Optional<BiFunction<String,Long, String>> 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) 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) protected voidverifyColumnName(DatabaseMetaData databaseMetadata, String columnName) protected voidverifySchemaName(DatabaseMetaData databaseMetadata, String schemaName) protected voidverifyTableName(DatabaseMetaData databaseMetadata, String tableName) Methods inherited from class io.trino.plugin.jdbc.BaseJdbcClient
addColumn, addColumn, applyQueryTransformations, beginCreateTable, beginInsertTable, buildInsertSql, buildProcedure, buildSql, commitCreateTable, copyTableSchema, createSchema, createSchema, createTable, createTable, createTableSql, dropColumn, dropSchema, dropSchema, dropTable, dropTable, escapeObjectNameForMetadataQuery, escapeObjectNameForMetadataQuery, execute, execute, filterSchema, finishInsertTable, getAdditionalPredicate, getCaseSensitivityForColumns, getColumnDefinitionSql, getColumns, getColumns, getConnection, getConnection, getConnection, getForcedMappingToVarchar, getIdentifierMapping, getInteger, getMaxWriteParallelism, getProcedureHandle, getRemoteIdentifiers, getSchemaNames, getSplits, getSplits, getTableHandle, getTableHandle, getTableNames, getTableProperties, getTables, getTableSchemaName, getTableStatistics, listSchemas, mapToUnboundedVarchar, postProcessInsertTableNameClause, prepareQuery, prepareQuery, preventTextualTypeAggregationPushdown, quoted, quoted, quoted, renameColumn, renameColumn, renameSchema, renameSchema, renameTable, renameTable, rollbackCreateTable, setColumnType, supportsLimit, supportsRetries, toColumnMappings, truncateTable, varcharLiteralMethods 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, getSystemTable, getTableComment, getTableScanRedirection, schemaExists, setTableProperties
-
Constructor Details
-
PostgreSqlClient
@Inject public PostgreSqlClient(BaseJdbcConfig config, PostgreSqlConfig postgreSqlConfig, JdbcStatisticsConfig statisticsConfig, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, TypeManager typeManager, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier)
-
-
Method Details
-
createTable
- Specified by:
createTablein interfaceJdbcClient- Overrides:
createTablein classBaseJdbcClient
-
createTableSqls
protected List<String> createTableSqls(RemoteTableName remoteTableName, List<String> columns, ConnectorTableMetadata tableMetadata) - Overrides:
createTableSqlsin classBaseJdbcClient
-
setTableComment
public void setTableComment(ConnectorSession session, JdbcTableHandle handle, Optional<String> comment) -
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
-
getPreparedStatement
public PreparedStatement getPreparedStatement(Connection connection, String sql, Optional<Integer> columnCount) throws SQLException - Specified by:
getPreparedStatementin interfaceJdbcClient- Overrides:
getPreparedStatementin classBaseJdbcClient- Throws:
SQLException
-
getTableTypes
- Overrides:
getTableTypesin classBaseJdbcClient
-
getColumns
- Specified by:
getColumnsin interfaceJdbcClient- Overrides:
getColumnsin classBaseJdbcClient
-
toColumnMapping
public Optional<ColumnMapping> toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) -
getSupportedType
-
toWriteMapping
-
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) -
convertPredicate
public Optional<ParameterizedExpression> convertPredicate(ConnectorSession session, ConnectorExpression expression, Map<String, ColumnHandle> assignments) -
supportsTopN
public boolean supportsTopN(ConnectorSession session, JdbcTableHandle handle, List<JdbcSortItem> sortOrder) - Specified by:
supportsTopNin interfaceJdbcClient- Overrides:
supportsTopNin classBaseJdbcClient
-
topNFunction
- Overrides:
topNFunctionin classBaseJdbcClient
-
isCollatable
-
isTopNGuaranteed
- Specified by:
isTopNGuaranteedin interfaceJdbcClient- Overrides:
isTopNGuaranteedin classBaseJdbcClient
-
limitFunction
- Overrides:
limitFunctionin classBaseJdbcClient
-
isLimitGuaranteed
- Specified by:
isLimitGuaranteedin interfaceJdbcClient- Overrides:
isLimitGuaranteedin classBaseJdbcClient
-
delete
- Specified by:
deletein interfaceJdbcClient- Overrides:
deletein classBaseJdbcClient
-
getTableStatistics
-
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
-
verifySchemaName
protected void verifySchemaName(DatabaseMetaData databaseMetadata, String schemaName) throws SQLException - Overrides:
verifySchemaNamein classBaseJdbcClient- Throws:
SQLException
-
verifyTableName
protected void verifyTableName(DatabaseMetaData databaseMetadata, String tableName) throws SQLException - Overrides:
verifyTableNamein classBaseJdbcClient- Throws:
SQLException
-
verifyColumnName
protected void verifyColumnName(DatabaseMetaData databaseMetadata, String columnName) throws SQLException - Overrides:
verifyColumnNamein classBaseJdbcClient- Throws:
SQLException
-
setColumnComment
public void setColumnComment(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Optional<String> comment)
-