Module: PLSQL::ViewClassMethods
- Included in:
- View
- Defined in:
- lib/plsql/view.rb
Overview
:nodoc:
Instance Method Summary collapse
Instance Method Details
#find(schema, view) ⇒ 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 28 29 30 31 |
# File 'lib/plsql/view.rb', line 4 def find(schema, view) if schema.select_first( "SELECT view_name FROM all_views WHERE owner = :owner AND view_name = :view_name", schema.schema_name, view.to_s.upcase) new(schema, view) # search for synonym elsif (row = schema.select_first( "SELECT v.owner, v.view_name FROM all_synonyms s, all_views v WHERE s.owner = :owner AND s.synonym_name = :synonym_name AND v.owner = s.table_owner AND v.view_name = s.table_name UNION ALL SELECT v.owner, v.view_name FROM all_synonyms s, all_views v WHERE s.owner = 'PUBLIC' AND s.synonym_name = :synonym_name AND v.owner = s.table_owner AND v.view_name = s.table_name", schema.schema_name, view.to_s.upcase, view.to_s.upcase)) new(schema, row[1], row[0]) else nil end end |