module Sequel::JDBC::Oracle::DatabaseMethods

Public Class Methods

extended(db) click to toggle source
   # File lib/sequel/adapters/jdbc/oracle.rb
43 def self.extended(db)
44   db.instance_exec do
45     @autosequence = opts[:autosequence]
46     @primary_key_sequences = {}
47   end
48 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
53 def database_exception_use_sqlstates?
54   false
55 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
62 def default_fetch_size
63   100
64 end
disconnect_error?(exception, opts) click to toggle source
Calls superclass method
   # File lib/sequel/adapters/jdbc/oracle.rb
57 def disconnect_error?(exception, opts)
58   super || exception.message =~ /\AClosed Connection/
59 end
last_insert_id(conn, opts) click to toggle source
   # File lib/sequel/adapters/jdbc/oracle.rb
66 def last_insert_id(conn, opts)
67   unless sequence = opts[:sequence]
68     if t = opts[:table]
69       sequence = sequence_for_table(t)
70     end
71   end
72   if sequence
73     sql = "SELECT #{literal(sequence)}.currval FROM dual"
74     statement(conn) do |stmt|
75       begin
76         rs = log_connection_yield(sql, conn){stmt.executeQuery(sql)}
77         rs.next
78         rs.getLong(1)
79       rescue java.sql.SQLException
80         nil
81       end
82     end
83   end
84 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
87 def primary_key_index_re
88   /\Asys_/i
89 end
schema_parse_table(*) click to toggle source
Calls superclass method
    # File lib/sequel/adapters/jdbc/oracle.rb
 91 def schema_parse_table(*)
 92   sch = super
 93   sch.each do |c, s|
 94     if s[:type] == :decimal && s[:scale] == -127
 95       s[:type] = :integer
 96     elsif s[:db_type] == 'DATE'
 97       s[:type] = :datetime
 98     end
 99   end
100   sch
101 end
schema_parse_table_skip?(h, schema) click to toggle source
Calls superclass method
    # File lib/sequel/adapters/jdbc/oracle.rb
103 def schema_parse_table_skip?(h, schema)
104   super || (h[:table_schem] != current_user unless schema)
105 end
setup_type_convertor_map() click to toggle source
Calls superclass method
    # File lib/sequel/adapters/jdbc/oracle.rb
112 def setup_type_convertor_map
113   super
114   @type_convertor_map[:OracleDecimal] = ORACLE_DECIMAL
115   @type_convertor_map[:OracleClob] = ORACLE_CLOB
116 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
108 def supports_releasing_savepoints?
109   false
110 end