Class AvaticaPreparedStatement

    • Field Detail

      • resultSetMetaData

        private final java.sql.ResultSetMetaData resultSetMetaData
      • calendar

        private java.util.Calendar calendar
      • parameterValueBatch

        protected final java.util.List<java.util.List<TypedValue>> parameterValueBatch
    • Constructor Detail

      • AvaticaPreparedStatement

        protected AvaticaPreparedStatement​(AvaticaConnection connection,
                                           Meta.StatementHandle h,
                                           Meta.Signature signature,
                                           int resultSetType,
                                           int resultSetConcurrency,
                                           int resultSetHoldability)
                                    throws java.sql.SQLException
        Creates an AvaticaPreparedStatement.
        Parameters:
        connection - Connection
        h - Statement handle
        signature - Result of preparing statement
        resultSetType - Result set type
        resultSetConcurrency - Result set concurrency
        resultSetHoldability - Result set holdability
        Throws:
        java.sql.SQLException - If fails due to underlying implementation reasons.
    • Method Detail

      • copyParameterValues

        protected java.util.List<TypedValue> copyParameterValues()
        Returns a copy of the current parameter values.
        Returns:
        A copied list of the parameter values
      • getCalendar

        protected java.util.Calendar getCalendar()
        Returns a calendar in the connection's time zone, creating one the first time this method is called.

        Uses the calendar to offset date-time values when calling methods such as setDate(int, Date).

        A note on thread-safety. This method does not strictly need to be synchronized, because JDBC does not promise thread safety if different threads are accessing the same statement, or even different objects within a particular connection.

        The calendar returned is to be used only within this statement, and JDBC only allows access to a statement from within one thread, so therefore does not need to be synchronized when accessed.

      • getParameterValueBatch

        protected java.util.List<java.util.List<TypedValue>> getParameterValueBatch()
      • executeQuery

        public java.sql.ResultSet executeQuery()
                                        throws java.sql.SQLException
        Specified by:
        executeQuery in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • getParameterMetaData

        public java.sql.ParameterMetaData getParameterMetaData()
                                                        throws java.sql.SQLException
        Specified by:
        getParameterMetaData in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • executeUpdate

        public final int executeUpdate()
                                throws java.sql.SQLException
        Specified by:
        executeUpdate in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • executeLargeUpdate

        public long executeLargeUpdate()
                                throws java.sql.SQLException
        Specified by:
        executeLargeUpdate in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setNull

        public void setNull​(int parameterIndex,
                            int sqlType)
                     throws java.sql.SQLException
        Specified by:
        setNull in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setBoolean

        public void setBoolean​(int parameterIndex,
                               boolean x)
                        throws java.sql.SQLException
        Specified by:
        setBoolean in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setByte

        public void setByte​(int parameterIndex,
                            byte x)
                     throws java.sql.SQLException
        Specified by:
        setByte in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setShort

        public void setShort​(int parameterIndex,
                             short x)
                      throws java.sql.SQLException
        Specified by:
        setShort in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setInt

        public void setInt​(int parameterIndex,
                           int x)
                    throws java.sql.SQLException
        Specified by:
        setInt in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setLong

        public void setLong​(int parameterIndex,
                            long x)
                     throws java.sql.SQLException
        Specified by:
        setLong in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setFloat

        public void setFloat​(int parameterIndex,
                             float x)
                      throws java.sql.SQLException
        Specified by:
        setFloat in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setDouble

        public void setDouble​(int parameterIndex,
                              double x)
                       throws java.sql.SQLException
        Specified by:
        setDouble in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setBigDecimal

        public void setBigDecimal​(int parameterIndex,
                                  java.math.BigDecimal x)
                           throws java.sql.SQLException
        Specified by:
        setBigDecimal in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setString

        public void setString​(int parameterIndex,
                              java.lang.String x)
                       throws java.sql.SQLException
        Specified by:
        setString in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setBytes

        public void setBytes​(int parameterIndex,
                             byte[] x)
                      throws java.sql.SQLException
        Specified by:
        setBytes in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setAsciiStream

        public void setAsciiStream​(int parameterIndex,
                                   java.io.InputStream x,
                                   int length)
                            throws java.sql.SQLException
        Specified by:
        setAsciiStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setUnicodeStream

        public void setUnicodeStream​(int parameterIndex,
                                     java.io.InputStream x,
                                     int length)
                              throws java.sql.SQLException
        Specified by:
        setUnicodeStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setBinaryStream

        public void setBinaryStream​(int parameterIndex,
                                    java.io.InputStream x,
                                    int length)
                             throws java.sql.SQLException
        Specified by:
        setBinaryStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • clearParameters

        public void clearParameters()
                             throws java.sql.SQLException
        Specified by:
        clearParameters in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setObject

        public void setObject​(int parameterIndex,
                              java.lang.Object x,
                              int targetSqlType)
                       throws java.sql.SQLException
        Specified by:
        setObject in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setObject

        public void setObject​(int parameterIndex,
                              java.lang.Object x)
                       throws java.sql.SQLException
        Specified by:
        setObject in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • execute

        public boolean execute()
                        throws java.sql.SQLException
        Specified by:
        execute in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • addBatch

        public void addBatch()
                      throws java.sql.SQLException
        Specified by:
        addBatch in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • clearBatch

        public void clearBatch()
                        throws java.sql.SQLException
        Specified by:
        clearBatch in interface java.sql.Statement
        Overrides:
        clearBatch in class AvaticaStatement
        Throws:
        java.sql.SQLException
      • executeBatch

        public int[] executeBatch()
                           throws java.sql.SQLException
        Specified by:
        executeBatch in interface java.sql.Statement
        Overrides:
        executeBatch in class AvaticaStatement
        Throws:
        java.sql.SQLException
      • executeLargeBatch

        public long[] executeLargeBatch()
                                 throws java.sql.SQLException
        Specified by:
        executeLargeBatch in interface java.sql.Statement
        Overrides:
        executeLargeBatch in class AvaticaStatement
        Throws:
        java.sql.SQLException
      • setCharacterStream

        public void setCharacterStream​(int parameterIndex,
                                       java.io.Reader reader,
                                       int length)
                                throws java.sql.SQLException
        Specified by:
        setCharacterStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setRef

        public void setRef​(int parameterIndex,
                           java.sql.Ref x)
                    throws java.sql.SQLException
        Specified by:
        setRef in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setBlob

        public void setBlob​(int parameterIndex,
                            java.sql.Blob x)
                     throws java.sql.SQLException
        Specified by:
        setBlob in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setClob

        public void setClob​(int parameterIndex,
                            java.sql.Clob x)
                     throws java.sql.SQLException
        Specified by:
        setClob in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setArray

        public void setArray​(int parameterIndex,
                             java.sql.Array x)
                      throws java.sql.SQLException
        Specified by:
        setArray in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • getMetaData

        public java.sql.ResultSetMetaData getMetaData()
                                               throws java.sql.SQLException
        Specified by:
        getMetaData in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setDate

        public void setDate​(int parameterIndex,
                            java.sql.Date x,
                            java.util.Calendar calendar)
                     throws java.sql.SQLException
        Specified by:
        setDate in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setDate

        public void setDate​(int parameterIndex,
                            java.sql.Date x)
                     throws java.sql.SQLException
        Specified by:
        setDate in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setTime

        public void setTime​(int parameterIndex,
                            java.sql.Time x,
                            java.util.Calendar calendar)
                     throws java.sql.SQLException
        Specified by:
        setTime in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setTime

        public void setTime​(int parameterIndex,
                            java.sql.Time x)
                     throws java.sql.SQLException
        Specified by:
        setTime in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setTimestamp

        public void setTimestamp​(int parameterIndex,
                                 java.sql.Timestamp x,
                                 java.util.Calendar calendar)
                          throws java.sql.SQLException
        Specified by:
        setTimestamp in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setTimestamp

        public void setTimestamp​(int parameterIndex,
                                 java.sql.Timestamp x)
                          throws java.sql.SQLException
        Specified by:
        setTimestamp in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setNull

        public void setNull​(int parameterIndex,
                            int sqlType,
                            java.lang.String typeName)
                     throws java.sql.SQLException
        Specified by:
        setNull in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setURL

        public void setURL​(int parameterIndex,
                           java.net.URL x)
                    throws java.sql.SQLException
        Specified by:
        setURL in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setObject

        public void setObject​(int parameterIndex,
                              java.lang.Object x,
                              int targetSqlType,
                              int scaleOrLength)
                       throws java.sql.SQLException
        Specified by:
        setObject in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setRowId

        public void setRowId​(int parameterIndex,
                             java.sql.RowId x)
                      throws java.sql.SQLException
        Specified by:
        setRowId in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setNString

        public void setNString​(int parameterIndex,
                               java.lang.String value)
                        throws java.sql.SQLException
        Specified by:
        setNString in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setNCharacterStream

        public void setNCharacterStream​(int parameterIndex,
                                        java.io.Reader value,
                                        long length)
                                 throws java.sql.SQLException
        Specified by:
        setNCharacterStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setNClob

        public void setNClob​(int parameterIndex,
                             java.sql.NClob value)
                      throws java.sql.SQLException
        Specified by:
        setNClob in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setClob

        public void setClob​(int parameterIndex,
                            java.io.Reader reader,
                            long length)
                     throws java.sql.SQLException
        Specified by:
        setClob in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setBlob

        public void setBlob​(int parameterIndex,
                            java.io.InputStream inputStream,
                            long length)
                     throws java.sql.SQLException
        Specified by:
        setBlob in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setNClob

        public void setNClob​(int parameterIndex,
                             java.io.Reader reader,
                             long length)
                      throws java.sql.SQLException
        Specified by:
        setNClob in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setSQLXML

        public void setSQLXML​(int parameterIndex,
                              java.sql.SQLXML xmlObject)
                       throws java.sql.SQLException
        Specified by:
        setSQLXML in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setAsciiStream

        public void setAsciiStream​(int parameterIndex,
                                   java.io.InputStream x,
                                   long length)
                            throws java.sql.SQLException
        Specified by:
        setAsciiStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setBinaryStream

        public void setBinaryStream​(int parameterIndex,
                                    java.io.InputStream x,
                                    long length)
                             throws java.sql.SQLException
        Specified by:
        setBinaryStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setCharacterStream

        public void setCharacterStream​(int parameterIndex,
                                       java.io.Reader reader,
                                       long length)
                                throws java.sql.SQLException
        Specified by:
        setCharacterStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setAsciiStream

        public void setAsciiStream​(int parameterIndex,
                                   java.io.InputStream x)
                            throws java.sql.SQLException
        Specified by:
        setAsciiStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setBinaryStream

        public void setBinaryStream​(int parameterIndex,
                                    java.io.InputStream x)
                             throws java.sql.SQLException
        Specified by:
        setBinaryStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setCharacterStream

        public void setCharacterStream​(int parameterIndex,
                                       java.io.Reader reader)
                                throws java.sql.SQLException
        Specified by:
        setCharacterStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setNCharacterStream

        public void setNCharacterStream​(int parameterIndex,
                                        java.io.Reader value)
                                 throws java.sql.SQLException
        Specified by:
        setNCharacterStream in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setClob

        public void setClob​(int parameterIndex,
                            java.io.Reader reader)
                     throws java.sql.SQLException
        Specified by:
        setClob in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setBlob

        public void setBlob​(int parameterIndex,
                            java.io.InputStream inputStream)
                     throws java.sql.SQLException
        Specified by:
        setBlob in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • setNClob

        public void setNClob​(int parameterIndex,
                             java.io.Reader reader)
                      throws java.sql.SQLException
        Specified by:
        setNClob in interface java.sql.PreparedStatement
        Throws:
        java.sql.SQLException
      • getParameter

        protected AvaticaParameter getParameter​(int param)
                                         throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • getSite

        protected AvaticaSite getSite​(int param)
                               throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • getParameterCount

        public int getParameterCount()
        Specified by:
        getParameterCount in interface java.sql.ParameterMetaData
      • isNullable

        public int isNullable​(int param)
                       throws java.sql.SQLException
        Specified by:
        isNullable in interface java.sql.ParameterMetaData
        Throws:
        java.sql.SQLException
      • isSigned

        public boolean isSigned​(int index)
                         throws java.sql.SQLException
        Specified by:
        isSigned in interface java.sql.ParameterMetaData
        Throws:
        java.sql.SQLException
      • getPrecision

        public int getPrecision​(int index)
                         throws java.sql.SQLException
        Specified by:
        getPrecision in interface java.sql.ParameterMetaData
        Throws:
        java.sql.SQLException
      • getScale

        public int getScale​(int index)
                     throws java.sql.SQLException
        Specified by:
        getScale in interface java.sql.ParameterMetaData
        Throws:
        java.sql.SQLException
      • getParameterType

        public int getParameterType​(int index)
                             throws java.sql.SQLException
        Specified by:
        getParameterType in interface java.sql.ParameterMetaData
        Throws:
        java.sql.SQLException
      • getParameterTypeName

        public java.lang.String getParameterTypeName​(int index)
                                              throws java.sql.SQLException
        Specified by:
        getParameterTypeName in interface java.sql.ParameterMetaData
        Throws:
        java.sql.SQLException
      • getParameterClassName

        public java.lang.String getParameterClassName​(int index)
                                               throws java.sql.SQLException
        Specified by:
        getParameterClassName in interface java.sql.ParameterMetaData
        Throws:
        java.sql.SQLException
      • getParameterMode

        public int getParameterMode​(int param)
                             throws java.sql.SQLException
        Specified by:
        getParameterMode in interface java.sql.ParameterMetaData
        Throws:
        java.sql.SQLException