[#345382] Nice algorithm for 'spreading' indexes across an array? — Max Williams <toastkid.williams@...>

Little ruby algorithm puzzle...

13 messages 2009/09/01

[#345437] clogger 0.0.4 - configurable request logging for Rack — Eric Wong <normalperson@...>

* http://clogger.rubyforge.org/

10 messages 2009/09/02
[#345439] Re: [ANN] clogger 0.0.4 - configurable request logging for Rack — Iñaki Baz Castillo <ibc@...> 2009/09/02

2009/9/2 Eric Wong <normalperson@yhbt.net>:

[#345446] rdoc — Oleg Puchinin <ruby_talk@...>

Hello !

17 messages 2009/09/02
[#346260] Ruby 1.9 rdoc never ends (Re: rdoc) — James Britt <james.britt@...> 2009/09/12

Oleg Puchinin wrote:

[#346267] Re: Ruby 1.9 rdoc never ends (Re: rdoc) — Ryan Davis <ryand-ruby@...> 2009/09/12

[#346276] Re: Ruby 1.9 rdoc never ends (Re: rdoc) — Roger Pack <rogerpack2005@...> 2009/09/12

Ryan Davis wrote:

[#345493] What licensing info is needed in code headers? — "Shot (Piotr Szotkowski)" <shot@...>

Disclaimer: I know that some of you live in jurisdictions that do not

10 messages 2009/09/02

[#345535] Simple New Ruby Programmer Problem with $stdin.gets — Mason Kelsey <masonkelsey@...>

I'm having difficulty getting any command to work to pick up input from a

14 messages 2009/09/02

[#345573] Type checking function parameters — Nick Green <cruzmail.ngreen@...>

More or less all my functions look something like

22 messages 2009/09/03
[#345593] Re: Type checking function parameters — Eleanor McHugh <eleanor@...> 2009/09/03

On 3 Sep 2009, at 05:04, Nick Green wrote:

[#345606] Re: Type checking function parameters — Paul Smith <paul@...> 2009/09/03

My first stab at some Ruby started like this too.

[#345667] Re: Type checking function parameters — Nick Green <cruzmail.ngreen@...> 2009/09/03

OK...

[#345676] Re: Type checking function parameters — Eleanor McHugh <eleanor@...> 2009/09/04

On 3 Sep 2009, at 23:47, Nick Green wrote:

[#345687] Re: Type checking function parameters — James Edward Gray II <james@...> 2009/09/04

On Sep 3, 2009, at 7:30 PM, Eleanor McHugh wrote:

[#345745] Re: Type checking function parameters — Eleanor McHugh <eleanor@...> 2009/09/04

On 4 Sep 2009, at 03:56, James Edward Gray II wrote:

[#345828] Re: Type checking function parameters — spiralofhope <spiralofhope@...> 2009/09/06

Along the lines of this thread..

[#345835] Re: Type checking function parameters — "David A. Black" <dblack@...> 2009/09/06

Hi --

[#345773] Rubyscript instead of javascript — Damjan Rems <d_rems@...>

30 messages 2009/09/05
[#345970] Re: Rubyscript instead of javascript — Jg W Mittag <JoergWMittag+Usenet@...> 2009/09/08

David Masover wrote:

[#345774] how to compare two object instances? is "m1.to_yaml.eql?(m2.to_yaml)" a good way? — Greg Hauptmann <greg.hauptmann.ruby@...>

Hi,

8 messages 2009/09/05

[#345848] i need to strip \n and nil — Bigmac Turdsplash <i8igmac@...>

im sending files back and forth form a client and a server using

16 messages 2009/09/06

[#345883] Executing system commands in threads under Ruby 1.8.6 — vhaerun vh <etaern@...>

I tried to write a script that makes use of external binaries. Each

17 messages 2009/09/07
[#345889] Re: Executing system commands in threads under Ruby 1.8.6 — Robert Klemme <shortcutter@...> 2009/09/07

2009/9/7 vhaerun vh <etaern@yahoo.com>:

[#345893] Re: Executing system commands in threads under Ruby 1.8.6 — vhaerun vh <etaern@...> 2009/09/07

Here's a link to the question I asked on SO:

[#345901] Re: Executing system commands in threads under Ruby 1.8.6 — Eleanor McHugh <eleanor@...> 2009/09/07

On 7 Sep 2009, at 09:55, vhaerun vh wrote:

[#345904] Re: Executing system commands in threads under Ruby 1.8.6 — Bertram Scharpf <lists@...> 2009/09/07

Hi,

[#345886] Ruby 1.9, Rubygems, and .gemspec warnings — Rob Sanheim <rsanheim@...>

Hi all

14 messages 2009/09/07

[#346018] Tutorial challenge program help — Chris Logan <t-logan3@...>

Hello all im really new to ruby as in a few days and getting into it. i

20 messages 2009/09/09
[#346023] Re: Tutorial challenge program help — 7stud -- <bbxx789_05ss@...> 2009/09/09

Chris Logan wrote:

[#346027] Re: Tutorial challenge program help — Chris Logan <t-logan3@...> 2009/09/09

7stud -- wrote:

[#346091] How Are Variables Kept Independent of Each Other Yet Pass Values? — Mason Kelsey <masonkelsey@...>

Somewhere in the several books I've been learning Ruby from there was the

14 messages 2009/09/10
[#346096] Re: How Are Variables Kept Independent of Each Other Yet Pass Values? — venkatesh Peddi <venkat.peddi@...> 2009/09/10

[#346106] Asynchronous http POST? — Ivan Shevanski <ocelot117@...>

Hey everyone, I'm new to Ruby and to the mailing list, so go easy.

14 messages 2009/09/10
[#346166] Re: Asynchronous http POST? — Ezra Zygmuntowicz <ezmobius@...> 2009/09/10

[#346193] populating a hash from an array using inject — Glenn Jackman <glennj@...>

I was looking at this problem on Stack Overflow (this one:

12 messages 2009/09/10

[#346324] module to overwrite method defined via define_method — Gaspard Bucher <gaspard@...>

Hi List !

17 messages 2009/09/13
[#346326] Re: module to overwrite method defined via define_method — "David A. Black" <dblack@...> 2009/09/13

Hi --

[#346328] Re: module to overwrite method defined via define_method — Gaspard Bucher <gaspard@...> 2009/09/13

David A. Black wrote:

[#346347] FasterCSV.foreach loop — Dot Baiki <dot_baiki@...>

Hello community,

16 messages 2009/09/13

[#346367] .map.with_object(3){|v|v+3} #=> 3 Is this a bug? — ErMaker <ermaker@...>

At ruby 1.9.2dev (2009-07-18 trunk 24186) [i386-mswin32_90]

15 messages 2009/09/14

[#346383] Pre-allocate large amount of memory? — Carsten Gehling <carsten@...>

I've created a small daemon, that serves certain data very fast to our

15 messages 2009/09/14
[#346404] Re: Pre-allocate large amount of memory? — Robert Klemme <shortcutter@...> 2009/09/14

2009/9/14 Carsten Gehling <carsten@sarum.dk>:

[#346419] whats the best way to package deploy a Ruby app to windows??? (no UI, also standalone if possible) — Greg Hauptmann <greg.hauptmann.ruby@...>

Hi,

8 messages 2009/09/14

[#346452] Command line — Rong <ron.green@...>

Please forgive this stupid newb question but I thought it was possible

13 messages 2009/09/15

[#346500] Array of Hashes in an array of hashes - Complicated! — Matt Brooks <mattbrooks@...>

I have an unique problem that I can't solve. I am sorry this is long,

17 messages 2009/09/15
[#346505] Re: Array of Hashes in an array of hashes - Complicated! — John W Higgins <wishdev@...> 2009/09/15

Morning Matt,

[#346508] Re: Array of Hashes in an array of hashes - Complicated! — Matt Brooks <mattbrooks@...> 2009/09/15

Hi John,

[#346510] Re: Array of Hashes in an array of hashes - Complicated! — John W Higgins <wishdev@...> 2009/09/15

Matt,

[#346515] Re: Array of Hashes in an array of hashes - Complicated! — Aldric Giacomoni <aldric@...> 2009/09/15

+1 on object creation

[#346574] string to array — Re BR <rereis@...>

Hello all,

15 messages 2009/09/16

[#346611] block issues... — Dylan Lukes <revenantphoenix@...>

In the following block, each plugin in the constant hash PLUGINS is

17 messages 2009/09/16

[#346621] Monkey Patching 2 Methods, Overrides One Method, Not The Other — MaggotChild <hsomob1999@...>

I'm monkey patching 2 methods of an existing module: some_method() and

18 messages 2009/09/17

[#346645] Mucking about with dynamically adding methods to objects — Paul Smith <paul@...>

I've been toying with Ruby for a while, but only now am I beginning to

12 messages 2009/09/17
[#346652] Re: Mucking about with dynamically adding methods to objects — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2009/09/17

On Thu, Sep 17, 2009 at 11:44 AM, Paul Smith <paul@pollyandpaul.co.uk> wrote:

[#346665] Re: Mucking about with dynamically adding methods to objects — Paul Smith <paul@...> 2009/09/17

2009/9/17 Jes俍 Gabriel y Gal疣 <jgabrielygalan@gmail.com>:

[#346676] Value isn't appended in puts statement(appears on next line) — Mrmaster Mrmaster <mrsolarlife@...>

Hello,

13 messages 2009/09/17
[#346678] Re: Value isn't appended in puts statement(appears on next line) — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2009/09/17

On Thu, Sep 17, 2009 at 8:51 PM, Mrmaster Mrmaster

[#346759] Newbie: Are Ruby regexp's a subset, superset, or equal to Perl's? — Harry <simonsharry@...>

Hi,

13 messages 2009/09/18

[#346774] Exceptional Rails Developer — Richard Price <richard.price100@...>

Hi all,

32 messages 2009/09/18
[#347451] Re: Exceptional Rails Developer — Ilan Berci <ilan.berci@...> 2009/09/30

Richard Price wrote:

[#347452] Re: Exceptional Rails Developer — Zundra Daniel <zundra.daniel@...> 2009/09/30

At least he didn't say "Rockstar" or "Ninja"

[#347476] Re: Exceptional Rails Developer — David Masover <ninja@...> 2009/09/30

On Wednesday 30 September 2009 01:45:27 pm Zundra Daniel wrote:

[#347477] Re: Exceptional Rails Developer — Greg Donald <gdonald@...> 2009/09/30

On Wed, Sep 30, 2009 at 6:44 PM, David Masover <ninja@slaphack.com> wrote:

[#347482] Re: Exceptional Rails Developer — David Masover <ninja@...> 2009/10/01

On Wednesday 30 September 2009 06:54:16 pm Greg Donald wrote:

[#347514] Re: Exceptional Rails Developer — Eleanor McHugh <eleanor@...> 2009/10/01

On 1 Oct 2009, at 01:32, David Masover wrote:

[#347551] Re: Exceptional Rails Developer — David Masover <ninja@...> 2009/10/01

On Thursday 01 October 2009 08:20:26 am Eleanor McHugh wrote:

[#347592] Re: Exceptional Rails Developer — Eleanor McHugh <eleanor@...> 2009/10/02

On 1 Oct 2009, at 19:15, David Masover wrote:

[#347596] Re: Exceptional Rails Developer — Aldric Giacomoni <aldric@...> 2009/10/02

[#346775] Determining if a file is binary or text — James Masters <james.d.masters@...>

Hi all,

15 messages 2009/09/18

[#346891] Incrementing variable names in a loop? — Matt Brooks <mattbrooks@...>

I have a function write_log that takes in a string and it prints to

10 messages 2009/09/21

[#347044] the great ruby editor and ide roundup — Martin DeMello <martindemello@...>

https://spreadsheets.google.com/ccc?key=0Al_hzYODcgxwdG9tUFhqcVVoUDVaLTlqT2YtNjV1N0E&hl=en

26 messages 2009/09/23
[#347045] Re: the great ruby editor and ide roundup — Rajinder Yadav <devguy.ca@...> 2009/09/23

On Wed, Sep 23, 2009 at 4:02 PM, Martin DeMello <martindemello@gmail.com> wrote:

[#347058] How do you limit the line length of the output commands? Where is pqueue library documented? — Mason Kelsey <masonkelsey@...>

There must be an easy way to solve the problem of controlling the length of

12 messages 2009/09/23

[#347156] Roulette & rand — Semih Ozkoseoglu <ozansemih@...>

Hi,

22 messages 2009/09/25
[#347161] Re: Roulette & rand — Stefano Crocco <stefano.crocco@...> 2009/09/25

On Friday 25 September 2009, Semih Ozkoseoglu wrote:

[#347164] Re: Roulette & rand — Semih Ozkoseoglu <ozansemih@...> 2009/09/25

Hi again Stefano,

[#347171] Re: Roulette & rand — Stefano Crocco <stefano.crocco@...> 2009/09/25

On Friday 25 September 2009, Semih Ozkoseoglu wrote:

[#347173] Re: Roulette & rand — Semih Ozkoseoglu <ozansemih@...> 2009/09/25

Stefano, Paul,

[#347179] Re: Roulette & rand — Semih Ozkoseoglu <ozansemih@...> 2009/09/25

Hi again,

[#347193] How to remove duplicate elements in a 2D array — Li Chen <chen_li3@...>

Hi all,

20 messages 2009/09/25

[#347202] Backporting Enumerator.new { ... } to Ruby 1.8.7 — "Shot (Piotr Szotkowski)" <shot@...>

Hello, good people of ruby-talk.

12 messages 2009/09/25

[#347260] handling of regexp objects that aren't referenced by variables, arrays, tables or objects — ThomasW <x.zupftom@...>

Hi,

12 messages 2009/09/27

[#347354] How do I use nitpick — "Michael W. Ryder" <_mwryder@...>

I was looking for a program like lint in C and came across nitpick. I

23 messages 2009/09/29
[#347366] Re: How do I use nitpick — Hassan Schroeder <hassan.schroeder@...> 2009/09/29

On Mon, Sep 28, 2009 at 9:25 PM, Michael W. Ryder

[#347397] Re: How do I use nitpick — "Michael W. Ryder" <_mwryder@...> 2009/09/29

Hassan Schroeder wrote:

[#347398] Re: How do I use nitpick — Ryan Davis <ryand-ruby@...> 2009/09/29

[#347364] Group by unique entries of a hash — Ne Scripter <stuart.clarke@...>

I have two data sets loaded into a hash to give the following output

15 messages 2009/09/29

[#347443] Get current working copy version in subversion/git — Anthony Metcalf <anthony.metcalf@...>

Hi,

11 messages 2009/09/30

[#347456] SystemStackError: stack level too deep > how make it deeper? — Joshua Muheim <forum@...>

Hi all

15 messages 2009/09/30
[#347459] Re: SystemStackError: stack level too deep > how make it deeper? — Jason Roelofs <jameskilton@...> 2009/09/30

On Wed, Sep 30, 2009 at 3:47 PM, Joshua Muheim <forum@josh.ch> wrote:

Re: ANN: Sequel 3.4.0 Released

From: spox <spox@...>
Date: 2009-09-02 17:57:18 UTC
List: ruby-talk #345505
On Wednesday 02 September 2009 10:03:07 am Jeremy Evans wrote:
> Sequel is a lightweight database access toolkit for Ruby.
>
> * Sequel provides thread safety, connection pooling and a concise DSL
>   for constructing database queries and table schemas.
> * Sequel also includes a lightweight but comprehensive ORM layer for
>   mapping records to Ruby objects and handling associated records.
> * Sequel supports advanced database features such as prepared
>   statements, bound variables, stored procedures, master/slave
>   configurations, and database sharding.
> * Sequel makes it easy to deal with multiple records without having
>   to break your teeth on SQL.
> * Sequel currently has adapters for ADO, Amalgalite, DataObjects,
>   DB2, DBI, Firebird, Informix, JDBC, MySQL, ODBC, OpenBase, Oracle,
>   PostgreSQL and SQLite3.
>
> Sequel 3.4.0 has been released and should be available on the gem
> mirrors.  The 3.4.0 release adds numerous improvements:
>
> New Plugins
> -----------
>
> * A nested_attributes plugin was added allowing you to modify
>   associated objects directly through a model object, similar to
>   ActiveRecord's Nested Attributes.
>
>     Artist.plugin :nested_attributes
>     Artist.one_to_many :albums
>     Artist.nested_attributes :albums
>     a = Artist.new(:name=>'YJM',
>
>      :albums_attributes=>[{:name=>'RF'}, {:name=>'MO'}])
>
>     # No database activity yet
>
>     a.save # Saves artist and both albums
>     a.albums.map{|x| x.name} # ['RF', 'MO']
>
>   It takes most of the same options as ActiveRecord, as well as a
>   a few additional options:
>
>   * :destroy - Allow destruction of nested records.
>   * :limit - For *_to_many associations, a limit on the number of
>     records that will be processed, to prevent denial of service
>     attacks.
>   * :remove - Allow disassociation of nested records (can remove the
>     associated object from the parent object, but not destroy the
>     associated object).
>   * :strict - Set to false to not raise an error message if a primary
>     key is provided in a record, but it doesn't match an existing
>     associated object.
>
>   If a block is provided, it is passed each nested attribute hash.
>   If the hash should be ignored, the block should return anything
>   except false or nil.
>
> * A timestamps plugin was added for automatically adding
>   before_create and before_update hooks for setting values on
>   timestamp columns.  There are a couple of existing external
>   plugins that handle timestamps, but the implementations are
>   suboptimal.  The new built-in plugin supports the following
>   options (with the default in parentheses):
>
>   * :create - The field to hold the create timestamp (:created_at)
>   * :force - Whether to overwrite an existing create timestamp
>     (false)
>   * :update - The field to hold the update timestamp (:updated_at)
>   * :update_on_create - Whether to set the update timestamp to the
>     create timestamp when creating (false)
>
> * An instance_hooks plugin was added for adding hooks to specific
>   w
>   model instances:
>
>     obj = Model.new
>     obj.after_save_hook{do_something}
>     obj.save # calls do_something after the obj has been saved
>
>   All of the standard hooks are supported, except for
>   after_initialize.  Instance level before hooks are executed in
>   reverse order of addition before calling super.  Instance level
>   after hooks are executed in order of addition after calling super.
>   If any of the instance level before hook blocks return false, no
>   more instance level before hooks are called and false is returned.
>
>   Instance level hooks are cleared when the object is saved
>   successfully.
>
> * A boolean_readers plugin was added for creating attribute? methods
>   for boolean columns.  This can provide a nicer API:
>
>     obj = Model[1]
>     obj.active  # Sequel default column reader
>     obj.active? # Using the boolean_readers plugin
>
>   You can provide a block when loading the plugin to change the
>   criteria used to determine if the column is boolean:
>
>     Sequel::Model.plugin(:boolean_readers) do |c|
>       db_schema[c][:db_type] =~ /\Atinyint/
>     end
>
>   This may be useful if you are using MySQL and have some tinyint
>   columns that represent booleans and others that represent integers.
>   You can turn the convert_tinyint_to_bool setting off and use the
>   attribute methods for the integer value and the attribute? methods
>   for the boolean value.
>
> Other New Features
> ------------------
>
> * Sequel now has support for converting Time/DateTime to local or UTC
>   time upon storage, retrieval, or typecasting.
>
>   There are three different timezone settings:
>
>   * Sequel.database_timezone - The timezone that timestamps use in
>     the database.  If the database returns a time without an offset,
>     it is assumed to be in this timezone.
>
>   * Sequel.typecast_timezone - Similar to database_timezone, but used
>     for typecasting data from a source other than the database.  This
>     is currently only used by the model typecasting code.
>
>   * Sequel.application_timezone - The timezone that the application
>     wants to deal with.  All Time/DateTime objects are converted into
>     this timezone upon retrieval from the database.
>
>   Unlike most things in Sequel, these are only global settings, you
>   cannot change them per database.  There are only three valid
>   timezone settings:
>
>   * nil (the default) - Don't do any timezone conversion.  This is
>     the historical behavior.
>
>   * :local - Convert to local time/Consider time to be in local time.
>
>   * :utc - Convert to UTC/Consider time to be in UTC.
>
>   So if you want to store times in the database as UTC, but deal with
>   them in local time in the application:
>
>     Sequel.application_timezone = :local
>     Sequel.database_timezone = :utc
>
>   If you want to set all three timezones to the same value:
>
>     Sequel.default_timezone = :utc
>
>   There are three conversion methods that are called:
>
>   * Sequel.database_to_application_timestamp - Called on time objects
>     coming out of the database.  If the object coming out of the
>     database (usually a string) does not have an offset, assume it is
>     already in the database_timezone.  Return a Time/DateTime object
>     (depending on Sequel.datetime_class), in the application_timzone.
>
>   * Sequel.application_to_database_timestamp - Used when literalizing
>     Time/DateTime objects into an SQL string.  Converts the object to
>     the database_timezone before literalizing them.
>
>   * Sequel.typecast_to_application_timestamp - Called when
>     typecasting objects for model datetime columns.  If the object
>     being typecasted does not already have an offset, assume it is
>     already in the typecast_timezone.  Return a Time/DateTime object
>     (depending on Sequel.datetime_class), in the
>     application_timezone.
>
>   Sequel does not yet support named timezones or per thread
>   modification of the timezone (for showing all timestamps in the
>   current user's timezone).  Extensions to support both features are
>   planned for a future version.
>
> * Dataset#truncate was added for truncating tables.  Truncate allows
>   for fast removal of all rows in a table.
>
> * Sequel now supports typecasting a hash to date, time, and datetime
>   types.  This allows easy usage of Sequel with forms that split
>   the entry of these database types into separate from fields.
>   With this code, you can just have field names like:
>
>     date[year]
>     date[month]
>     date[day]
>
>   Rack will parse that into:
>
>     {'date'=>{'year'=>?, 'month'=>?, 'day'=>?}}
>
>   So then you can do:
>
>     obj.date = params['date']
>     # or
>     obj.set(params)
>
> * validates_unique now takes a block that can be used to scope the
>   uniqueness constraint. This allows you to easily set up uniqueness
>   validations that are only necessary in a given scope.  For example,
>   a validation on username, but only for active users (as inactive
>   users are soft deleted but remain in the table).  You just pass a
>   block to validates_unique:
>
>     validates_unique(:name){|ds| ds.filter(:active)}
>
> * The serialization plugin now supports json.
>
> * Sequel now supports generic concepts of
>   CURRENT_{DATE,TIME,TIMESTAMP}.  Most databases support these SQL
>   concepts, but not all, and some implementations act differently.
>
>   The Sequel::SQL::Constants module holds the three constants,
>   which are instances of SQL::Constant, an SQL::GenericExpression
>   subclass.  This module is included in Sequel, so you can reference
>   the constants more easily (e.g. Sequel::CURRENT_TIMESTAMP).
>   It's separated out into a separate module so that you can just
>   include that module in the top level scope, allowing you to
>   reference the constants directly (e.g. CURRENT_TIMESTAMP).
>
>     DB[:events].filter{date < ::Sequel::CURRENT_DATE}
>     # or:
>     include Sequel::SQL::Constants
>     DB[:events].filter{date < ::CURRENT_DATE}
>
> * Database#run was added for executing arbitrary SQL on a database.
>   It's an alias for Database#<<, but it allows for a nicer API inside
>   migrations, since you can now do:
>
>     run 'SQL'
>
>   instead of:
>
>     self << 'SQL'
>
>   You can also provide a :server option to run the SQL on the
>   given server/shard:
>
>     run 'SQL', :server=>:shard1
>
> * Sequel::Model() can now take a database argument in addition to
>   a symbol or dataset argument.  If a database is given, it'll create
>   an anonymous subclass attached to the given database.  Other changes
>   were made to allow the following code to work:
>
>     class Item < Sequel::Model(DB2)
>     end
>
>   That will work correctly assuming a table named items in DB2.
>
> * Dataset#ungrouped was added for removing a grouping from an
>   existing dataset.  Also, Dataset#group when called with no arguments
>   or with a nil argument also removes any existing grouping instead
>   of resulting in invalid SQL.
>
> * Model#modified? was added, letting you know if the model has been
>   modified.  If the model hasn't been modified, calling
>   Model#save_changes will do nothing.
>
> * SQL::OrderedExpression now supports #asc, #desc, and #invert.
>
> Other Improvements
> ------------------
>
> * The serialization and lazy_attribute plugins now add accessor
>   methods to a module included in the class, instead of to the
>   model class itself.  This allows the methods to be overridden
>   in the class and work well with super, as well for the plugins
>   to work together on the same column.  Make sure the
>   lazy_attributes accessor is setup before the serialization
>   accessor if you want to have a lazy serialized column.
>
> * Calling the add_* method for many_to_many association now saves the
>   record if the record is new.  This makes it operate more similarly
>   to one_to_many associations.  Previously, it raised an Error.
>
> * Dataset#import now works correctly when called with a dataset.
>   Previously, it generated incorrect SQL.
>
> * The JDBC adapter now converts byte arrays to/from SQL::Blob.
>
> * The JDBC adapter now attempts to bind unknown types using
>   setObject instead of raising, so it can work with native Java
>   objects.  It also binds boolean parameters correctly.
>
> * Using multiple emulated ALTER TABLE statements (such as
>   drop_column) in a single alter_table block now works correctly
>   on SQLite.
>
> * Database#indexes now works on JDBC for tables in a non-default
>   schema.  It also now properly detects unique indexes on MSSQL.
>
> * Database#schema on JDBC now accepts a :schema option.  Also,
>   returned schema hashes now include a :column_size entry specifying
>   the maximum length/precision for the column, since the
>
>   :db_type entry doesn't have contain the information on JDBC.
>
> * Datasets without tables now work correctly on Oracle, so things
>   like DB.get(...) now work.
>
> * A descriptive error message is given if you attempt to use
>   Sequel with the mysql.rb driver (which Sequel doesn't support).
>
> * The postgres adapter now works correctly with a modified
>   postgres-pr that raises PGErrors instead of RuntimeErrors
>   (e.g. http://github.com/jeremyevans/postgres-pr).
>
> * You now get a Sequel::InvalidOperation instead of a NoMethodError
>   if you attempt to update a dataset without a table.
>
> * The inflection support has been modified to reduce code
>   duplication.
>
> Backwards Compatibility
> -----------------------
>
> * Sequel now includes fractional seconds in timestamps for all
>   adapters except MySQL.  It's possible that this may break
>   timestamp columns for databases that are not regularly tested.
>
> * Sequel now includes timezone values in timestamps on Microsoft
>   SQL Server, Oracle, PostgreSQL and SQLite.  The modification for
>   SQLite is probably the biggest cause for concern, since SQLite
>   stores times as text.  If you have an SQLite database that uses
>   timestamps and is accessed by something other than Sequel, you
>   should make sure that it works with the timestamp format that
>   Sequel now uses.
>
> * The default timestamp format used by Sequel now uses a space
>   instead of 'T' between the date and time parts, which could
>   possibly affect some databases that are not regularly tested.
>
> * Attempting to insert into a grouped dataset or a dataset that
>   selects from multiple tables will now raise an Error.  Previously,
>   it would ignore any GROUP or JOIN settings and generate bad SQL if
>   there were multiple FROM tables.
>
> * Database#<< now always returns nil.  Before, the return value was
>   adapter dependent.
>
> * ODBC::Time and ODBC::DateTime values are now converted to the
>   Sequel.datetime_class.  Before, ODBC::Time used Time and
>   ODBC::DateTime used DateTime regardless of the
>   Sequel.datetime_class setting.
>
> * The default inflections were modified, fixing some obvious errors
>   and possibly changing some existing inflections.  Further changes
>   to the default inflections are unlikely.
>
> Thanks,
> Jeremy
>
> * {Website}[http://sequel.rubyforge.org]
> * {Source code}[http://github.com/jeremyevans/sequel]
> * {Bug tracking}[http://code.google.com/p/ruby-sequel/issues/list]
> * {Google group}[http://groups.google.com/group/sequel-talk]
> * {RDoc}[http://sequel.rubyforge.org/rdoc]

Jeremy,

Thanks for all your hard work on Sequel. It is by far one of my favorite 
libraries in the Ruby world.

- spox

In This Thread