Nice improvements, Jeremy. Especially the date_arithmetic extension.

Cheers.

On Tuesday, January 8, 2013 6:47:36 PM UTC-5, Jeremy Evans wrote:
>
> Sequel 3.43.0 has been released and should be available on the gem
> mirrors.
>
> = New Features
>
> * A core_refinements extension has been added, which offers
>   refinement versions of Sequel's core extensions.  This requires
>   the new experimental refinement support added in ruby 2.0, and
>   allows you to use the Sequel DSL methods in a file without
>   actually modifying the Symbol, String, Array, and Hash classes.
>
> * A date_arithmetic extension has been added for performing
>   database-independent date calculations (adding/subtracting an
>   interval to/from a date):
>
>     Sequel.extension :date_arithmetic
>     e = Sequel.date_add(:date_column, :years=>1, :months=>2, :days=>3)
>     DB[:table].where(e > Sequel::CURRENT_DATE)
>
>   In addition to providing the interval as a hash, you can also
>   provide it as an ActiveSupport::Duration object.  This extension
>   is supported on 11 database types.
>
> * Dataset#get can now take an array of multiple expressions to get
>   an array of values, similar to map/select_map:
>
>     value1, value2 = DB[:table].get([:column1, :column2])
>
> * Sequel can now handle [host.]database.schema.table qualified
>   tables on Microsoft SQL Server.  To implement this support,
>   the split_qualifiers method has been added to Database and
>   Dataset for taking a possibly qualified identifier and splitting
>   it into an array of identifier strings.
>
> * The string_stripper plugin now offers the ability to manually
>   specify which columns to skip stripping for via
>   Model.skip_string_stripping. 
>
> = Other Improvements
>
> * The jdbc adapter now works with the new jdbc-* gems, which require
>   a manual load_driver step that the older jdbc-* gems did not
>   require.
>
> * The string_stripper plugin no longer strips blob columns or values.
>
> * Database#copy_into in both the postgres and jdbc/postgres adapters
>   has been fixed to better handle exceptions.  
>
> * Dataset#hash and Model#hash are now significantly faster.
>
> * Lambda procs with 0 arity can now be used as virtual row blocks
>   on ruby 1.9.  Previously, attempting to use a lambda proc with
>   0 arity as a virtual row block on ruby 1.9 would raise an exception.
>
> * Schema-qualified composite types are now handled correctly in
>   the pg_row extension.
>
> * Database#reset_primary_key_sequence on PostgreSQL now works
>   correctly when a default_schema is set.
>
> * tinyint(1) unsigned columns on MySQL are now parsed as booleans
>   instead of integers on MySQL if converting tinyint to boolean.
>    
> * The jdbc adapter now supports the jdbc-hsqldb gem, so you can
>   now install that instead of having to require the .jar manually.
>
> * Blobs are now casted correctly on DB2 when the use_clob_as_blob
>   setting is false.
>
> * Oracle timestamptz types are now handled correctly in the
>   jdbc/oracle adapter.
>
> * Sequel now defaults to :prefetch_rows = 100 in the oracle
>   adapter, which can significantly improve performance.
>
> * Sequel now defines respond_to_missing? where method_missing? is
>   defined and the object also responds to respond_to?.
>
> * Sequel::BasicObject now responds to instance_exec on ruby 1.8.
>
> = Backwards Compatibility
>
> * The meta_def method that was defined on Database, Dataset, and
>   Model classes and instances has been moved to an extension named
>   meta_def, and is no longer loaded by default.  This method was
>   previously used internally, and it wasn't designed for external
>   use.  If you have code that uses meta_def, you should now load the
>   extension manually:
>
>     Sequel.extension :meta_def
>
> * The private _*_dataset_helper model association methods are no
>   longer defined.  The AssociationReflection#dataset_helper_method
>   public method is also no longer defined.
>
> * Dataset#schema_and_table now always returns strings (or nil).
>   Before, in some cases it would return symbols.
>
> * Using a conditions specifier array with Dataset#get no longer
>   works due to the new multiple values support in Database#get.
>   So code such as:
>
>     DB[:table].get([[:a, 1], [:b, 2]])
>
>   should be changed to:
>
>     DB[:table].get(Sequel.expr([[:a, 1], [:b, 2]]))
>
> Thanks,
> Jeremy
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sequel-talk/-/cn88B0DAEI0J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sequel-talk?hl=en.

Reply via email to