Class JDBCAdapter

  • All Implemented Interfaces:
    com.exasol.adapter.VirtualSchemaAdapter, AutoCloseable

    public class JDBCAdapter
    extends Object
    implements com.exasol.adapter.VirtualSchemaAdapter
    This class implements main logic for different types of requests a virtual schema JDBC adapter can receive.
    • Constructor Summary

      Constructors 
      Constructor Description
      JDBCAdapter​(SqlDialectFactory sqlDialectFactory, com.exasol.adapter.AdapterContext adapterContext)
      Construct a new instance of JDBCAdapter
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      com.exasol.adapter.response.CreateVirtualSchemaResponse createVirtualSchema​(com.exasol.ExaMetadata exasolMetadata, com.exasol.adapter.request.CreateVirtualSchemaRequest request)  
      com.exasol.adapter.response.DropVirtualSchemaResponse dropVirtualSchema​(com.exasol.ExaMetadata metadata, com.exasol.adapter.request.DropVirtualSchemaRequest request)  
      com.exasol.adapter.response.GetCapabilitiesResponse getCapabilities​(com.exasol.ExaMetadata exaMetadata, com.exasol.adapter.request.GetCapabilitiesRequest request)  
      protected static com.exasol.adapter.AdapterProperties getPropertiesFromRequest​(com.exasol.adapter.request.AdapterRequest request)
      Build AdapterProperties from AdapterRequest instance.
      protected void logCreateVirtualSchemaRequestReceived​(com.exasol.adapter.request.CreateVirtualSchemaRequest request)
      Log a create virtual schema request.
      protected void logDropVirtualSchemaRequestReceived​(com.exasol.adapter.request.DropVirtualSchemaRequest request)
      Log drop virtual schema request.
      com.exasol.adapter.response.PushDownResponse pushdown​(com.exasol.ExaMetadata exaMetadata, com.exasol.adapter.request.PushDownRequest request)  
      com.exasol.adapter.response.RefreshResponse refresh​(com.exasol.ExaMetadata metadata, com.exasol.adapter.request.RefreshRequest request)  
      com.exasol.adapter.response.SetPropertiesResponse setProperties​(com.exasol.ExaMetadata metadata, com.exasol.adapter.request.SetPropertiesRequest request)  
    • Field Detail

      • connectionFactory

        protected RemoteConnectionFactory connectionFactory
        Connection factory used to get and cache jdbc connection.
    • Constructor Detail

      • JDBCAdapter

        public JDBCAdapter​(SqlDialectFactory sqlDialectFactory,
                           com.exasol.adapter.AdapterContext adapterContext)
        Construct a new instance of JDBCAdapter
        Parameters:
        sqlDialectFactory - SqlDialectFactory for creating SqlDialect
        adapterContext - context for the adapter
    • Method Detail

      • createVirtualSchema

        public com.exasol.adapter.response.CreateVirtualSchemaResponse createVirtualSchema​(com.exasol.ExaMetadata exasolMetadata,
                                                                                           com.exasol.adapter.request.CreateVirtualSchemaRequest request)
                                                                                    throws com.exasol.adapter.AdapterException
        Specified by:
        createVirtualSchema in interface com.exasol.adapter.VirtualSchemaAdapter
        Throws:
        com.exasol.adapter.AdapterException
      • logCreateVirtualSchemaRequestReceived

        protected void logCreateVirtualSchemaRequestReceived​(com.exasol.adapter.request.CreateVirtualSchemaRequest request)
        Log a create virtual schema request.
        Parameters:
        request - create request
      • getPropertiesFromRequest

        protected static com.exasol.adapter.AdapterProperties getPropertiesFromRequest​(com.exasol.adapter.request.AdapterRequest request)
        Build AdapterProperties from AdapterRequest instance.
        Parameters:
        request - request to use
        Returns:
        adapter properties
      • dropVirtualSchema

        public com.exasol.adapter.response.DropVirtualSchemaResponse dropVirtualSchema​(com.exasol.ExaMetadata metadata,
                                                                                       com.exasol.adapter.request.DropVirtualSchemaRequest request)
        Specified by:
        dropVirtualSchema in interface com.exasol.adapter.VirtualSchemaAdapter
      • logDropVirtualSchemaRequestReceived

        protected void logDropVirtualSchemaRequestReceived​(com.exasol.adapter.request.DropVirtualSchemaRequest request)
        Log drop virtual schema request.
        Parameters:
        request - drop request
      • refresh

        public com.exasol.adapter.response.RefreshResponse refresh​(com.exasol.ExaMetadata metadata,
                                                                   com.exasol.adapter.request.RefreshRequest request)
                                                            throws com.exasol.adapter.AdapterException
        Specified by:
        refresh in interface com.exasol.adapter.VirtualSchemaAdapter
        Throws:
        com.exasol.adapter.AdapterException
      • setProperties

        public com.exasol.adapter.response.SetPropertiesResponse setProperties​(com.exasol.ExaMetadata metadata,
                                                                               com.exasol.adapter.request.SetPropertiesRequest request)
                                                                        throws com.exasol.adapter.AdapterException
        Specified by:
        setProperties in interface com.exasol.adapter.VirtualSchemaAdapter
        Throws:
        com.exasol.adapter.AdapterException
      • getCapabilities

        public com.exasol.adapter.response.GetCapabilitiesResponse getCapabilities​(com.exasol.ExaMetadata exaMetadata,
                                                                                   com.exasol.adapter.request.GetCapabilitiesRequest request)
                                                                            throws com.exasol.adapter.AdapterException
        Specified by:
        getCapabilities in interface com.exasol.adapter.VirtualSchemaAdapter
        Throws:
        com.exasol.adapter.AdapterException
      • pushdown

        public com.exasol.adapter.response.PushDownResponse pushdown​(com.exasol.ExaMetadata exaMetadata,
                                                                     com.exasol.adapter.request.PushDownRequest request)
                                                              throws com.exasol.adapter.AdapterException
        Specified by:
        pushdown in interface com.exasol.adapter.VirtualSchemaAdapter
        Throws:
        com.exasol.adapter.AdapterException
      • close

        public void close()
        Specified by:
        close in interface AutoCloseable
        Specified by:
        close in interface com.exasol.adapter.VirtualSchemaAdapter