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, #timestamp

Instance Method Details

#argumentsObject

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



1615
1616
1617
# File 'lib/oci8/metadata.rb', line 1615

def arguments
  @arguments ||= list_arguments.to_a
end

#charset_formObject

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



1603
1604
1605
# File 'lib/oci8/metadata.rb', line 1603

def charset_form
  __charset_form
end

#charset_idObject

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



1597
1598
1599
# File 'lib/oci8/metadata.rb', line 1597

def charset_id
  __ub2(OCI_ATTR_CHARSET_ID)
end

#charset_nameObject

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



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

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.



1502
1503
1504
# File 'lib/oci8/metadata.rb', line 1502

def data_size
  __ub2_nc(OCI_ATTR_DATA_SIZE)
end

#data_typeObject

the datatype of the argument



1495
1496
1497
# File 'lib/oci8/metadata.rb', line 1495

def data_type
  __data_type
end

#has_defaultObject

Indicates whether an argument has a default



1528
1529
1530
# File 'lib/oci8/metadata.rb', line 1528

def has_default
  __ub1(OCI_ATTR_HAS_DEFAULT)
end

#inspectObject

:nodoc:



1619
1620
1621
# File 'lib/oci8/metadata.rb', line 1619

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

#iomodeObject

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



1541
1542
1543
1544
1545
1546
1547
# File 'lib/oci8/metadata.rb', line 1541

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

#levelObject

The datatype levels. This attribute always returns zero.



1523
1524
1525
# File 'lib/oci8/metadata.rb', line 1523

def level
  __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.



1586
1587
1588
# File 'lib/oci8/metadata.rb', line 1586

def link
  __text(OCI_ATTR_LINK)
end

#nameObject

the argument name



1480
1481
1482
# File 'lib/oci8/metadata.rb', line 1480

def name
  __text(OCI_ATTR_NAME)
end

#positionObject

the position of the argument in the argument list.



1485
1486
1487
# File 'lib/oci8/metadata.rb', line 1485

def position
  __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.



1510
1511
1512
# File 'lib/oci8/metadata.rb', line 1510

def precision
  __is_implicit? ? __sb2(OCI_ATTR_PRECISION) : __ub1(OCI_ATTR_PRECISION)
end

#radixObject

Returns a radix (if number type)



1550
1551
1552
# File 'lib/oci8/metadata.rb', line 1550

def radix
  __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.



1518
1519
1520
# File 'lib/oci8/metadata.rb', line 1518

def scale
  __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



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

def schema_name
  __text(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



1578
1579
1580
# File 'lib/oci8/metadata.rb', line 1578

def sub_name
  __text(OCI_ATTR_SUB_NAME)
end

#type_metadataObject

to type metadata if possible



1591
1592
1593
# File 'lib/oci8/metadata.rb', line 1591

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.



1565
1566
1567
# File 'lib/oci8/metadata.rb', line 1565

def type_name
  __text(OCI_ATTR_TYPE_NAME)
end

#typecodeObject

typecode



1490
1491
1492
# File 'lib/oci8/metadata.rb', line 1490

def typecode
  __typecode(OCI_ATTR_TYPECODE)
end