Class: Sequel::Oracle::Database
Constant Summary
collapse
- CONNECTION_ERROR_CODES =
ORA-00028: your session has been killed
ORA-01012: not logged on
ORA-02396: exceeded maximum idle time, please connect again
ORA-03113: end-of-file on communication channel
ORA-03114: not connected to ORACLE
ORA-03135: connection lost contact
[ 28, 1012, 2396, 3113, 3114, 3135 ].freeze
- ORACLE_TYPES =
{
:blob=>lambda{|b| Sequel::SQL::Blob.new(b.read)},
:clob=>:read.to_proc
}.freeze
Sequel::Oracle::DatabaseMethods::IGNORE_OWNERS
Instance Attribute Summary collapse
#autosequence
Instance Method Summary
collapse
#create_sequence, #create_trigger, #current_user, #database_type, #drop_sequence, #foreign_key_list, #global_index_namespace?, #server_version, #supports_deferrable_constraints?, #supports_transaction_isolation_levels?, #tables, #view_exists?, #views
Instance Attribute Details
#conversion_procs ⇒ Object
Hash of conversion procs for this database.
26
27
28
|
# File 'lib/sequel/adapters/oracle.rb', line 26
def conversion_procs
@conversion_procs
end
|
Instance Method Details
#connect(server) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/sequel/adapters/oracle.rb', line 28
def connect(server)
opts = server_opts(server)
if opts[:database]
dbname = opts[:host] ? \
"//#{opts[:host]}#{":#{opts[:port]}" if opts[:port]}/#{opts[:database]}" : opts[:database]
else
dbname = opts[:host]
end
conn = OCI8.new(opts[:user], opts[:password], dbname, opts[:privilege])
if prefetch_rows = opts.fetch(:prefetch_rows, 100)
conn.prefetch_rows = typecast_value_integer(prefetch_rows)
end
conn.autocommit = true
conn.non_blocking = true
if Sequel.application_timezone == :utc
conn.exec("ALTER SESSION SET TIME_ZONE='-00:00'")
end
class << conn
attr_reader :prepared_statements
end
conn.instance_variable_set(:@prepared_statements, {})
conn
end
|
#disconnect_connection(c) ⇒ Object
62
63
64
65
66
|
# File 'lib/sequel/adapters/oracle.rb', line 62
def disconnect_connection(c)
c.logoff
rescue OCIException
nil
end
|
#execute(sql, opts = OPTS, &block) ⇒ Object
68
69
70
|
# File 'lib/sequel/adapters/oracle.rb', line 68
def execute(sql, opts=OPTS, &block)
_execute(nil, sql, opts, &block)
end
|
#execute_insert(sql, opts = OPTS) ⇒ Object
72
73
74
|
# File 'lib/sequel/adapters/oracle.rb', line 72
def execute_insert(sql, opts=OPTS)
_execute(:insert, sql, opts)
end
|
76
77
78
79
|
# File 'lib/sequel/adapters/oracle.rb', line 76
def freeze
@conversion_procs.freeze
super
end
|