Interface Handler

  • All Known Implementing Classes:
    HandlerImpl

    public interface Handler
    Called at various points in the JDBC lifecycle.

    Most drivers will use HandlerImpl, which provides no-op implementations of all methods. You only need to override methods if you need to achieve special effects.

    • Method Detail

      • onConnectionInit

        void onConnectionInit​(AvaticaConnection connection)
                       throws java.sql.SQLException
        Called by container when a connection is being created.

        If the implementation of this method throws, the connection will not be created.

        Parameters:
        connection - Connection
        Throws:
        java.sql.SQLException - on error
      • onConnectionClose

        void onConnectionClose​(AvaticaConnection connection)
        Called by container when a connection is being closed.

        If the implementation of this method throws, the call to Connection.close() that triggered this method will throw an exception, but the connection will still be marked closed.

        Parameters:
        connection - Connection
      • onStatementExecute

        void onStatementExecute​(AvaticaStatement statement,
                                Handler.ResultSink resultSink)
        Called by container when a statement is being executed.

        If the session would like the statement results stored in a temporary table, resultSink is not null. The provider must call its Handler.ResultSink.toBeCompleted() method at some point during execution (not necessarily before the call to this method returns).

        Parameters:
        statement - Statement
        resultSink - Place to put result of query. Null if container does not want results stored to a temporary table
        Throws:
        java.lang.RuntimeException - on error
      • onStatementClose

        void onStatementClose​(AvaticaStatement statement)
        Called by container when a statement is being closed.

        This method is called after marking the statement closed, and after closing any open ResultSet objects.

        If the implementation of this method throws, the call to Statement.close() that triggered this method will throw an exception, but the statement will still be marked closed.

        Parameters:
        statement - Statement
        Throws:
        java.lang.RuntimeException - on error