Methods
Public Instance
Constants
AUTOINCREMENT | = | ''.freeze | ||
DATABASE_ERROR_REGEXPS | = | { /unique constraint .+ violated/ => UniqueConstraintViolation, /integrity constraint .+ violated/ => ForeignKeyConstraintViolation, /check constraint .+ violated/ => CheckConstraintViolation, /cannot insert NULL into|cannot update .+ to NULL/ => NotNullConstraintViolation, /can't serialize access for this transaction/ => SerializationFailure, }.freeze | ||
TEMPORARY | = | 'GLOBAL TEMPORARY '.freeze | ||
TRANSACTION_ISOLATION_LEVELS | = | {:uncommitted=>'READ COMMITTED'.freeze, :committed=>'READ COMMITTED'.freeze, :repeatable=>'SERIALIZABLE'.freeze, :serializable=>'SERIALIZABLE'.freeze} |
Attributes
autosequence | [RW] |
Public Instance methods
create_sequence
(name, opts=OPTS)
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 13 def create_sequence(name, opts=OPTS) self << create_sequence_sql(name, opts) end
create_trigger
(*args)
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 17 def create_trigger(*args) self << create_trigger_sql(*args) end
current_user
()
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 21 def current_user @current_user ||= metadata_dataset.get{sys_context('USERENV', 'CURRENT_USER')} end
database_type
()
Oracle uses the :oracle database type
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 30 def database_type :oracle end
drop_sequence
(name)
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 25 def drop_sequence(name) self << drop_sequence_sql(name) end
foreign_key_list
(table, opts=OPTS)
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 34 def foreign_key_list(table, opts=OPTS) m = output_identifier_meth im = input_identifier_meth schema, table = schema_and_table(table) ds = metadata_dataset. from(:all_cons_columns___pc, :all_constraints___p, :all_cons_columns___fc, :all_constraints___f). where(:f__table_name=>im.call(table), :f__constraint_type=>'R', :p__owner=>:f__r_owner, :p__constraint_name=>:f__r_constraint_name, :pc__owner=>:p__owner, :pc__constraint_name=>:p__constraint_name, :pc__table_name=>:p__table_name, :fc__owner=>:f__owner, :fc__constraint_name=>:f__constraint_name, :fc__table_name=>:f__table_name, :fc__position=>:pc__position). select(:p__table_name___table, :pc__column_name___key, :fc__column_name___column, :f__constraint_name___name). order(:table, :fc__position) ds = ds.where(:f__schema_name=>im.call(schema)) if schema fks = {} ds.each do |r| if fk = fks[r[:name]] fk[:columns] << m.call(r[:column]) fk[:key] << m.call(r[:key]) else fks[r[:name]] = {:name=>m.call(r[:name]), :columns=>[m.call(r[:column])], :table=>m.call(r[:table]), :key=>[m.call(r[:key])]} end end fks.values end
global_index_namespace?
()
Oracle namespaces indexes per table.
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 58 def global_index_namespace? false end
supports_deferrable_constraints?
()
Oracle supports deferrable constraints.
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 78 def supports_deferrable_constraints? true end
supports_transaction_isolation_levels?
()
Oracle supports transaction isolation levels.
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 83 def supports_transaction_isolation_levels? true end
tables
(opts=OPTS)
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 62 def tables(opts=OPTS) m = output_identifier_meth metadata_dataset.from(:tabs).server(opts[:server]).select(:table_name).map{|r| m.call(r[:table_name])} end
view_exists?
(name)
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 72 def view_exists?(name) m = input_identifier_meth metadata_dataset.from(:tab).filter(:tname =>m.call(name), :tabtype => 'VIEW').count > 0 end
views
(opts=OPTS)
[show source]
# File lib/sequel/adapters/shared/oracle.rb, line 67 def views(opts=OPTS) m = output_identifier_meth metadata_dataset.from(:tab).server(opts[:server]).select(:tname).filter(:tabtype => 'VIEW').map{|r| m.call(r[:tname])} end