Class: OCI8::Metadata::Column
Overview
Metadata for a sequence.
This is returned by:
-
OCI8::Metadata::Table#columns
Instance Method Summary collapse
-
#char_size ⇒ Object
returns the column character length which is the number of characters allowed in the column.
-
#char_used? ⇒ Boolean
returns the type of length semantics of the column.
-
#charset_form ⇒ Object
The character set form, if the column is of a string/character type.
-
#charset_id ⇒ Object
The character set id, if the column is of a string/character type.
-
#charset_name ⇒ Object
The character set name, if the column is of a string/character type.
-
#data_size ⇒ Object
The maximum size of the column.
-
#data_type ⇒ Object
the datatype of the column.
- #data_type_string ⇒ Object (also: #type_string)
-
#fsprecision ⇒ Object
The fractional seconds precision of a datetime or interval.
-
#inspect ⇒ Object
:nodoc:.
-
#lfprecision ⇒ Object
The leading field precision of an interval.
-
#name ⇒ Object
column name.
-
#nullable? ⇒ Boolean
Returns 0 if null values are not permitted for the column.
-
#precision ⇒ Object
The precision of numeric columns.
-
#scale ⇒ Object
The scale of numeric columns.
-
#schema_name ⇒ Object
Returns a string with the schema name under which the type has been created.
- #to_s ⇒ Object
-
#type_metadata ⇒ Object
to type metadata if possible.
-
#type_name ⇒ Object
Returns a string which is the type name.
Methods inherited from Base
#obj_id, #obj_link, #obj_name, #obj_schema
Instance Method Details
#char_size ⇒ Object
returns the column character length which is the number of characters allowed in the column. It is the counterpart of OCI8::Metadata::Column#data_size which gets the byte length.
1355 1356 1357 |
# File 'lib/oci8/metadata.rb', line 1355 def char_size attr_get_ub2(OCI_ATTR_CHAR_SIZE) end |
#char_used? ⇒ Boolean
returns the type of length semantics of the column.
:byte
-
byte-length semantics
:char
-
character-length semantics.
(unavailable on Oracle 8.1 or lower)
1348 1349 1350 |
# File 'lib/oci8/metadata.rb', line 1348 def char_used? attr_get_ub1(OCI_ATTR_CHAR_USED) != 0 end |
#charset_form ⇒ Object
The character set form, if the column is of a string/character type
1441 1442 1443 |
# File 'lib/oci8/metadata.rb', line 1441 def charset_form __charset_form end |
#charset_id ⇒ Object
The character set id, if the column is of a string/character type
1436 1437 1438 |
# File 'lib/oci8/metadata.rb', line 1436 def charset_id attr_get_ub2(OCI_ATTR_CHARSET_ID) end |
#charset_name ⇒ Object
The character set name, if the column is of a string/character type
1465 1466 1467 |
# File 'lib/oci8/metadata.rb', line 1465 def charset_name __charset_name(charset_id) end |
#data_size ⇒ Object
The maximum size of the column. This length is returned in bytes and not characters for strings and raws. This returns character length multiplied by NLS ratio for character-length semantics columns when using Oracle 9i or upper.
1373 1374 1375 |
# File 'lib/oci8/metadata.rb', line 1373 def data_size attr_get_ub2(OCI_ATTR_DATA_SIZE) end |
#data_type ⇒ Object
the datatype of the column.
1378 1379 1380 |
# File 'lib/oci8/metadata.rb', line 1378 def data_type __data_type end |
#data_type_string ⇒ Object Also known as: type_string
1469 1470 1471 |
# File 'lib/oci8/metadata.rb', line 1469 def data_type_string __data_type_string end |
#fsprecision ⇒ Object
The fractional seconds precision of a datetime or interval.
(unavailable on Oracle 8.1 or lower)
1452 1453 1454 |
# File 'lib/oci8/metadata.rb', line 1452 def fsprecision attr_get_ub1(OCI_ATTR_FSPRECISION) end |
#inspect ⇒ Object
:nodoc:
1478 1479 1480 |
# File 'lib/oci8/metadata.rb', line 1478 def inspect # :nodoc: "#<#{self.class.name}: #{name} #{__data_type_string}>" end |
#lfprecision ⇒ Object
The leading field precision of an interval
(unavailable on Oracle 8.1 or lower)
1459 1460 1461 |
# File 'lib/oci8/metadata.rb', line 1459 def lfprecision attr_get_ub1(OCI_ATTR_LFPRECISION) end |
#name ⇒ Object
column name
1383 1384 1385 |
# File 'lib/oci8/metadata.rb', line 1383 def name attr_get_string(OCI_ATTR_NAME) end |
#nullable? ⇒ Boolean
Returns 0 if null values are not permitted for the column
1404 1405 1406 |
# File 'lib/oci8/metadata.rb', line 1404 def nullable? __boolean(OCI_ATTR_IS_NULL) end |
#precision ⇒ Object
The precision of numeric columns. 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.
1391 1392 1393 |
# File 'lib/oci8/metadata.rb', line 1391 def precision __is_implicit? ? attr_get_sb2(OCI_ATTR_PRECISION) : attr_get_ub1(OCI_ATTR_PRECISION) end |
#scale ⇒ Object
The scale of numeric columns. 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.
1399 1400 1401 |
# File 'lib/oci8/metadata.rb', line 1399 def scale attr_get_sb1(OCI_ATTR_SCALE) end |
#schema_name ⇒ Object
Returns a string with the schema name under which the type has been created
1420 1421 1422 1423 |
# File 'lib/oci8/metadata.rb', line 1420 def schema_name rv = attr_get_string(OCI_ATTR_SCHEMA_NAME) rv.length == 0 ? nil : rv end |
#to_s ⇒ Object
1474 1475 1476 |
# File 'lib/oci8/metadata.rb', line 1474 def to_s %Q{"#{name}" #{__data_type_string}} end |
#type_metadata ⇒ Object
to type metadata if possible
1426 1427 1428 1429 1430 1431 1432 1433 |
# File 'lib/oci8/metadata.rb', line 1426 def case attr_get_ub2(OCI_ATTR_DATA_TYPE) when 108, 110 # named_type or ref (OCI8::Metadata::Type) else nil end end |
#type_name ⇒ Object
Returns a string which is the type name. 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
1414 1415 1416 1417 |
# File 'lib/oci8/metadata.rb', line 1414 def type_name rv = attr_get_string(OCI_ATTR_TYPE_NAME) rv.length == 0 ? nil : rv end |