Class: OCI8::Metadata::Subprogram
Overview
Information about PL/SQL subprograms
A PL/SQL subprogram is a named PL/SQL block that can be invoked with a set of parameters. A subprogram can be either a procedure or a function.
This is the abstract base class of OCI8::Metadata::Procedure and OCI8::Metadata::Function.
Instance Method Summary collapse
-
#arguments ⇒ array of OCI8::Metadata::Argument
Returns argument information of the subprogram.
-
#is_invoker_rights? ⇒ Boolean
Returns
true
if the subprogram has invoker’s rights. -
#is_standalone? ⇒ Boolean
Returns
true
if the subprogram is standalone,false
if packaged. -
#obj_id ⇒ Object
:nodoc:.
-
#obj_name ⇒ Object
(also: #name)
:nodoc:.
-
#obj_schema ⇒ Object
:nodoc:.
-
#overload_id ⇒ Integer or nil
Returns
nil
for a standalone stored subprogram, positive integer for an overloaded packaged subprogram, otherwise zero.
Instance Method Details
#arguments ⇒ array of OCI8::Metadata::Argument
Returns argument information of the subprogram. If it is a function, the first array element is information of its return type.
581 582 583 |
# File 'lib/oci8/metadata.rb', line 581 def arguments @arguments ||= list_arguments.to_a end |
#is_invoker_rights? ⇒ Boolean
Returns true
if the subprogram has invoker’s rights. Otherwise, false
.
554 555 556 |
# File 'lib/oci8/metadata.rb', line 554 def is_invoker_rights? attr_get_ub1(OCI_ATTR_IS_INVOKER_RIGHTS) != 0 end |
#is_standalone? ⇒ Boolean
Returns true
if the subprogram is standalone, false
if packaged.
587 588 589 590 |
# File 'lib/oci8/metadata.rb', line 587 def is_standalone? @is_standalone = true unless defined? @is_standalone @is_standalone end |
#obj_id ⇒ Object
:nodoc:
539 540 541 |
# File 'lib/oci8/metadata.rb', line 539 def obj_id # :nodoc: super if is_standalone? end |
#obj_name ⇒ Object Also known as: name
:nodoc:
543 544 545 |
# File 'lib/oci8/metadata.rb', line 543 def obj_name # :nodoc: is_standalone? ? super : attr_get_string(OCI_ATTR_NAME) end |
#obj_schema ⇒ Object
:nodoc:
547 548 549 |
# File 'lib/oci8/metadata.rb', line 547 def obj_schema # :nodoc: super if is_standalone? end |
#overload_id ⇒ Integer or nil
Returns nil
for a standalone stored subprogram, positive integer for an overloaded packaged subprogram, otherwise zero.
573 574 575 |
# File 'lib/oci8/metadata.rb', line 573 def overload_id attr_get_ub2(OCI_ATTR_OVERLOAD_ID) unless is_standalone? end |