[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[ANN] Fireruby 0.3.0

Peter Wood

5/19/2005 2:59:00 PM

== FireRuby Version 0.3.0

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...

...and the files for this release can be obtained here...

http://rubyforge.org/frs/?gr...


2 Answers

Ara.T.Howard

5/19/2005 6:44:00 PM

0

Peter Wood

5/23/2005 2:52:00 PM

0

>On Thu, 19 May 2005, Peter Wood wrote:
>
>>== FireRuby Version 0.3.0
>>
>>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...
>>
>>...and the files for this release can be obtained here...
>>
>>http://rubyforge.org/frs/?gr...
>
>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

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