Class SQLClient

  • All Implemented Interfaces:
    SQLOperations
    Direct Known Subclasses:
    JDBCClient

    public class SQLClient
    extends Object
    implements SQLOperations
    A common asynchronous client interface for interacting with SQL compliant database

    NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.

    • Constructor Detail

      • SQLClient

        public SQLClient​(SQLClient delegate)
      • SQLClient

        public SQLClient​(Object delegate)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • querySingle

        public SQLOperations querySingle​(String sql,
                                         Handler<AsyncResult<JsonArray>> handler)
        Execute a one shot SQL statement that returns a single SQL row. This method will reduce the boilerplate code by getting a connection from the pool (this object) and return it back after the execution. Only the first result from the result set is returned.
        Specified by:
        querySingle in interface SQLOperations
        Parameters:
        sql - the statement to execute
        handler - the result handler
        Returns:
        self
      • querySingle

        public SQLOperations querySingle​(String sql)
        Execute a one shot SQL statement that returns a single SQL row. This method will reduce the boilerplate code by getting a connection from the pool (this object) and return it back after the execution. Only the first result from the result set is returned.
        Specified by:
        querySingle in interface SQLOperations
        Parameters:
        sql - the statement to execute
        Returns:
        self
      • rxQuerySingle

        public io.reactivex.Maybe<JsonArray> rxQuerySingle​(String sql)
        Execute a one shot SQL statement that returns a single SQL row. This method will reduce the boilerplate code by getting a connection from the pool (this object) and return it back after the execution. Only the first result from the result set is returned.
        Specified by:
        rxQuerySingle in interface SQLOperations
        Parameters:
        sql - the statement to execute
        Returns:
        self
      • querySingleWithParams

        public SQLOperations querySingleWithParams​(String sql,
                                                   JsonArray arguments,
                                                   Handler<AsyncResult<JsonArray>> handler)
        Execute a one shot SQL statement with arguments that returns a single SQL row. This method will reduce the boilerplate code by getting a connection from the pool (this object) and return it back after the execution. Only the first result from the result set is returned.
        Specified by:
        querySingleWithParams in interface SQLOperations
        Parameters:
        sql - the statement to execute
        arguments - the arguments
        handler - the result handler
        Returns:
        self
      • querySingleWithParams

        public SQLOperations querySingleWithParams​(String sql,
                                                   JsonArray arguments)
        Execute a one shot SQL statement with arguments that returns a single SQL row. This method will reduce the boilerplate code by getting a connection from the pool (this object) and return it back after the execution. Only the first result from the result set is returned.
        Specified by:
        querySingleWithParams in interface SQLOperations
        Parameters:
        sql - the statement to execute
        arguments - the arguments
        Returns:
        self
      • rxQuerySingleWithParams

        public io.reactivex.Maybe<JsonArray> rxQuerySingleWithParams​(String sql,
                                                                     JsonArray arguments)
        Execute a one shot SQL statement with arguments that returns a single SQL row. This method will reduce the boilerplate code by getting a connection from the pool (this object) and return it back after the execution. Only the first result from the result set is returned.
        Specified by:
        rxQuerySingleWithParams in interface SQLOperations
        Parameters:
        sql - the statement to execute
        arguments - the arguments
        Returns:
        self
      • getConnection

        public SQLClient getConnection​(Handler<AsyncResult<SQLConnection>> handler)
        Returns a connection that can be used to perform SQL operations on. It's important to remember to close the connection when you are done, so it is returned to the pool.
        Parameters:
        handler - the handler which is called when the JdbcConnection object is ready for use.
        Returns:
      • getConnection

        public SQLClient getConnection()
        Returns a connection that can be used to perform SQL operations on. It's important to remember to close the connection when you are done, so it is returned to the pool.
        Returns:
      • rxGetConnection

        public io.reactivex.Single<SQLConnection> rxGetConnection()
        Returns a connection that can be used to perform SQL operations on. It's important to remember to close the connection when you are done, so it is returned to the pool.
        Returns:
      • close

        public void close​(Handler<AsyncResult<Void>> handler)
        Close the client and release all resources. Call the handler when close is complete.
        Parameters:
        handler - the handler that will be called when close is complete
      • rxClose

        public io.reactivex.Completable rxClose()
        Close the client and release all resources. Call the handler when close is complete.
        Returns:
      • close

        public void close()
        Close the client
      • query

        public SQLClient query​(String sql,
                               Handler<AsyncResult<ResultSet>> handler)
        Execute a single SQL statement, this method acquires a connection from the the pool and executes the SQL statement and returns it back after the execution.
        Specified by:
        query in interface SQLOperations
        Parameters:
        sql - the statement to execute
        handler - the result handler
        Returns:
        self
      • query

        public SQLClient query​(String sql)
        Execute a single SQL statement, this method acquires a connection from the the pool and executes the SQL statement and returns it back after the execution.
        Specified by:
        query in interface SQLOperations
        Parameters:
        sql - the statement to execute
        Returns:
        self
      • rxQuery

        public io.reactivex.Single<ResultSet> rxQuery​(String sql)
        Execute a single SQL statement, this method acquires a connection from the the pool and executes the SQL statement and returns it back after the execution.
        Specified by:
        rxQuery in interface SQLOperations
        Parameters:
        sql - the statement to execute
        Returns:
        self
      • queryStream

        public SQLClient queryStream​(String sql,
                                     Handler<AsyncResult<SQLRowStream>> handler)
        Executes the given SQL SELECT statement which returns the results of the query as a read stream.
        Specified by:
        queryStream in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example SELECT * FROM table ....
        handler - the handler which is called once the operation completes. It will return a SQLRowStream.
        Returns:
      • queryStream

        public SQLClient queryStream​(String sql)
        Executes the given SQL SELECT statement which returns the results of the query as a read stream.
        Specified by:
        queryStream in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example SELECT * FROM table ....
        Returns:
      • rxQueryStream

        public io.reactivex.Single<SQLRowStream> rxQueryStream​(String sql)
        Executes the given SQL SELECT statement which returns the results of the query as a read stream.
        Specified by:
        rxQueryStream in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example SELECT * FROM table ....
        Returns:
      • queryStreamWithParams

        public SQLClient queryStreamWithParams​(String sql,
                                               JsonArray params,
                                               Handler<AsyncResult<SQLRowStream>> handler)
        Executes the given SQL SELECT statement which returns the results of the query as a read stream.
        Specified by:
        queryStreamWithParams in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example SELECT * FROM table ....
        params - these are the parameters to fill the statement.
        handler - the handler which is called once the operation completes. It will return a SQLRowStream.
        Returns:
      • queryStreamWithParams

        public SQLClient queryStreamWithParams​(String sql,
                                               JsonArray params)
        Executes the given SQL SELECT statement which returns the results of the query as a read stream.
        Specified by:
        queryStreamWithParams in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example SELECT * FROM table ....
        params - these are the parameters to fill the statement.
        Returns:
      • rxQueryStreamWithParams

        public io.reactivex.Single<SQLRowStream> rxQueryStreamWithParams​(String sql,
                                                                         JsonArray params)
        Executes the given SQL SELECT statement which returns the results of the query as a read stream.
        Specified by:
        rxQueryStreamWithParams in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example SELECT * FROM table ....
        params - these are the parameters to fill the statement.
        Returns:
      • queryWithParams

        public SQLClient queryWithParams​(String sql,
                                         JsonArray arguments,
                                         Handler<AsyncResult<ResultSet>> handler)
        Execute a single SQL prepared statement, this method acquires a connection from the the pool and executes the SQL prepared statement and returns it back after the execution.
        Specified by:
        queryWithParams in interface SQLOperations
        Parameters:
        sql - the statement to execute
        arguments - the arguments to the statement
        handler - the result handler
        Returns:
        self
      • queryWithParams

        public SQLClient queryWithParams​(String sql,
                                         JsonArray arguments)
        Execute a single SQL prepared statement, this method acquires a connection from the the pool and executes the SQL prepared statement and returns it back after the execution.
        Specified by:
        queryWithParams in interface SQLOperations
        Parameters:
        sql - the statement to execute
        arguments - the arguments to the statement
        Returns:
        self
      • rxQueryWithParams

        public io.reactivex.Single<ResultSet> rxQueryWithParams​(String sql,
                                                                JsonArray arguments)
        Execute a single SQL prepared statement, this method acquires a connection from the the pool and executes the SQL prepared statement and returns it back after the execution.
        Specified by:
        rxQueryWithParams in interface SQLOperations
        Parameters:
        sql - the statement to execute
        arguments - the arguments to the statement
        Returns:
        self
      • update

        public SQLClient update​(String sql,
                                Handler<AsyncResult<UpdateResult>> handler)
        Executes the given SQL statement which may be an INSERT, UPDATE, or DELETE statement.
        Specified by:
        update in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example INSERT INTO table ...
        handler - the handler which is called once the operation completes.
        Returns:
      • update

        public SQLClient update​(String sql)
        Executes the given SQL statement which may be an INSERT, UPDATE, or DELETE statement.
        Specified by:
        update in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example INSERT INTO table ...
        Returns:
      • rxUpdate

        public io.reactivex.Single<UpdateResult> rxUpdate​(String sql)
        Executes the given SQL statement which may be an INSERT, UPDATE, or DELETE statement.
        Specified by:
        rxUpdate in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example INSERT INTO table ...
        Returns:
      • updateWithParams

        public SQLClient updateWithParams​(String sql,
                                          JsonArray params,
                                          Handler<AsyncResult<UpdateResult>> handler)
        Executes the given prepared statement which may be an INSERT, UPDATE, or DELETE statement with the given parameters
        Specified by:
        updateWithParams in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example INSERT INTO table ...
        params - these are the parameters to fill the statement.
        handler - the handler which is called once the operation completes.
        Returns:
      • updateWithParams

        public SQLClient updateWithParams​(String sql,
                                          JsonArray params)
        Executes the given prepared statement which may be an INSERT, UPDATE, or DELETE statement with the given parameters
        Specified by:
        updateWithParams in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example INSERT INTO table ...
        params - these are the parameters to fill the statement.
        Returns:
      • rxUpdateWithParams

        public io.reactivex.Single<UpdateResult> rxUpdateWithParams​(String sql,
                                                                    JsonArray params)
        Executes the given prepared statement which may be an INSERT, UPDATE, or DELETE statement with the given parameters
        Specified by:
        rxUpdateWithParams in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example INSERT INTO table ...
        params - these are the parameters to fill the statement.
        Returns:
      • call

        public SQLClient call​(String sql,
                              Handler<AsyncResult<ResultSet>> handler)
        Calls the given SQL PROCEDURE which returns the result from the procedure.
        Specified by:
        call in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example {call getEmpName}.
        handler - the handler which is called once the operation completes. It will return a ResultSet.
        Returns:
      • call

        public SQLClient call​(String sql)
        Calls the given SQL PROCEDURE which returns the result from the procedure.
        Specified by:
        call in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example {call getEmpName}.
        Returns:
      • rxCall

        public io.reactivex.Single<ResultSet> rxCall​(String sql)
        Calls the given SQL PROCEDURE which returns the result from the procedure.
        Specified by:
        rxCall in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example {call getEmpName}.
        Returns:
      • callWithParams

        public SQLClient callWithParams​(String sql,
                                        JsonArray params,
                                        JsonArray outputs,
                                        Handler<AsyncResult<ResultSet>> handler)
        Calls the given SQL PROCEDURE which returns the result from the procedure. The index of params and outputs are important for both arrays, for example when dealing with a prodecure that takes the first 2 arguments as input values and the 3 arg as an output then the arrays should be like:
           params = [VALUE1, VALUE2, null]
           outputs = [null, null, "VARCHAR"]
         
        Specified by:
        callWithParams in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example {call getEmpName (?, ?)}.
        params - these are the parameters to fill the statement.
        outputs - these are the outputs to fill the statement.
        handler - the handler which is called once the operation completes. It will return a ResultSet.
        Returns:
      • callWithParams

        public SQLClient callWithParams​(String sql,
                                        JsonArray params,
                                        JsonArray outputs)
        Calls the given SQL PROCEDURE which returns the result from the procedure. The index of params and outputs are important for both arrays, for example when dealing with a prodecure that takes the first 2 arguments as input values and the 3 arg as an output then the arrays should be like:
           params = [VALUE1, VALUE2, null]
           outputs = [null, null, "VARCHAR"]
         
        Specified by:
        callWithParams in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example {call getEmpName (?, ?)}.
        params - these are the parameters to fill the statement.
        outputs - these are the outputs to fill the statement.
        Returns:
      • rxCallWithParams

        public io.reactivex.Single<ResultSet> rxCallWithParams​(String sql,
                                                               JsonArray params,
                                                               JsonArray outputs)
        Calls the given SQL PROCEDURE which returns the result from the procedure. The index of params and outputs are important for both arrays, for example when dealing with a prodecure that takes the first 2 arguments as input values and the 3 arg as an output then the arrays should be like:
           params = [VALUE1, VALUE2, null]
           outputs = [null, null, "VARCHAR"]
         
        Specified by:
        rxCallWithParams in interface SQLOperations
        Parameters:
        sql - the SQL to execute. For example {call getEmpName (?, ?)}.
        params - these are the parameters to fill the statement.
        outputs - these are the outputs to fill the statement.
        Returns: