Class: OCI8::Metadata::ArgBase

Inherits:
Base
  • Object
show all
Defined in:
lib/oci8/metadata.rb

Overview

Abstract super class of Argument, TypeArgument and TypeResult.

Direct Known Subclasses

Argument, TypeArgument, TypeResult

Instance Method Summary collapse

Methods inherited from Base

#obj_id, #obj_name, #obj_schema

Instance Method Details

#argumentsObject

The list of arguments at the next level (when the argument is of a record or table type).



1660
1661
1662
# File 'lib/oci8/metadata.rb', line 1660

def arguments
  @arguments ||= list_arguments.to_a
end

#charset_formObject

Returns the character set form if the argument is of a string/character type



1648
1649
1650
# File 'lib/oci8/metadata.rb', line 1648

def charset_form
  __charset_form
end

#charset_idObject

Returns the character set ID if the argument is of a string/character type



1642
1643
1644
# File 'lib/oci8/metadata.rb', line 1642

def charset_id
  attr_get_ub2(OCI_ATTR_CHARSET_ID)
end

#charset_nameObject

Returns the character set name if the argument is of a string/character type



1654
1655
1656
# File 'lib/oci8/metadata.rb', line 1654

def charset_name
  __charset_name(charset_id)
end

#data_sizeObject

The size of the datatype of the argument. This length is returned in bytes and not characters for strings and raws. It returns 22 for NUMBERs.



1547
1548
1549
# File 'lib/oci8/metadata.rb', line 1547

def data_size
  attr_get_ub2(OCI_ATTR_DATA_SIZE)
end

#data_typeObject

the datatype of the argument



1540
1541
1542
# File 'lib/oci8/metadata.rb', line 1540

def data_type
  __data_type
end

#has_defaultObject

Indicates whether an argument has a default



1573
1574
1575
# File 'lib/oci8/metadata.rb', line 1573

def has_default
  attr_get_ub1(OCI_ATTR_HAS_DEFAULT)
end

#inspectObject

:nodoc:



1664
1665
1666
# File 'lib/oci8/metadata.rb', line 1664

def inspect # :nodoc:
  "#<#{self.class.name}: #{name} #{__data_type_string}>"
end

#iomodeObject

Indicates the argument mode. Values are :in, :out or :inout



1586
1587
1588
1589
1590
1591
1592
# File 'lib/oci8/metadata.rb', line 1586

def iomode
  case attr_get_ub4(OCI_ATTR_IOMODE)
  when 0; :in
  when 1; :out
  when 2; :inout
  end
end

#levelObject

The datatype levels. This attribute always returns zero.



1568
1569
1570
# File 'lib/oci8/metadata.rb', line 1568

def level
  attr_get_ub2(OCI_ATTR_LEVEL)
end

For :named_type or :ref, returns a string with the database link name of the database on which the type exists. This can happen only in the case of package local types, when the package is remote.



1631
1632
1633
# File 'lib/oci8/metadata.rb', line 1631

def link
  attr_get_string(OCI_ATTR_LINK)
end

#nameObject

the argument name



1525
1526
1527
# File 'lib/oci8/metadata.rb', line 1525

def name
  attr_get_string(OCI_ATTR_NAME)
end

#positionObject

the position of the argument in the argument list.



1530
1531
1532
# File 'lib/oci8/metadata.rb', line 1530

def position
  attr_get_ub2(OCI_ATTR_POSITION)
end

#precisionObject

The precision of numeric arguments. If the precision is nonzero and scale is -127, then it is a FLOAT, else it is a NUMBER(precision, scale). For the case when precision is 0, NUMBER(precision, scale) can be represented simply as NUMBER.



1555
1556
1557
# File 'lib/oci8/metadata.rb', line 1555

def precision
  __is_implicit? ? attr_get_sb2(OCI_ATTR_PRECISION) : attr_get_ub1(OCI_ATTR_PRECISION)
end

#radixObject

Returns a radix (if number type)



1595
1596
1597
# File 'lib/oci8/metadata.rb', line 1595

def radix
  attr_get_ub1(OCI_ATTR_RADIX)
end

#scaleObject

The scale of numeric arguments. If the precision is nonzero and scale is -127, then it is a FLOAT, else it is a NUMBER(precision, scale). For the case when precision is 0, NUMBER(precision, scale) can be represented simply as NUMBER.



1563
1564
1565
# File 'lib/oci8/metadata.rb', line 1563

def scale
  attr_get_sb1(OCI_ATTR_SCALE)
end

#schema_nameObject

For :named_type or :ref, returns a string with the schema name under which the type was created, or under which the package was created in the case of package local types



1617
1618
1619
# File 'lib/oci8/metadata.rb', line 1617

def schema_name
  attr_get_string(OCI_ATTR_SCHEMA_NAME)
end

#sub_nameObject

For :named_type or :ref, returns a string with the type name, in the case of package local types



1623
1624
1625
# File 'lib/oci8/metadata.rb', line 1623

def sub_name
  attr_get_string(OCI_ATTR_SUB_NAME)
end

#type_metadataObject

to type metadata if possible



1636
1637
1638
# File 'lib/oci8/metadata.rb', line 1636

def 
  (OCI8::Metadata::Type)
end

#type_nameObject

Returns a string which is the type name, or the package name in the case of package local types. The returned value will contain the type name if the datatype is :named_type or :ref. If the datatype is :named_type, the name of the named datatype’s type is returned. If the datatype is :ref, the type name of the named datatype pointed to by the REF is returned.



1610
1611
1612
# File 'lib/oci8/metadata.rb', line 1610

def type_name
  attr_get_string(OCI_ATTR_TYPE_NAME)
end

#typecodeObject

typecode



1535
1536
1537
# File 'lib/oci8/metadata.rb', line 1535

def typecode
  __typecode(OCI_ATTR_TYPECODE)
end