On Sun, 4 Jul 2004, Jamis Buck wrote:

> I'm getting ready to release a "release-candidate" of SQLite/Ruby 1.3.0.
> The only thing different about this one is that "arrayfields" is no longer a
> dependency.
>
> I liked Sean's suggestion about leaving the "arrayfields" dependency up the
> programmer, so now you can have result set rows returned either as Hashes
> (the original behavior) or as arrays. If you are using arrays, then the
> result-set rows will have a new property, "fields" added to them (unless
> Array already responds to that property, as will be the case with
> arrayfields).
>
> Hashes are used for rows, by default. To use arrays, just set the
> "use_array" property of your database instance to 'true'.

sounds good.  hopefully you know that it goes without saying that you can take
arrayfields.rb and distrbute it with sqlite if you ever want too...


> I like this much better than the way it was done in 1.2. Does this set
> better with those of you that didn't particularly like the way 1.2 did it?
> How about those of you that *did* like the way 1.2 did it?

i think this is by far the best way because you give the option of having the
fastest most memory un-intensive method (Array's), something that uses a lot
of memory but is fast for fielded lookups (Hashes), and something that's
inbetween (ArrayFields).


> Also, since I'm working on an update: any other "wish list" items you'd like
> to see in SQLite/Ruby?

a dedicated error for SQLITE_BUSY!  it would be great to be able to

begin
   db.execute sql
rescue SQLite::Busy
   retry unles too_many_retries or timeout
end

instead of the current

begin
   db.execute sql
rescue SQLite::DatabaseError => e
   if e.message =~ /locked/o
     retry unles too_many_retries or timeout
   else
     raise
   end
end

which is highly error prone.

cheers.

-a
>
> --
> Jamis Buck
> jgb3 / email.byu.edu
> http://www.jamisbuck.org/jamis
>
> ruby -ropenssl
> -e'k="01234567";p((c,c.padding,c.iv,c.key=OpenSSL::Cipher::BF.new,0,k,k*2)[0].decrypt.update("1A81803C452C324619D319F980D5B84DBB45FC0FE2BAA045".scan(/../).map{|n|n.to_i(16).chr}.join))'
>
>
>

-a
--
===============================================================================
| EMAIL   :: Ara [dot] T [dot] Howard [at] noaa [dot] gov
| PHONE   :: 303.497.6469
| A flower falls, even though we love it;
| and a weed grows, even though we do not love it. 
|   --Dogen
===============================================================================