FireRuby is an extension to the Ruby language that provides access to the C API
functionality of the Firebird relational database management system.
This release extends the functionality of the Row object to allow it to be used
as a read only Hash object and adds new funcionality relating to the Firebird
RDBMS service manager.
Once again I would like to thank Ken Kunz for his support and input to the
FireRuby project. Ken performs the unit testing and creates the gem
file for the
Linux version of the FireRuby library.
== Enhancements & Alterations
The Row class has been extended to include equivalents for all Hash
methods that
do would not alter the contents of the Hash. This effectively allows
an instance
of the Row class to be used as a Hash anywhere that a Hash object can be used
without the need to change it's contents.
A ServiceManager class and a collection of task related classes have been added
for this release. The ServiceManager class represents a connection to
a Firebird
service manager instance. Task classes have been provided that allow for the
backing up and restoration of databases as well as the addition or removal of
database users.
The Statement and ResultSet classes under went a major rewrite. This was done
to eliminate a dependency between these two classes (the Statement class was
using the ResultSet class to execute SQL regardless of whether the statement
being executed was a query). This was an illogical and ill-consider set up and
has now been eliminated. An effort was made to minimize changes to
the interface
but there have been some (primarily the constructor for the ResultSet class).
The ResultSet class has now been restricted for use with queries only and will
generate and exception if a non-query statement is specified. Queries can still
be run through the Statement class but, if you know you're executing a query
statement, it is more efficient to go straight to a ResultSet object.
== Bug Fixes
The only currently outstanding bug relates to accessing methods on
the ResultSet
class objects that have been created with a non-query SQL statement. This class
has been fundamentally re-written and no longer allows the use of non-query SQL
statements. This bug is therefore closed.
== Downloads
The FireRuby project is hosted on the Ruby Forge web siteThe home page for the
project is here...
http://rubyforge.org/projects/fireruby/
..and the files for this release can be obtained here...
http://rubyforge.org/frs/?group_id=596
> ...and the files for this release can be obtained here...
>
> http://rubyforge.org/frs/?group_id=596
looks like you had some strange things going on when you compiled:
[ahoward@localhost fireruby-0.3.0-i586-linux]$ ruby -r examples/example01.rb
./lib/fireruby.so: libruby18.so.1.8: cannot open shared object file: No such file or directory - ./lib/fireruby.so (LoadError)
[ahoward@localhost fireruby-0.3.0-i586-linux]$ ldd lib/fireruby.so
libfbclient.so.1 => /opt/firebird/lib/libfbclient.so.1 (0xb7f74000)
libruby18.so.1.8 => not found
libdl.so.2 => /lib/libdl.so.2 (0xb7f54000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7f26000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7f03000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7dd9000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb7d1d000)
libncurses.so.5 => /usr/lib/libncurses.so.5 (0xb7cdb000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7cc9000)
/lib/ld-linux.so.2 (0x00569000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7cc1000)
i had to make a link to get it to work. probably other people won't have
libruby18.so.1.8 either...
can you post an example of using the api in an embedded fashion?
cheers.
-a
--
===============================================================================
| email :: ara [dot] t [dot] howard [at] noaa [dot] gov
| phone :: 303.497.6469
| My religion is very simple. My religion is kindness.
| --Tenzin Gyatso
===============================================================================
Ara,
This problem was being caused by the Linux version of the library
being built on a system that had a non-standard name for the Ruby
library. An update build against the correctly named library has been
created and the incorrect version on the Ruby Forge site has been
replaced. Linux users of this library should download this updated
version. If anyone has any further problems with the library they
should let me know.
Peter