class OCI8::Metadata::Type

  • OCI8::Metadata::Schema#objects
    * OCI8::Metadata::Schema#all_objects
    * OCI8#describe_type(name)
    * OCI8#describe_any(name)
    An instance of this class is returned by:
    Information about types

def collection_element

Returns:
  • (OCI8::Metadata::Collection or nil) -
def collection_element
  __param(OCI_ATTR_COLLECTION_ELEMENT) if typecode == :named_collection
end

def collection_typecode

Returns:
  • (:table, :varray or nil) -
def collection_typecode
  __typecode(OCI_ATTR_COLLECTION_TYPECODE) if typecode == :named_collection
end

def has_file?

Otherwise, +false+.
Returns +true+ if the type has a BFILE attribute.
def has_file?
  attr_get_ub1(OCI_ATTR_HAS_FILE) != 0
end

def has_lob?

Otherwise, +false+.
attribute.
Returns +true+ if the type has a CLOB, NCLOB or BLOB
def has_lob?
  attr_get_ub1(OCI_ATTR_HAS_LOB) != 0
end

def has_nested_table?

Otherwise, +false+.
has a nested table attribute.
Returns +true+ if the type is a nested table or
def has_nested_table?
  attr_get_ub1(OCI_ATTR_HAS_NESTED_TABLE) != 0
end

def inspect # :nodoc:

:nodoc:
def inspect # :nodoc:
  "#<#{self.class.name}:(#{obj_id}) #{schema_name}.#{name}>"
end

def is_final_type?

Otherwise, +false+.
in other words, subtypes cannot be derived from the type.
{final type}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjbas.htm#CIHFBHFC];
Returns +true+ if the type is a
def is_final_type?
  attr_get_ub1(OCI_ATTR_IS_FINAL_TYPE) != 0
end

def is_incomplete_type?

Otherwise, +false+.
which is used for {forward declaration}[http://en.wikipedia.org/wiki/Forward_declaration].
{incomplete type}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjmng.htm#i1003083],
Returns +true+ if the type is an
def is_incomplete_type?
  attr_get_ub1(OCI_ATTR_IS_INCOMPLETE_TYPE) != 0
end

def is_instantiable_type?

Otherwise, +false+.
{NOT INSTANTIABLE}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjbas.htm#i456586].
Returns +true+ if the type is not declared without
def is_instantiable_type?
  attr_get_ub1(OCI_ATTR_IS_INSTANTIABLE_TYPE) != 0
end

def is_invoker_rights?

Otherwise, +false+.
{invoker's rights}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/appdev.111/b28371/adobjdes.htm#ADOBJ00810].
Returns +true+ if the type has
def is_invoker_rights?
  attr_get_ub1(OCI_ATTR_IS_INVOKER_RIGHTS) != 0
end

def is_predefined_type? # :nodoc:

:nodoc:
I don't know the definition of predefined type...
--
Always returns +false+.
def is_predefined_type? # :nodoc:
  attr_get_ub1(OCI_ATTR_IS_PREDEFINED_TYPE) != 0
end

def is_subtype?

Otherwise, +false+.
{subtype}[http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjbas.htm#BCFJJADG].
Returns +true+ if the type is a
def is_subtype?
  attr_get_ub1(OCI_ATTR_IS_SUBTYPE) != 0
end

def is_system_generated_type? # :nodoc:

:nodoc:
What is different with system type and predefined type.
I don't know the definition of system generated type.
--
Always returns +false+.
def is_system_generated_type? # :nodoc:
  attr_get_ub1(OCI_ATTR_IS_SYSTEM_GENERATED_TYPE) != 0
end

def is_system_type? # :nodoc:

:nodoc:
+CHAR+ and +VARCHAR+.
a type metadata object for a system type such as +NUMBER+,
Always returns +false+ because there is no way to create
def is_system_type? # :nodoc:
  attr_get_ub1(OCI_ATTR_IS_SYSTEM_TYPE) != 0
end

def is_transient_type? # :nodoc:

:nodoc:
dynamically created by C API.
a type metadata object for a transient type, which is a type
Always returns +false+ because there is no way to create
def is_transient_type? # :nodoc:
  attr_get_ub1(OCI_ATTR_IS_TRANSIENT_TYPE) != 0
end

def list_type_attrs # :nodoc:

:nodoc:
list of type attributes
def list_type_attrs # :nodoc:
  __param(OCI_ATTR_LIST_TYPE_ATTRS)
end

def list_type_methods # :nodoc:

:nodoc:
list of type methods
def list_type_methods # :nodoc:
  __param(OCI_ATTR_LIST_TYPE_METHODS)
end

def map_method

Returns:
  • (OCI8::Metadata::TypeMethod or nil) -
def map_method
  __param(OCI_ATTR_MAP_METHOD)
end

def name

Returns:
  • (String) -
def name
  attr_get_string(OCI_ATTR_NAME)
end

def num_type_attrs

Returns:
  • (Integer) -
def num_type_attrs
  attr_get_ub2(OCI_ATTR_NUM_TYPE_ATTRS)
end

def num_type_methods

Returns:
  • (Integer) -
def num_type_methods
  attr_get_ub2(OCI_ATTR_NUM_TYPE_METHODS)
end

def order_method

Returns:
  • (OCI8::Metadata::TypeMethod or nil) -
def order_method
  __param(OCI_ATTR_ORDER_METHOD)
end

def package_name

Other tags:
    Since: - 2.1.6

Returns:
  • (String or nil) -
def package_name
  attr_get_string(12, false) # OCI_ATTR_PACKAGE_NAME
end

def schema_name

Returns:
  • (String) -
def schema_name
  attr_get_string(OCI_ATTR_SCHEMA_NAME)
end

def supertype_name

Returns:
  • (String or nil) -
def supertype_name
  attr_get_string(OCI_ATTR_SUPERTYPE_NAME) if is_subtype?
end

def supertype_schema_name

Returns:
  • (String or nil) -
def supertype_schema_name
  attr_get_string(OCI_ATTR_SUPERTYPE_SCHEMA_NAME) if is_subtype?
end

def type_attrs

Returns:
  • (array of OCI8::Metadata::TypeAttr) -
def type_attrs
  @type_attrs ||= list_type_attrs.to_a
end

def type_metadata

to type metadata if possible
def type_metadata
  self
end

def type_methods

Returns:
  • (array of OCI8::Metadata::TypeMethod) -
def type_methods
  @type_methods ||= list_type_methods.to_a
end

def typecode

Returns:
  • (:named_type or :named_collection) -
def typecode
  __typecode(OCI_ATTR_TYPECODE)
end