Skip to content

Releases: cloudvolumes/ruby-odbc

0.103.cv to Support ruby 3.3.x

Choose a tag to compare

@ap14087 ap14087 released this 27 Jun 09:40
d1e5869

What's Changed

New Contributors

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

0.102.cv to Support Ruby 3.0+

Choose a tag to compare

@raj-sharan raj-sharan released this 21 Aug 16:29
fd9193f

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

Choose a tag to compare

@smlsml smlsml released this 13 Feb 01:36

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

Choose a tag to compare

@smlsml smlsml released this 31 Aug 19:09

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

0.99.cv

Choose a tag to compare

@smlsml smlsml released this 31 Aug 19:07

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

Force encoding of ruby result strings

Choose a tag to compare

@smlsml smlsml released this 26 Feb 21:40

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

Choose a tag to compare

@smlsml smlsml released this 26 Feb 21:36

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.