Module | Sequel::Oracle::DatabaseMethods |
In: |
lib/sequel/adapters/shared/oracle.rb
|
TEMPORARY | = | 'GLOBAL TEMPORARY '.freeze |
AUTOINCREMENT | = | ''.freeze |
IGNORE_OWNERS | = | %w'APEX_040000 CTXSYS EXFSYS MDSYS OLAPSYS ORDDATA ORDSYS SYS SYSTEM XDB XDBMETADATA XDBPM XFILES WMSYS' |
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 |
TRANSACTION_ISOLATION_LEVELS | = | {:uncommitted=>'READ COMMITTED'.freeze, :committed=>'READ COMMITTED'.freeze, :repeatable=>'SERIALIZABLE'.freeze, :serializable=>'SERIALIZABLE'.freeze} |
autosequence | [RW] |
# File lib/sequel/adapters/shared/oracle.rb, line 13 13: def create_sequence(name, opts=OPTS) 14: self << create_sequence_sql(name, opts) 15: end
# File lib/sequel/adapters/shared/oracle.rb, line 17 17: def create_trigger(*args) 18: self << create_trigger_sql(*args) 19: end
# File lib/sequel/adapters/shared/oracle.rb, line 21 21: def current_user 22: @current_user ||= metadata_dataset.get{sys_context('USERENV', 'CURRENT_USER')} 23: end
# File lib/sequel/adapters/shared/oracle.rb, line 25 25: def drop_sequence(name) 26: self << drop_sequence_sql(name) 27: end
# File lib/sequel/adapters/shared/oracle.rb, line 34 34: def foreign_key_list(table, opts=OPTS) 35: m = output_identifier_meth 36: im = input_identifier_meth 37: schema, table = schema_and_table(table) 38: ds = metadata_dataset. 39: from(:all_cons_columns___pc, :all_constraints___p, :all_cons_columns___fc, :all_constraints___f). 40: 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). 41: select(:p__table_name___table, :pc__column_name___key, :fc__column_name___column, :f__constraint_name___name). 42: order(:table, :fc__position) 43: ds = ds.where(:f__schema_name=>im.call(schema)) if schema 44: 45: fks = {} 46: ds.each do |r| 47: if fk = fks[r[:name]] 48: fk[:columns] << m.call(r[:column]) 49: fk[:key] << m.call(r[:key]) 50: else 51: fks[r[:name]] = {:name=>m.call(r[:name]), :columns=>[m.call(r[:column])], :table=>m.call(r[:table]), :key=>[m.call(r[:key])]} 52: end 53: end 54: fks.values 55: end
# File lib/sequel/adapters/shared/oracle.rb, line 64 64: def tables(opts=OPTS) 65: m = output_identifier_meth 66: metadata_dataset.from(:all_tables). 67: server(opts[:server]). 68: where(:dropped=>'NO'). 69: exclude(:owner=>IGNORE_OWNERS). 70: select(:table_name). 71: map{|r| m.call(r[:table_name])} 72: end
# File lib/sequel/adapters/shared/oracle.rb, line 83 83: def view_exists?(name) 84: m = input_identifier_meth 85: metadata_dataset.from(:all_views). 86: exclude(:owner=>IGNORE_OWNERS). 87: where(:view_name=>m.call(name)). 88: count > 0 89: end