Class ClickHouseRecordHandler
- java.lang.Object
-
- com.amazonaws.athena.connector.lambda.handlers.RecordHandler
-
- com.amazonaws.athena.connectors.jdbc.manager.JdbcRecordHandler
-
- com.amazonaws.athena.connectors.clickhouse.ClickHouseRecordHandler
-
- All Implemented Interfaces:
FederationRequestHandler,com.amazonaws.services.lambda.runtime.RequestStreamHandler
public class ClickHouseRecordHandler extends JdbcRecordHandler
Data handler that reusesMySqlQueryStringBuilderandMySqlFederationExpressionParser. user must have necessary permissions to read from necessary tables.
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringMYSQL_QUOTE_CHARACTER-
Fields inherited from class com.amazonaws.athena.connectors.jdbc.manager.JdbcRecordHandler
queryPassthrough
-
Fields inherited from class com.amazonaws.athena.connector.lambda.handlers.RecordHandler
configOptions
-
-
Constructor Summary
Constructors Constructor Description ClickHouseRecordHandler(DatabaseConnectionConfig databaseConnectionConfig, JdbcConnectionFactory jdbcConnectionFactory, Map<String,String> configOptions)ClickHouseRecordHandler(DatabaseConnectionConfig databaseConnectionConfig, Map<String,String> configOptions)ClickHouseRecordHandler(Map<String,String> configOptions)Instantiates handler to be used by Lambda function directly.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PreparedStatementbuildSplitSql(Connection jdbcConnection, String catalogName, TableName tableName, org.apache.arrow.vector.types.pojo.Schema schema, Constraints constraints, Split split)Builds split SQL string and returns prepared statement.-
Methods inherited from class com.amazonaws.athena.connectors.jdbc.manager.JdbcRecordHandler
buildQueryPassthroughSql, disableCaseSensitivelyLookUpSession, enableCaseSensitivelyLookUpSession, getCredentialProvider, getDatabaseConnectionConfig, getJdbcConnectionFactory, makeExtractor, makeFactory, readWithConstraint
-
Methods inherited from class com.amazonaws.athena.connector.lambda.handlers.RecordHandler
doHandleRequest, doReadRecords, getCachableSecretsManager, getRequestOverrideConfig, getSecret, getSpillConfig, handleRequest, onPing, resolveSecrets, resolveWithDefaultCredentials
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.amazonaws.athena.connector.lambda.handlers.FederationRequestHandler
getAthenaClient, getRequestOverrideConfig, getS3Client, getSessionCredentials
-
-
-
-
Field Detail
-
MYSQL_QUOTE_CHARACTER
protected static final String MYSQL_QUOTE_CHARACTER
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ClickHouseRecordHandler
public ClickHouseRecordHandler(Map<String,String> configOptions)
Instantiates handler to be used by Lambda function directly. Recommend usingMySqlMuxCompositeHandlerinstead.
-
ClickHouseRecordHandler
public ClickHouseRecordHandler(DatabaseConnectionConfig databaseConnectionConfig, Map<String,String> configOptions)
-
ClickHouseRecordHandler
public ClickHouseRecordHandler(DatabaseConnectionConfig databaseConnectionConfig, JdbcConnectionFactory jdbcConnectionFactory, Map<String,String> configOptions)
-
-
Method Detail
-
buildSplitSql
public PreparedStatement buildSplitSql(Connection jdbcConnection, String catalogName, TableName tableName, org.apache.arrow.vector.types.pojo.Schema schema, Constraints constraints, Split split) throws SQLException
Description copied from class:JdbcRecordHandlerBuilds split SQL string and returns prepared statement.- Specified by:
buildSplitSqlin classJdbcRecordHandler- Parameters:
jdbcConnection- jdbc connection. SeeConnectioncatalogName- Athena provided catalog name.tableName- database table name.schema- table schema.constraints- constraints to push down to the database.split- table split.- Returns:
- prepared statement with sql. See
PreparedStatement - Throws:
SQLException- JDBC database exception.
-
-