Package io.trino.plugin.phoenix5
Class PhoenixClient
java.lang.Object
io.trino.plugin.jdbc.BaseJdbcClient
io.trino.plugin.phoenix5.PhoenixClient
- All Implemented Interfaces:
JdbcClient
-
Nested Class Summary
Nested classes/interfaces inherited from class io.trino.plugin.jdbc.BaseJdbcClient
BaseJdbcClient.TopNFunction -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final Stringstatic final Stringstatic final JdbcColumnHandleFields inherited from class io.trino.plugin.jdbc.BaseJdbcClient
connectionFactory, identifierQuote, jdbcTypesMappedToVarchar, queryBuilder, queryModifier -
Constructor Summary
ConstructorsConstructorDescriptionPhoenixClient(PhoenixConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier) -
Method Summary
Modifier and TypeMethodDescriptionbeginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata) buildInsertSql(JdbcOutputTableHandle handle, List<WriteFunction> columnWriters) buildPlainTable(JdbcTableHandle handle) buildSql(ConnectorSession session, Connection connection, JdbcSplit split, JdbcTableHandle table, List<JdbcColumnHandle> columnHandles) convertPredicate(ConnectorSession session, ConnectorExpression expression, Map<String, ColumnHandle> assignments) voidexecute(ConnectorSession session, String statement) protected ResultSetgetColumns(JdbcTableHandle handle, DatabaseMetaData metadata) getConnection(ConnectorSession session) org.apache.hadoop.hbase.client.ConnectiongetPrimaryKeyColumnHandles(ConnectorSession session, JdbcTableHandle tableHandle) org.apache.phoenix.compile.QueryPlangetQueryPlan(org.apache.phoenix.jdbc.PhoenixPreparedStatement inputQuery) getTableComment(ResultSet resultSet) getTableProperties(ConnectorSession session, JdbcTableHandle handle) protected StringgetTableSchemaName(ResultSet resultSet) booleanisLimitGuaranteed(ConnectorSession session) booleanisTopNGuaranteed(ConnectorSession session) protected Optional<BiFunction<String,Long, String>> listSchemas(Connection connection) prepareStatement(ConnectorSession session, Connection connection, JdbcTableHandle table, List<JdbcColumnHandle> columns, Optional<JdbcSplit> split) voidrenameSchema(ConnectorSession session, String schemaName, String newSchemaName) protected voidrenameTable(ConnectorSession session, String catalogName, String schemaName, String tableName, SchemaTableName newTable) voidsetColumnType(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Type type) booleansupportsTopN(ConnectorSession session, JdbcTableHandle handle, List<JdbcSortItem> sortOrder) toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) protected Optional<BaseJdbcClient.TopNFunction>toWriteMapping(ConnectorSession session, Type type) updatedScanColumnTable(ConnectorSession session, ConnectorTableHandle table, Optional<List<JdbcColumnHandle>> originalColumns, JdbcColumnHandle mergeRowIdColumnHandle) Methods inherited from class io.trino.plugin.jdbc.BaseJdbcClient
addColumn, addColumn, applyQueryTransformations, beginInsertTable, buildProcedure, commitCreateTable, copyTableSchema, createSchema, createSchema, createTable, createTable, createTable, createTableSql, createTableSqls, delete, dropColumn, dropSchema, dropSchema, dropTable, dropTable, escapeObjectNameForMetadataQuery, escapeObjectNameForMetadataQuery, execute, filterSchema, finishInsertTable, getAdditionalPredicate, getCaseSensitivityForColumns, getColumnDefinitionSql, getColumns, getColumns, getConnection, getConnection, getConnection, getForcedMappingToVarchar, getIdentifierMapping, getInteger, getMaxWriteParallelism, getPreparedStatement, getProcedureHandle, getSchemaNames, getSplits, getSplits, getTableHandle, getTableHandle, getTableNames, getTableStatistics, getTableTypes, implementJoin, isSupportedJoinCondition, mapToUnboundedVarchar, postProcessInsertTableNameClause, prepareQuery, prepareQuery, preventTextualTypeAggregationPushdown, quoted, quoted, quoted, renameColumn, 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, getSystemTable, getTableScanRedirection, getTableStatistics, implementAggregation, schemaExists, setColumnComment, setTableComment, setTableProperties, supportsAggregationPushdown
-
Field Details
-
MERGE_ROW_ID_COLUMN_NAME
- See Also:
-
ROWKEY
- See Also:
-
ROWKEY_COLUMN_HANDLE
-
DEFAULT_DOMAIN_COMPACTION_THRESHOLD
public static final int DEFAULT_DOMAIN_COMPACTION_THRESHOLD- See Also:
-
-
Constructor Details
-
PhoenixClient
@Inject public PhoenixClient(PhoenixConfig config, ConnectionFactory connectionFactory, QueryBuilder queryBuilder, IdentifierMapping identifierMapping, RemoteQueryModifier queryModifier) throws SQLException - Throws:
SQLException
-
-
Method Details
-
convertPredicate
public Optional<ParameterizedExpression> convertPredicate(ConnectorSession session, ConnectorExpression expression, Map<String, ColumnHandle> assignments) -
getConnection
- Throws:
SQLException
-
getHConnection
- Throws:
IOException
-
execute
- Overrides:
executein classBaseJdbcClient
-
listSchemas
- Overrides:
listSchemasin classBaseJdbcClient
-
buildSql
public PreparedStatement buildSql(ConnectorSession session, Connection connection, JdbcSplit split, JdbcTableHandle table, List<JdbcColumnHandle> columnHandles) throws SQLException - Specified by:
buildSqlin interfaceJdbcClient- Overrides:
buildSqlin classBaseJdbcClient- Throws:
SQLException
-
prepareStatement
public PreparedStatement prepareStatement(ConnectorSession session, Connection connection, JdbcTableHandle table, List<JdbcColumnHandle> columns, Optional<JdbcSplit> split) throws SQLException - Throws:
SQLException
-
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
-
limitFunction
- Overrides:
limitFunctionin classBaseJdbcClient
-
isLimitGuaranteed
- Specified by:
isLimitGuaranteedin interfaceJdbcClient- Overrides:
isLimitGuaranteedin classBaseJdbcClient
-
buildInsertSql
- Specified by:
buildInsertSqlin interfaceJdbcClient- Overrides:
buildInsertSqlin 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
-
getColumns
protected ResultSet getColumns(JdbcTableHandle handle, DatabaseMetaData metadata) throws SQLException - Overrides:
getColumnsin classBaseJdbcClient- Throws:
SQLException
-
toColumnMapping
public Optional<ColumnMapping> toColumnMapping(ConnectorSession session, Connection connection, JdbcTypeHandle typeHandle) -
toWriteMapping
-
getTableComment
-
beginCreateTable
public JdbcOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata) - Specified by:
beginCreateTablein interfaceJdbcClient- Overrides:
beginCreateTablein classBaseJdbcClient
-
renameTable
protected void renameTable(ConnectorSession session, String catalogName, String schemaName, String tableName, SchemaTableName newTable) - Overrides:
renameTablein classBaseJdbcClient
-
renameSchema
- Specified by:
renameSchemain interfaceJdbcClient- Overrides:
renameSchemain classBaseJdbcClient
-
getTableProperties
- Specified by:
getTablePropertiesin interfaceJdbcClient- Overrides:
getTablePropertiesin classBaseJdbcClient
-
setColumnType
public void setColumnType(ConnectorSession session, JdbcTableHandle handle, JdbcColumnHandle column, Type type) - Specified by:
setColumnTypein interfaceJdbcClient- Overrides:
setColumnTypein classBaseJdbcClient
-
getQueryPlan
public org.apache.phoenix.compile.QueryPlan getQueryPlan(org.apache.phoenix.jdbc.PhoenixPreparedStatement inputQuery) -
buildPlainTable
-
updatedScanColumnTable
public JdbcTableHandle updatedScanColumnTable(ConnectorSession session, ConnectorTableHandle table, Optional<List<JdbcColumnHandle>> originalColumns, JdbcColumnHandle mergeRowIdColumnHandle) -
getPrimaryKeyColumnHandles
public List<JdbcColumnHandle> getPrimaryKeyColumnHandles(ConnectorSession session, JdbcTableHandle tableHandle)
-