Module: Sequel::Oracle::DatabaseMethods
- Extended by:
- Database::ResetIdentifierMangling
- Included in:
- JDBC::Oracle::DatabaseMethods, Database
- Defined in:
- lib/sequel/adapters/shared/oracle.rb
Constant Summary collapse
- TEMPORARY =
'GLOBAL TEMPORARY '.freeze
- AUTOINCREMENT =
''.freeze
Instance Attribute Summary collapse
-
#autosequence ⇒ Object
Returns the value of attribute autosequence.
Instance Method Summary collapse
- #create_sequence(name, opts = {}) ⇒ Object
- #create_trigger(*args) ⇒ Object
- #current_user ⇒ Object
-
#database_type ⇒ Object
Oracle uses the :oracle database type.
- #drop_sequence(name) ⇒ Object
-
#global_index_namespace? ⇒ Boolean
Oracle namespaces indexes per table.
-
#supports_deferrable_constraints? ⇒ Boolean
Oracle supports deferrable constraints.
-
#supports_transaction_isolation_levels? ⇒ Boolean
DB2 supports transaction isolation levels.
- #tables(opts = {}) ⇒ Object
- #view_exists?(name) ⇒ Boolean
- #views(opts = {}) ⇒ Object
Methods included from Database::ResetIdentifierMangling
Instance Attribute Details
#autosequence ⇒ Object
Returns the value of attribute autosequence.
11 12 13 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 11 def autosequence @autosequence end |
Instance Method Details
#create_sequence(name, opts = {}) ⇒ Object
13 14 15 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 13 def create_sequence(name, opts={}) self << create_sequence_sql(name, opts) end |
#create_trigger(*args) ⇒ Object
17 18 19 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 17 def create_trigger(*args) self << create_trigger_sql(*args) end |
#current_user ⇒ Object
21 22 23 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 21 def current_user @current_user ||= .get{sys_context('USERENV', 'CURRENT_USER')} end |
#database_type ⇒ Object
Oracle uses the :oracle database type
30 31 32 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 30 def database_type :oracle end |
#drop_sequence(name) ⇒ Object
25 26 27 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 25 def drop_sequence(name) self << drop_sequence_sql(name) end |
#global_index_namespace? ⇒ Boolean
Oracle namespaces indexes per table.
35 36 37 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 35 def global_index_namespace? false end |
#supports_deferrable_constraints? ⇒ Boolean
Oracle supports deferrable constraints.
55 56 57 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 55 def supports_deferrable_constraints? true end |
#supports_transaction_isolation_levels? ⇒ Boolean
DB2 supports transaction isolation levels.
60 61 62 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 60 def supports_transaction_isolation_levels? true end |
#tables(opts = {}) ⇒ Object
39 40 41 42 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 39 def tables(opts={}) m = output_identifier_meth .from(:tab).server(opts[:server]).select(:tname).filter(:tabtype => 'TABLE').map{|r| m.call(r[:tname])} end |
#view_exists?(name) ⇒ Boolean
49 50 51 52 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 49 def view_exists?(name) m = input_identifier_meth .from(:tab).filter(:tname =>m.call(name), :tabtype => 'VIEW').count > 0 end |
#views(opts = {}) ⇒ Object
44 45 46 47 |
# File 'lib/sequel/adapters/shared/oracle.rb', line 44 def views(opts={}) m = output_identifier_meth .from(:tab).server(opts[:server]).select(:tname).filter(:tabtype => 'VIEW').map{|r| m.call(r[:tname])} end |