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.