Class RoutineAliasInfo

    • Field Detail

      • SQL_CONTROL

        private static final java.lang.String[] SQL_CONTROL
      • PS_DERBY_JDBC_RESULT_SET

        public static final short PS_DERBY_JDBC_RESULT_SET
        PARAMETER STYLE DERBY_JDBC_RESULT_SET
        See Also:
        Constant Field Values
      • SQL_ALLOWED_MASK

        private static final short SQL_ALLOWED_MASK
        Masks for the sqlOptions field
        See Also:
        Constant Field Values
      • SECURITY_DEFINER_MASK

        private static final short SECURITY_DEFINER_MASK
        See Also:
        Constant Field Values
      • parameterCount

        private int parameterCount
      • parameterTypes

        private TypeDescriptor[] parameterTypes
        Types of the parameters. If there are no parameters then this may be null (or a zero length array).
      • parameterNames

        private java.lang.String[] parameterNames
        Name of each parameter. As of DERBY 10.3, parameter names are optional. If the parameter is unnamed, parameterNames[i] is a string of length 0
      • parameterModes

        private int[] parameterModes
        IN, OUT, INOUT
      • dynamicResultSets

        private int dynamicResultSets
      • returnType

        private TypeDescriptor returnType
        Return type for functions. Null for procedures.
      • parameterStyle

        private short parameterStyle
        Parameter style - always PS_JAVA at the moment.
      • sqlOptions

        private short sqlOptions
        This field contains several pieces of information: bits 0-3 sqlAllowed = MODIFIES_SQL_DATA, READS_SQL_DATA,CONTAINS_SQL, or NO_SQL bit 4 on if function is DETERMINISTIC, off otherwise bit 5 on if running with definer's right, off otherwise
      • specificName

        private java.lang.String specificName
        SQL Specific name (future)
      • calledOnNullInput

        private boolean calledOnNullInput
        True if the routine is called on null input. (always true for procedures).
      • aliasType

        private transient char aliasType
    • Constructor Detail

      • RoutineAliasInfo

        public RoutineAliasInfo()
      • RoutineAliasInfo

        public RoutineAliasInfo​(java.lang.String methodName,
                                int parameterCount,
                                java.lang.String[] parameterNames,
                                TypeDescriptor[] parameterTypes,
                                int[] parameterModes,
                                int dynamicResultSets,
                                short parameterStyle,
                                short sqlAllowed,
                                boolean isDeterministic,
                                boolean hasVarargs)
        Create a RoutineAliasInfo for an internal PROCEDURE.
      • RoutineAliasInfo

        public RoutineAliasInfo​(java.lang.String methodName,
                                int parameterCount,
                                java.lang.String[] parameterNames,
                                TypeDescriptor[] parameterTypes,
                                int[] parameterModes,
                                int dynamicResultSets,
                                short parameterStyle,
                                short sqlAllowed,
                                boolean isDeterministic,
                                boolean hasVarargs,
                                boolean definersRights,
                                boolean calledOnNullInput,
                                TypeDescriptor returnType)
        Create a RoutineAliasInfo for a PROCEDURE or FUNCTION
    • Method Detail

      • getParameterCount

        public int getParameterCount()
      • getParameterTypes

        public TypeDescriptor[] getParameterTypes()
        Types of the parameters. If there are no parameters then this may return null (or a zero length array).
      • setParameterTypes

        public void setParameterTypes​(TypeDescriptor[] parameterTypes)
        Set the paramter types. Useful if they need to be bound.
      • getParameterModes

        public int[] getParameterModes()
      • getParameterNames

        public java.lang.String[] getParameterNames()
        Returns an array containing the names of the parameters. As of DERBY 10.3, parameter names are optional (see DERBY-183 for more information). If the i-th parameter was unnamed, parameterNames[i] will contain a string of length 0.
      • getMaxDynamicResultSets

        public int getMaxDynamicResultSets()
      • getParameterStyle

        public short getParameterStyle()
      • getSQLAllowed

        public short getSQLAllowed()
      • isDeterministic

        public boolean isDeterministic()
      • hasVarargs

        public boolean hasVarargs()
      • hasDefinersRights

        public boolean hasDefinersRights()
      • calledOnNullInput

        public boolean calledOnNullInput()
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Read this object from a stream of stored objects.
        Specified by:
        readExternal in interface java.io.Externalizable
        Overrides:
        readExternal in class MethodAliasInfo
        Parameters:
        in - read this.
        Throws:
        java.io.IOException - thrown on error
        java.lang.ClassNotFoundException - thrown on error
      • getStoredType

        public static TypeDescriptor getStoredType​(java.lang.Object onDiskType)
        Old releases (10.3 and before) wrote out the runtime DataTypeDescriptor for routine parameter and return types. 10.4 onwards (DERBY-2775) always writes out the catalog type TypeDescriptor. Here we see what object was read from disk and if it was the old type, now mapped to OldRoutineType, we extract the catalog type and use that.
        Parameters:
        onDiskType - The object read that represents the type.
        Returns:
        A type descriptor.
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Write this object to a stream of stored objects.
        Specified by:
        writeExternal in interface java.io.Externalizable
        Overrides:
        writeExternal in class MethodAliasInfo
        Parameters:
        out - write bytes here.
        Throws:
        java.io.IOException - thrown on error
      • toString

        public java.lang.String toString()
        Get this alias info as a string. NOTE: The "ALIASINFO" column in the SYSALIASES table will return the result of this method on a ResultSet.getString() call. That said, since the dblook utility uses ResultSet.getString() to retrieve ALIASINFO and to generate the DDL, THIS METHOD MUST RETURN A STRING THAT IS SYNTACTICALLY VALID, or else the DDL generated by dblook will be incorrect.
        Overrides:
        toString in class MethodAliasInfo
        See Also:
        Object.toString()
      • parameterMode

        public static java.lang.String parameterMode​(int parameterMode)
      • setCollationTypeForAllStringTypes

        public void setCollationTypeForAllStringTypes​(int collationType)
        Set the collation type of all string types declared for use in this routine to the given collation type.
        Parameters:
        collationType -