module Sequel::JDBC::Oracle::DatabaseMethods

Public Class Methods

extended(db) click to toggle source
   # File lib/sequel/adapters/jdbc/oracle.rb
42 def self.extended(db)
43   db.instance_exec do
44     @autosequence = opts[:autosequence]
45     @primary_key_sequences = {}
46   end
47 end

Private Instance Methods

database_exception_use_sqlstates?() click to toggle source

Oracle exception handling with SQLState is less accurate than with regexps.

   # File lib/sequel/adapters/jdbc/oracle.rb
52 def database_exception_use_sqlstates?
53   false
54 end
default_fetch_size() click to toggle source

Default the fetch size for statements to 100, similar to the oci8-based oracle adapter.

   # File lib/sequel/adapters/jdbc/oracle.rb
61 def default_fetch_size
62   100
63 end
disconnect_error?(exception, opts) click to toggle source
Calls superclass method
   # File lib/sequel/adapters/jdbc/oracle.rb
56 def disconnect_error?(exception, opts)
57   super || exception.message =~ /\AClosed Connection/
58 end
last_insert_id(conn, opts) click to toggle source
   # File lib/sequel/adapters/jdbc/oracle.rb
65 def last_insert_id(conn, opts)
66   unless sequence = opts[:sequence]
67     if t = opts[:table]
68       sequence = sequence_for_table(t)
69     end
70   end
71   if sequence
72     sql = "SELECT #{literal(sequence)}.currval FROM dual"
73     statement(conn) do |stmt|
74       begin
75         rs = log_connection_yield(sql, conn){stmt.executeQuery(sql)}
76         rs.next
77         rs.getLong(1)
78       rescue java.sql.SQLException
79         nil
80       end
81     end
82   end
83 end
primary_key_index_re() click to toggle source

Primary key indexes appear to start with sys_ on Oracle

   # File lib/sequel/adapters/jdbc/oracle.rb
86 def primary_key_index_re
87   /\Asys_/i
88 end
schema_parse_table(*) click to toggle source
Calls superclass method
    # File lib/sequel/adapters/jdbc/oracle.rb
 90 def schema_parse_table(*)
 91   sch = super
 92   sch.each do |c, s|
 93     if s[:type] == :decimal && s[:scale] == -127
 94       s[:type] = :integer
 95     elsif s[:db_type] == 'DATE'
 96       s[:type] = :datetime
 97     end
 98   end
 99   sch
100 end
schema_parse_table_skip?(h, schema) click to toggle source
Calls superclass method
    # File lib/sequel/adapters/jdbc/oracle.rb
102 def schema_parse_table_skip?(h, schema)
103   super || (h[:table_schem] != current_user unless schema)
104 end
setup_type_convertor_map() click to toggle source
Calls superclass method
    # File lib/sequel/adapters/jdbc/oracle.rb
111 def setup_type_convertor_map
112   super
113   @type_convertor_map[:OracleDecimal] = Oracle.method(:OracleDecimal)
114   @type_convertor_map[:OracleClob] = Oracle.method(:OracleClob)
115 end
supports_releasing_savepoints?() click to toggle source

As of Oracle 9.2, releasing savepoints is no longer supported.

    # File lib/sequel/adapters/jdbc/oracle.rb
107 def supports_releasing_savepoints?
108   false
109 end