Package oracle.sql

Class STRUCT

  • All Implemented Interfaces:
    Serializable, Struct, oracle.jdbc.internal.ACProxyable, oracle.jdbc.internal.OracleConcreteProxy, oracle.jdbc.internal.OracleDatumWithConnection, oracle.jdbc.internal.OracleStruct, OracleStruct
    Direct Known Subclasses:
    JAVA_STRUCT

    public class STRUCT
    extends DatumWithConnection
    implements oracle.jdbc.internal.OracleStruct, oracle.jdbc.internal.OracleConcreteProxy
    Deprecated.
    Use java.sql.Struct interface for declaration instead of using concrete class oracle.sql.STRUCT.
    This class has two roles.
    • It is the Oracle implementation class for the generic JDBC Struct interface.
    • It wraps the "raw bytes" of an Oracle Object Type.
    Like other classes in oracle.sql. it is a value class. That is, once it is constructed the user should not change its contents. Use Struct interface for declaration instead of using concrete class oracle.sql.STRUCT. java.sql.Struct has methods declared for all opertions. For Oracle specific methods use the interface OracleStruct.

    Obtaining a Struct from the ResultSet

    java.sql.Struct struct = resultSet.getStruct(...);

    Creating a Struct using factory method Connection.createStruct(java.lang.String, java.lang.Object[])

    java.sql.Struct struct = connection.createStruct(...);
    See Also:
    Struct, OracleStruct, Connection.createStruct(java.lang.String, java.lang.Object[]), Serialized Form
    • Field Detail

      • target

        protected oracle.jdbc.driver.OracleStruct target
        Deprecated.
    • Constructor Detail

      • STRUCT

        public STRUCT​(StructDescriptor type,
                      Connection conn,
                      Object[] attributes)
               throws SQLException
        Deprecated.
        Constructor. The raw bytes are computed at this time or a copy of attributes is made. In any event the caller is free to modify the array without affecting the values held in the STRUCT. For inherited object types we must check that the descriptor indicates that the type is instantiable. That database does not check on e.g. insertion but only on PL/SQL object creation. So we have to check here, too. There is an argument to be made that there is a good use for the STRUCT instance to carry data around and that the error ought to be when an insertion or udpate is attempted. But this keeps the "not instantiable" rather than "not storable" notion. And is is much more simple.
        Parameters:
        type - the SQLStructType used to convert the type to
        attributes - the array specifying the attributes to be converted to raw bytes.
        Throws:
        SQLException
        See Also:
        oracle.sql.SQLStructType
    • Method Detail

      • getTarget

        public oracle.jdbc.driver.OracleStruct getTarget()
        Deprecated.
      • getSQLTypeName

        public String getSQLTypeName()
                              throws SQLException
        Deprecated.
        Implements the Struct interface function Retrieves the SQL type name of the SQL structured type that this Struct object represents.
        Specified by:
        getSQLTypeName in interface Struct
        Returns:
        the fully-qualified type name of the SQL structured type for which this Struct object is the generic representation
        Throws:
        SQLException - if a database access error occurs
      • getAttributes

        public Object[] getAttributes()
                               throws SQLException
        Deprecated.
        Implements the Struct interface function. Produces the ordered values of the attributes of the SQL structure type that this Struct object represents. Each call returns a fresh array. This method uses the type map associated with the connection for customizations of the type mappings. If there is no entry in the connection's type map that matches the structured type that this Struct object represents, the driver uses the standard mapping.

        Conceptually, this method calls the method getObject on each attribute of the structured type and returns a Java array containing the result.

        Specified by:
        getAttributes in interface Struct
        Returns:
        an array containing the ordered attribute values
        Throws:
        SQLException - if a database access error occurs
      • getAttributes

        public Object[] getAttributes​(Map map)
                               throws SQLException
        Deprecated.
        Implements the Struct interface function. Produces the ordered values of the attributes of the SQL structurec type that this Struct object represents. Each call returns a fresh array. This method uses the given type map for customizations of the type mappings. If there is no entry in the given type map that matches the structured type that this Struct object represents, the driver uses the standard mapping.

        Conceptually, this method calls the method getObject on each attribute of the structured type and returns a Java array containing the result.

        Specified by:
        getAttributes in interface Struct
        Parameters:
        map - a mapping of SQL type names to Java classes
        Returns:
        an array containing the ordered attribute values
        Throws:
        SQLException - if a database access error occurs
      • getDescriptor

        public StructDescriptor getDescriptor()
                                       throws SQLException
        Deprecated.
        Oracle extension. Return the StructDescriptor object that contains the type information.
        Specified by:
        getDescriptor in interface oracle.jdbc.internal.OracleStruct
        Returns:
        the type descriptor
        Throws:
        SQLException
      • getOracleAttributes

        public Datum[] getOracleAttributes()
                                    throws SQLException
        Deprecated.
        Oracle extension. Retrun the array of Attributes as oracle.sql.XXX's. A fresh array is returned each time getOracleAttributes is called.
        Specified by:
        getOracleAttributes in interface oracle.jdbc.internal.OracleStruct
        Returns:
        Datum array that containing the ordered attribute values as oracle.sql.Datum objects.
        Throws:
        SQLException
      • getDatumArray

        public Datum[] getDatumArray()
        Deprecated.
        Specified by:
        getDatumArray in interface oracle.jdbc.internal.OracleStruct
      • setNullDatumArray

        public void setNullDatumArray()
        Deprecated.
        Set the variable null. (INTERNAL)
        Specified by:
        setNullDatumArray in interface oracle.jdbc.internal.OracleStruct
      • getObjectArray

        public Object[] getObjectArray()
        Deprecated.
        Specified by:
        getObjectArray in interface oracle.jdbc.internal.OracleStruct
      • setNullObjectArray

        public void setNullObjectArray()
        Deprecated.
        Set the variable null. (INTERNAL)
        Specified by:
        setNullObjectArray in interface oracle.jdbc.internal.OracleStruct
      • toJdbc

        public Object toJdbc()
                      throws SQLException
        Deprecated.
        Oracle extension. Returns the JDBC representation of the datum object
        Specified by:
        toJdbc in interface oracle.jdbc.internal.OracleDatumWithConnection
        Specified by:
        toJdbc in interface oracle.jdbc.internal.OracleStruct
        Specified by:
        toJdbc in class Datum
        Returns:
        an object containing the JDBC value
        Throws:
        SQLException - if conversion to JDBC representation results in an error
      • toJdbc

        public Object toJdbc​(Map map)
                      throws SQLException
        Deprecated.
        Oracle extension. Consults the map to determine what class to convert to, and then uses toClass
        Specified by:
        toJdbc in interface oracle.jdbc.internal.OracleStruct
        Throws:
        SQLException
      • isConvertibleTo

        public boolean isConvertibleTo​(Class<?> jClass)
        Deprecated.
        Determines if datum object can be converted to a particular class
        Specified by:
        isConvertibleTo in interface oracle.jdbc.internal.OracleDatumWithConnection
        Specified by:
        isConvertibleTo in interface oracle.jdbc.internal.OracleStruct
        Specified by:
        isConvertibleTo in class Datum
        Parameters:
        cls - Class to convert to
        Returns:
        true, if conversion to cls is permitted false, if conversion to cls is not permitted
      • setAutoBuffering

        public void setAutoBuffering​(boolean enable)
                              throws SQLException
        Deprecated.
        Performance hint. Sets this struct's auto-buffering mode. If a struct is in auto-buffering mode, then the struct will keep a local copy of all its attributes. Then the next access to the same attributes will return a cloned copy. Otherwise, type conversion for each element is required. By default, a STRUCT is NOT in auto-buffering mode.
        Specified by:
        setAutoBuffering in interface oracle.jdbc.internal.OracleStruct
        Parameters:
        enable - - true enables auto-buffering; false disables auto-buffering
        Throws:
        SQLException
        Since:
        8.1.7
        See Also:
        getAutoBuffering()
      • getAutoBuffering

        public boolean getAutoBuffering()
                                 throws SQLException
        Deprecated.
        Performance hint. Get the current auto-buffering state.
        Specified by:
        getAutoBuffering in interface oracle.jdbc.internal.OracleStruct
        Returns:
        the current state of auto-buffering
        Throws:
        SQLException
        Since:
        8.1.7
        See Also:
        setAutoBuffering(boolean)
      • getJavaSqlConnection

        public Connection getJavaSqlConnection()
                                        throws SQLException
        Deprecated.
        Description copied from class: DatumWithConnection
        Oracle extension Return the java.sql.Connection associated with the receiver. Since 9.0.0 not all Oracle JDBC connection objects are assignment compatible with oracle.jdbc.driver.OracleConnection. If the connection is wrapped, return the outermost wrapper.
        Specified by:
        getJavaSqlConnection in interface oracle.jdbc.internal.OracleDatumWithConnection
        Specified by:
        getJavaSqlConnection in interface oracle.jdbc.internal.OracleStruct
        Overrides:
        getJavaSqlConnection in class DatumWithConnection
        Returns:
        the connection
        Throws:
        SQLException - if an error occurs
      • dump

        public String dump()
                    throws SQLException
        Deprecated.
        Create a string which show the contents of this Object and of all its component parts.
        Throws:
        SQLException