Class GenericParameterValueSet

    • Constructor Detail

      • GenericParameterValueSet

        GenericParameterValueSet​(ClassInspector ci,
                                 int numParms,
                                 boolean hasReturnOutputParam)
        Constructor for a GenericParameterValueSet
        Parameters:
        numParms - The number of parameters in the new ParameterValueSet
        hasReturnOutputParam - if we have a ? = call syntax. Note that this is NOT the same thing as an output parameter -- return output parameters are special cases of output parameters.
    • Method Detail

      • setParameterMode

        public void setParameterMode​(int position,
                                     int mode)
        Description copied from interface: ParameterValueSet
        Set the mode of the parameter, called when setting up static method calls and stored procedures. Otherwise the parameter type will default to an IN parameter.
        Specified by:
        setParameterMode in interface ParameterValueSet
      • clearParameters

        public void clearParameters()
        Description copied from interface: ParameterValueSet
        Sets all parameters to an uninitialized state. An exception will be thrown if the caller tries to execute a PreparedStatement when one or more parameters is uninitialized (i.e. has not had setParameterValue() called on it.
        Specified by:
        clearParameters in interface ParameterValueSet
        See Also:
        ParameterValueSet.clearParameters()
      • getParameterCount

        public int getParameterCount()
        Returns the number of parameters in this set.
        Specified by:
        getParameterCount in interface ParameterValueSet
        Returns:
        The number of parameters in this set.
      • allAreSet

        public boolean allAreSet()
        Description copied from interface: ParameterValueSet
        Tells whether all the parameters are set and ready for execution. OUT are not required to be set.
        Specified by:
        allAreSet in interface ParameterValueSet
        Returns:
        true if all parameters are set, false if at least one parameter is not set.
        See Also:
        ParameterValueSet.allAreSet()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • checkPosition

        private void checkPosition​(int position)
                            throws StandardException
        Check the position number for a parameter and throw an exception if it is out of range.
        Parameters:
        position - The position number to check
        Throws:
        StandardException - Thrown if position number is out of range.
      • registerOutParameter

        public void registerOutParameter​(int parameterIndex,
                                         int jdbcType,
                                         int scale)
                                  throws StandardException
        Mark the parameter as an output parameter.
        Specified by:
        registerOutParameter in interface ParameterValueSet
        Parameters:
        parameterIndex - The ordinal parameterIndex of a parameter to set to the given value.
        jdbcType - A type from java.sql.Types
        scale - the scale to use. -1 means ignore scale
        Throws:
        StandardException - on error
      • validate

        public void validate()
                      throws StandardException
        Validate the parameters. This is done for situations where we cannot validate everything in the setXXX() calls. In particular, before we do an execute() on a CallableStatement, we need to go through the parameters and make sure that all parameters are set up properly. The motivator for this is that setXXX() can be called either before or after registerOutputParamter(), we cannot be sure we have the types correct until we get to execute().
        Specified by:
        validate in interface ParameterValueSet
        Throws:
        StandardException - if the parameters aren't valid
      • getParameterNumber

        public int getParameterNumber​(GenericParameter theParam)
        Return the parameter number (in jdbc lingo, i.e. 1 based) for the given parameter. Linear search.
        Returns:
        the parameter number, or 0 if not found
      • checkNoDeclaredOutputParameters

        public boolean checkNoDeclaredOutputParameters()
        Check that there are not output parameters defined by the parameter set. If there are unknown parameter types they are forced to input types. i.e. Derby static method calls with parameters that are array.
        Specified by:
        checkNoDeclaredOutputParameters in interface ParameterValueSet
        Returns:
        true if a declared Java Procedure INOUT or OUT parameter is in the set, false otherwise.
      • getParameterMode

        public short getParameterMode​(int parameterIndex)
        Return the mode of the parameter according to JDBC 3.0 ParameterMetaData
        Specified by:
        getParameterMode in interface ParameterValueSet
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, ...
      • hasReturnOutputParameter

        public boolean hasReturnOutputParameter()
        Is there a return output parameter in this pvs. A return parameter is from a CALL statement of the following syntax: ? = CALL myMethod()
        Specified by:
        hasReturnOutputParameter in interface ParameterValueSet
        Returns:
        true if it has a return parameter
      • getScale

        public int getScale​(int parameterIndex)
        Return the scale of the given parameter index in this pvs.
        Specified by:
        getScale in interface ParameterValueSet
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, ...
        Returns:
        scale
      • getPrecision

        public int getPrecision​(int parameterIndex)
        Return the precision of the given parameter index in this pvs.
        Specified by:
        getPrecision in interface ParameterValueSet
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, ...
        Returns:
        precision