Module: PLSQL::PackageClassMethods
- Included in:
- Package
- Defined in:
- lib/plsql/package.rb
Overview
:nodoc:
Instance Method Summary collapse
Instance Method Details
#find(schema, package) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/plsql/package.rb', line 4 def find(schema, package) if schema.select_first( "SELECT object_name FROM all_objects WHERE owner = :owner AND object_name = :package AND object_type = 'PACKAGE'", schema.schema_name, package.to_s.upcase) new(schema, package) # search for synonym elsif (row = schema.select_first( "SELECT o.owner, o.object_name FROM all_synonyms s, all_objects o WHERE s.owner IN (:owner, 'PUBLIC') AND s.synonym_name = :synonym_name AND o.owner = s.table_owner AND o.object_name = s.table_name AND o.object_type = 'PACKAGE' ORDER BY DECODE(s.owner, 'PUBLIC', 1, 0)", schema.schema_name, package.to_s.upcase)) new(schema, row[1], row[0]) else nil end end |