K
KUBO Takehiro
ruby-oci8 1.0.1 is released. This is a Oracle module using OCI8 API.
http://rubyforge.org/projects/ruby-oci8/
ruby-oci8-unstalbe 2.0-svn-262 is also released.
This will be ruby-oci8 2.0 in future. Many features are added.
Some of them are contributed by Oracle Corporation.
Excuse me for not writing changes between 1.0 and 2.0.
What's new in ruby-oci8 1.0.1.
1. [SPEC CHANGE] OCI8#exec and OCI8::Cursor#exec's return value is changed
for statement except select, insert, update and delete statement.
It had been true. But now it is the number of rows processed for all
non-select statements.
For example:
# 1.0.0 or before
conn = OCI8.new('user/pass')
conn.exec('rename FOO_TABLE to BAR_TABLE') # => true
# 1.0.1
conn = OCI8.new('user/pass')
conn.exec('rename FOO_TABLE to BAR_TABLE') # => 0
2. fix a bug that OraDate.new made a core dump on x86_64 linux.
(reported by Alun Eyre)
3. fix OCI8#non_blocking = false problem.
Once the connection became non-bocking mode, it could
not be reset to blocking mode. Now it can be reset.
(reported by Cagdas Gerede)
4. support cursors in a result set.
(contributed by Randy Gordon)
For example:
conn = OCI8.new('ruby/oci8')
sql = 'SELECT CURSOR(SELECT * FROM foo where foo.c1 = bar.c1 ) FROM bar'
conn.exec(sql) do |row|
cursor_in_result_set = row[0]
cursor_in_result_set.fetch do |row|
puts row.join(',')
end
end
5. fix oraconf.rb for official x86_64 linux rpms.
(contributed by Pat)
http://rubyforge.org/projects/ruby-oci8/
ruby-oci8-unstalbe 2.0-svn-262 is also released.
This will be ruby-oci8 2.0 in future. Many features are added.
Some of them are contributed by Oracle Corporation.
Excuse me for not writing changes between 1.0 and 2.0.
What's new in ruby-oci8 1.0.1.
1. [SPEC CHANGE] OCI8#exec and OCI8::Cursor#exec's return value is changed
for statement except select, insert, update and delete statement.
It had been true. But now it is the number of rows processed for all
non-select statements.
For example:
# 1.0.0 or before
conn = OCI8.new('user/pass')
conn.exec('rename FOO_TABLE to BAR_TABLE') # => true
# 1.0.1
conn = OCI8.new('user/pass')
conn.exec('rename FOO_TABLE to BAR_TABLE') # => 0
2. fix a bug that OraDate.new made a core dump on x86_64 linux.
(reported by Alun Eyre)
3. fix OCI8#non_blocking = false problem.
Once the connection became non-bocking mode, it could
not be reset to blocking mode. Now it can be reset.
(reported by Cagdas Gerede)
4. support cursors in a result set.
(contributed by Randy Gordon)
For example:
conn = OCI8.new('ruby/oci8')
sql = 'SELECT CURSOR(SELECT * FROM foo where foo.c1 = bar.c1 ) FROM bar'
conn.exec(sql) do |row|
cursor_in_result_set = row[0]
cursor_in_result_set.fetch do |row|
puts row.join(',')
end
end
5. fix oraconf.rb for official x86_64 linux rpms.
(contributed by Pat)