Awesome work as always, thanks Jeremy!

On Sunday, May 1, 2016 at 1:41:54 PM UTC-4, Jeremy Evans wrote:
>
> Sequel 4.34.0 has been released!
>
> = New Features
>
> * A duplicate_columns_handler extension has been added, for printing a
>   warning or raising an exception if a dataset returns multiple
>   columns with the same name.  You can set this globally for the
>   Database:
>
>     DB.extension :duplicate_columns_handler
>     DB.opts[:on_duplicate_columns] = :warn
>     DB.opts[:on_duplicate_columns] = proc do |columns|
>       columns.include?(:foo) ? :raise : :ignore
>     end
>
>   or for specific datasets:
>
>     ds = DB[:table].extension(:duplicate_columns_handler)
>     ds = ds.on_duplicate_columns(:raise)
>     ds = ds.on_duplicate_columns do |columns|
>       columns.include?(:foo) ? :raise : :ignore
>     end
>
>   This makes it easier to detect when duplicate columns are returned,
>   which in some cases can cause undesired behavior, such as the values
>   for later columns of the same name overwriting values for earlier
>   columns.
>
> * The Dataset#to_hash, #to_hash_groups, #select_hash, and
>   #select_hash_groups methods now take an options hash as a third
>   argument.  This options hash can now contain a :hash option, which
>   specifies the object in which the resulting values should be
>   placed.  You can use this to have the values inserted into a
>   custom hash, or another object responding to #[] and #[]=.
>
> * A validators_operator validation has been added to the
>   validation_helpers plugin:
>
>     class Example < Sequel::Model
>       def validate
>         super
>         validates_operator(:>, 3, :column1)
>         validates_operator(:<=, 4, [:column2, :column3])
>       end
>     end
>
> * The pg_range extension now adds a #register_range_type Database
>   method, supporting per-Database custom range types:
>
>     DB.register_range_type('timerange')
>
> * The dataset_associations plugin now supports a
>   :dataset_associations_join association option on associations that
>   use joined datasets.  This option will have the datasets returned
>   by the dataset association methods join to the same tables that
>   would be joined when retriving the associated objects, allowing
>   selected columns, orders, and filters that reference columns in
>   the joined tables to work correctly.
>
> * The Database :preconnect option can now be set to :concurrently,
>   which will create the connections in separate threads. This can
>   significantly speed up preconnection in high-latency environments.
>
> * The Database :name option is now supported, holding an arbitrary
>   name for the database.  Currently, it is only used in PoolTimeout
>   exception messages, but it may be used in other places in the
>   future.
>
> = Other Improvements
>
> * The prepared_statements_safe plugin now works correctly when using
>   CURRENT_DATE and CURRENT_TIMESTAMP default values for columns.
>
> * Sequel now recognizes an addition unique constraint violation on
>   Microsoft SQL Server.
>
> * PoolTimeout exception messages now include the server/shard to which
>   the connection was attempted when using the sharded threaded
>   connection pool.
>
> = Backwards Compatibility
>
> * Users of sequel_pg should upgrade to 1.6.17, as older versions of
>   sequel_pg may not work with Sequel 4.34.0+.
>
> * Any custom extensions that override Dataset#to_hash,
>   #to_hash_groups, #select_hash, and #select_hash_groups need to
>   be modified to add support for accepting the options hash.
>
> Thanks,
> Jeremy
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to