Class SqlServerMetadataHandler

    • 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
      • doGetDataSourceCapabilities

        public GetDataSourceCapabilitiesResponse doGetDataSourceCapabilities​(BlockAllocator allocator,
                                                                             GetDataSourceCapabilitiesRequest request)
        Description copied from class: MetadataHandler
        Used to describe the types of capabilities supported by a data source. An engine can use this to determine what portions of the query to push down. A connector that returns any optimization will guarantee that the associated predicate will be pushed down.
        Overrides:
        doGetDataSourceCapabilities in class MetadataHandler
        Parameters:
        allocator - Tool for creating and managing Apache Arrow Blocks.
        request - Provides details about the catalog being used.
        Returns:
        A GetDataSourceCapabilitiesResponse object which returns a map of supported optimizations that the connector is advertising to the consumer. The connector assumes all responsibility for whatever is passed here.
      • getPartitions

        public void getPartitions​(BlockWriter blockWriter,
                                  GetTableLayoutRequest getTableLayoutRequest,
                                  QueryStatusChecker queryStatusChecker)
                           throws Exception
        Check whether input table is a view or not. If it's a view, it will not have any partition info and data will be fetched with single split.If it's a table with no partition, then data will be fetched with single split. If it's 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
        Appropriate datatype to arrow type conversions will be done by fetching data types of columns
        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