Skip to content

Releases: cloudvolumes/ruby-odbc

0.103.cv to Support ruby 3.3.x

27 Jun 09:40
d1e5869

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.102.cv...0.103.cv

0.102.cv to Support Ruby 3.0+

21 Aug 16:29
fd9193f

Choose a tag to compare

Remove tained usage. Used native 'rb_str_new' instead of 'rb_tainted_str_new'
Fix error 'tried to create Proc object without a block (ArgumentError)'

0.101.cv to support Ruby 2.4.x

13 Feb 01:36

Choose a tag to compare

Minor syntax changes to support Ruby 2.4

  • Don't pass "" as the second parameter to has_library()
  • Ensure char* are passed to rb_scan_args()

0.100.cv - Support Ruby 2.x

31 Aug 19:09

Choose a tag to compare

This release supports Ruby 2.x by using the native GVL unlocking function.

0.99.cv

31 Aug 19:07

Choose a tag to compare

Includes increase of the connect timeout to 30 seconds and the removal of a spammy debug message.

Force encoding of ruby result strings

26 Feb 21:40

Choose a tag to compare

Wed Feb 26 2014 version 0.97.cv release steve@cloudvolumes.com

* Force encoding of all ruby strings in results to UTF8 if Encoding.default_external == 'UTF-8'
  You must be saving and retrieving UTF8 compatible strings in the database.

Release global interpreter lock during SQLExecute/SQLExecDirect

26 Feb 21:36

Choose a tag to compare

Wed Jan 16 2014 version 0.99996.cv released

* Added call to rb_thread_blocking_region to release the global
  interpreter lock during SQLExecute and SQLExecDirect and require it
  afterwards.

  This improves performance by not blocking all Ruby threads during long
  running queries. This also fixes a deadlock which can occur in SQLExecute and
  SQLExecDirect which can happen when trying to read (if isolation level is
  "read committed", "repeatable read", "serializable", etc.) or when trying to
  modify a dirty row that has been modified by an uncommitted transaction. If this
  transaction was initiated by a ruby thread in the same process, all ruby threads
  will hang and the ruby process will become unresponsive.