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.
1346 1347 1348 |
# File 'lib/oci8/metadata.rb', line 1346 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.
1339 1340 1341 |
# File 'lib/oci8/metadata.rb', line 1339 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
1423 1424 1425 |
# File 'lib/oci8/metadata.rb', line 1423 def charset_form __charset_form end |
#charset_id ⇒ Object
The character set id, if the column is of a string/character type
1418 1419 1420 |
# File 'lib/oci8/metadata.rb', line 1418 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
1441 1442 1443 |
# File 'lib/oci8/metadata.rb', line 1441 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.
1355 1356 1357 |
# File 'lib/oci8/metadata.rb', line 1355 def data_size attr_get_ub2(OCI_ATTR_DATA_SIZE) end |
#data_type ⇒ Object
the datatype of the column.
1360 1361 1362 |
# File 'lib/oci8/metadata.rb', line 1360 def data_type __data_type end |
#data_type_string ⇒ Object Also known as: type_string
1445 1446 1447 |
# File 'lib/oci8/metadata.rb', line 1445 def data_type_string __data_type_string end |
#fsprecision ⇒ Object
The fractional seconds precision of a datetime or interval.
1431 1432 1433 |
# File 'lib/oci8/metadata.rb', line 1431 def fsprecision attr_get_ub1(OCI_ATTR_FSPRECISION) end |
#inspect ⇒ Object
:nodoc:
1454 1455 1456 |
# File 'lib/oci8/metadata.rb', line 1454 def inspect # :nodoc: "#<#{self.class.name}: #{name} #{__data_type_string}>" end |
#lfprecision ⇒ Object
The leading field precision of an interval
1436 1437 1438 |
# File 'lib/oci8/metadata.rb', line 1436 def lfprecision attr_get_ub1(OCI_ATTR_LFPRECISION) end |
#name ⇒ Object
column name
1365 1366 1367 |
# File 'lib/oci8/metadata.rb', line 1365 def name attr_get_string(OCI_ATTR_NAME) end |
#nullable? ⇒ Boolean
Returns 0 if null values are not permitted for the column
1386 1387 1388 |
# File 'lib/oci8/metadata.rb', line 1386 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.
1373 1374 1375 |
# File 'lib/oci8/metadata.rb', line 1373 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.
1381 1382 1383 |
# File 'lib/oci8/metadata.rb', line 1381 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
1402 1403 1404 1405 |
# File 'lib/oci8/metadata.rb', line 1402 def schema_name rv = attr_get_string(OCI_ATTR_SCHEMA_NAME) rv.length == 0 ? nil : rv end |
#to_s ⇒ Object
1450 1451 1452 |
# File 'lib/oci8/metadata.rb', line 1450 def to_s %Q{"#{name}" #{__data_type_string}} end |
#type_metadata ⇒ Object
to type metadata if possible
1408 1409 1410 1411 1412 1413 1414 1415 |
# File 'lib/oci8/metadata.rb', line 1408 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
1396 1397 1398 1399 |
# File 'lib/oci8/metadata.rb', line 1396 def type_name rv = attr_get_string(OCI_ATTR_TYPE_NAME) rv.length == 0 ? nil : rv end |