Class StatementWrapper40

    • Field Detail

      • localStrings

        protected static final StringManager localStrings
    • Constructor Detail

      • StatementWrapper40

        public StatementWrapper40​(Connection con,
                                  Statement statement)
        Creates a new instance of StatementWrapper for JDBC 3.0
        Parameters:
        con - ConnectionWrapper
        statement - Statement that is to be wrapped
    • Method Detail

      • isClosed

        public boolean isClosed()
                         throws SQLException
        Retrieves whether this Statement object has been closed. A Statement is closed if the method close has been called on it, or if it is automatically closed.
        Returns:
        true if this Statement object is closed; false if it is still open
        Throws:
        SQLException - if a database access error occurs
        Since:
        1.6
      • setPoolable

        public void setPoolable​(boolean poolable)
                         throws SQLException
        Requests that a Statement be pooled or not pooled. The value specified is a hint to the statement pool implementation indicating whether the application wants the statement to be pooled. It is up to the statement pool manager as to whether the hint is used.

        The poolable value of a statement is applicable to both internal statement caches implemented by the driver and external statement caches implemented by application servers and other applications.

        By default, a Statement is not poolable when created, and a PreparedStatement and CallableStatement are poolable when created.
        Parameters:
        poolable - requests that the statement be pooled if true and that the statement not be pooled if false
        Throws:
        SQLException - if this method is called on a closed Statement
        Since:
        1.6
      • isPoolable

        public boolean isPoolable()
                           throws SQLException
        Returns a value indicating whether the Statement is poolable or not.
        Returns:
        true if the Statement is poolable; false otherwise
        Throws:
        SQLException - if this method is called on a closed Statement
        Since:
        1.6
        See Also:
        Statement.setPoolable(boolean)
      • unwrap

        public <T> T unwrap​(Class<T> iface)
                     throws SQLException
        Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.

        If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of calling unwrap recursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then an SQLException is thrown.

        Parameters:
        iface - A Class defining an interface that the result must implement.
        Returns:
        an object that implements the interface. May be a proxy for the actual implementing object.
        Throws:
        SQLException - If no object found that implements the interface
        Since:
        1.6
      • isWrapperFor

        public boolean isWrapperFor​(Class<?> iface)
                             throws SQLException
        Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively calling isWrapperFor on the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared to unwrap so that callers can use this method to avoid expensive unwrap calls that may fail. If this method returns true then calling unwrap with the same argument should succeed.
        Parameters:
        iface - a Class defining an interface.
        Returns:
        true if this implements the interface or directly or indirectly wraps an object that does.
        Throws:
        SQLException - if an error occurs while determining whether this is a wrapper for an object with the given interface.
        Since:
        1.6
      • getGeneratedKeys

        public ResultSet getGeneratedKeys()
                                   throws SQLException
        Retrieves any auto-generated keys created as a result of executing this Statement object. If this Statement object did not generate any keys, an empty ResultSet object is returned.

        Note:If the columns which represent the auto-generated keys were not specified, the JDBC driver implementation will determine the columns which best represent the auto-generated keys.
        Returns:
        a ResultSet object containing the auto-generated key(s) generated by the execution of this Statement object
        Throws:
        SQLException - if a database access error occurs or this method is called on a closed Statement
        SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        Since:
        1.4
      • getResultSet

        public ResultSet getResultSet()
                               throws SQLException
        Retrieves the current result as a ResultSet object. This method should be called only once per result.
        Returns:
        the current result as a ResultSet object or null if the result is an update count or there are no more results
        Throws:
        SQLException - if a database access error occurs or this method is called on a closed Statement
        See Also:
        StatementWrapper.execute(java.lang.String)
      • executeQuery

        public ResultSet executeQuery​(String sql)
                               throws SQLException
        Executes the given SQL statement, which returns a single ResultSet object.
        Parameters:
        sql - an SQL statement to be sent to the database, typically a static SQL SELECT statement
        Returns:
        a ResultSet object that contains the data produced by the given query; never null
        Throws:
        SQLException - if a database access error occurs, this method is called on a closed Statement or the given SQL statement produces anything other than a single ResultSet object
      • getLargeUpdateCount

        public long getLargeUpdateCount()
                                 throws SQLException
        Retrieves the current result as an update count; if the result is a ResultSet object or there are no more results, -1 is returned.
        Returns:
        the current result as an update count; -1 if the current result is a ResultSet object or there are no more results
        Throws:
        SQLException - if a database access error occurs or this method is called on a closed Statement
      • setLargeMaxRows

        public void setLargeMaxRows​(long max)
                             throws SQLException
        Sets the limit for the maximum number of rows that any ResultSet object generated by this Statement object can contain to the given number.
        Parameters:
        max - the new max rows limit; zero means there is no limit
        Throws:
        SQLException - if a database access error occurs, this method is called on a closed Statement or the condition max >= 0 is not satisfied
      • getLargeMaxRows

        public long getLargeMaxRows()
                             throws SQLException
        Retrieves the maximum number of rows that a ResultSet object produced by this Statement object can contain.
        Returns:
        the current maximum number of rows for a ResultSet object produced by this Statement object; zero means there is no limit
        Throws:
        SQLException - if a database access error occurs or this method is called on a closed Statement
      • executeLargeBatch

        public long[] executeLargeBatch()
                                 throws SQLException
        Submits a batch of commands to the database for execution and if all commands execute successfully, returns an array of update counts.
        Returns:
        an array of update counts containing one element for each command in the batch. The elements of the array are ordered according to the order in which commands were added to the batch.
        Throws:
        SQLException - if a database access error occurs, this method is called on a closed Statement or the driver does not support batch statements. Throws BatchUpdateException (a subclass of SQLException) if one of the commands sent to the database fails to execute properly or attempts to return a result set.
        SQLTimeoutException - when the driver has determined that the timeout value that was specified by the setQueryTimeout method has been exceeded and has at least attempted to cancel the currently running Statement
      • executeLargeUpdate

        public long executeLargeUpdate​(String sql)
                                throws SQLException
        Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement.
        Parameters:
        sql - an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or DELETE; or an SQL statement that returns nothing, such as a DDL statement.
        Returns:
        either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) 0 for SQL statements that return nothing
        Throws:
        SQLException - if a database access error occurs, this method is called on a closed Statement, the given SQL statement produces a ResultSet object, the method is called on a PreparedStatement or CallableStatement
        SQLTimeoutException - when the driver has determined that the timeout value that was specified by the setQueryTimeout method has been exceeded and has at least attempted to cancel the currently running Statement
      • executeLargeUpdate

        public long executeLargeUpdate​(String sql,
                                       int autoGeneratedKeys)
                                throws SQLException
        Executes the given SQL statement and signals the driver with the given flag about whether the auto-generated keys produced by this Statement object should be made available for retrieval.
        Parameters:
        sql - an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or DELETE; or an SQL statement that returns nothing, such as a DDL statement.
        autoGeneratedKeys - a flag indicating whether auto-generated keys should be made available for retrieval; one of the following constants: Statement.RETURN_GENERATED_KEYS Statement.NO_GENERATED_KEYS
        Returns:
        either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) 0 for SQL statements that return nothing
        Throws:
        SQLException - if a database access error occurs, this method is called on a closed Statement, the given SQL statement returns a ResultSet object, the given constant is not one of those allowed, the method is called on a PreparedStatement or CallableStatement
        SQLFeatureNotSupportedException - if the JDBC driver does not support this method with a constant of Statement.RETURN_GENERATED_KEYS
        SQLTimeoutException - when the driver has determined that the timeout value that was specified by the setQueryTimeout method has been exceeded and has at least attempted to cancel the currently running Statement
      • executeLargeUpdate

        public long executeLargeUpdate​(String sql,
                                       int[] columnIndexes)
                                throws SQLException
        Executes the given SQL statement and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval.
        Parameters:
        sql - an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or DELETE; or an SQL statement that returns nothing, such as a DDL statement.
        columnIndexes - an array of column indexes indicating the columns that should be returned from the inserted row
        Returns:
        either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) 0 for SQL statements that return nothing
        Throws:
        SQLException - if a database access error occurs, this method is called on a closed Statement, the SQL statement returns a ResultSet object,the second argument supplied to this method is not an int array whose elements are valid column indexes, the method is called on a PreparedStatement or CallableStatement
        SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        SQLTimeoutException - when the driver has determined that the timeout value that was specified by the setQueryTimeout method has been exceeded and has at least attempted to cancel the currently running Statement
      • executeLargeUpdate

        public long executeLargeUpdate​(String sql,
                                       String[] columnNames)
                                throws SQLException
        Executes the given SQL statement and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval.
        Parameters:
        sql - an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or DELETE; or an SQL statement that returns nothing, such as a DDL statement.
        columnNames - an array of the names of the columns that should be returned from the inserted row
        Returns:
        either the row count for INSERT, UPDATE, or DELETE statements, or 0 for SQL statements that return nothing
        Throws:
        SQLException - if a database access error occurs, this method is called on a closed Statement, the SQL statement returns a ResultSet object, the second argument supplied to this method is not a String array whose elements are valid column names, the method is called on a PreparedStatement or CallableStatement
        SQLFeatureNotSupportedException - if the JDBC driver does not support this method
        SQLTimeoutException - when the driver has determined that the timeout value that was specified by the setQueryTimeout method has been exceeded and has at least attempted to cancel the currently running Statement