Class OracleMetadataHandler

  • All Implemented Interfaces:
    FederationRequestHandler, com.amazonaws.services.lambda.runtime.RequestStreamHandler

    public class OracleMetadataHandler
    extends JdbcMetadataHandler
    Handles metadata for ORACLE. User must have access to `schemata`, `tables`, `columns`, `partitions` tables in information_schema.
    • Method Detail

      • getPartitionSchema

        public org.apache.arrow.vector.types.pojo.Schema getPartitionSchema​(String catalogName)
        Description copied from class: JdbcMetadataHandler
        Delegates creation of partition schema to database type implementation.
        Specified by:
        getPartitionSchema in class JdbcMetadataHandler
        Parameters:
        catalogName - Athena provided catalog name.
        Returns:
        schema. See Schema
      • getPartitions

        public void getPartitions​(BlockWriter blockWriter,
                                  GetTableLayoutRequest getTableLayoutRequest,
                                  QueryStatusChecker queryStatusChecker)
                           throws Exception
        If it is a table with no partition, then data will be fetched with single split. If it is a partitioned table, we are fetching the partition info and creating splits equals to the number of partitions for parallel processing.
        Specified by:
        getPartitions in class JdbcMetadataHandler
        Parameters:
        blockWriter -
        getTableLayoutRequest -
        queryStatusChecker -
        Throws:
        Exception
      • getSchema

        protected org.apache.arrow.vector.types.pojo.Schema getSchema​(Connection jdbcConnection,
                                                                      TableName tableName,
                                                                      org.apache.arrow.vector.types.pojo.Schema partitionSchema,
                                                                      software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration requestOverrideConfiguration)
                                                               throws Exception
        Description copied from class: JdbcMetadataHandler
        Gets the schema for a table with optional request override configuration.
        Overrides:
        getSchema in class JdbcMetadataHandler
        Parameters:
        jdbcConnection -
        tableName -
        partitionSchema -
        requestOverrideConfiguration - optional AWS request override configuration for credential federation
        Returns:
        Throws:
        Exception
      • createCredentialsProvider

        public CredentialsProvider createCredentialsProvider​(String secretName,
                                                             software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration requestOverrideConfiguration)
        Description copied from interface: FederationRequestHandler
        Factory method to create CredentialsProvider. Subclasses can override this to provide custom credential provider implementations (e.g., SnowflakeCredentialsProvider).
        Parameters:
        secretName - The secret name to retrieve credentials from
        requestOverrideConfiguration - Optional AWS request override configuration
        Returns:
        CredentialsProvider instance