Jeremy, Nice work! Especially happy with the change of the association_pks plugin as I got rather tired of having to convert all the string based values of forms to numbers manually. Keep up the good work!
Yorick On Jul 1, 5:37 pm, Jeremy Evans <[email protected]> wrote: > Sequel 3.25.0 has been released and should be available on the gem > mirrors. > > = New Features > > * drop_table, drop_view, drop_column, and drop_constraint all now > support a :cascade option for using CASCADE. > > DB.drop_table(:tab, :cascade=>true) > # DROP TABLE tab CASCADE > > DB.drop_column(:tab, :col, :cascade=>true) > # ALTER TABLE tab DROP COLUMN col CASCADE > > A few databases support CASCADE for dropping tables and views, > but only PostgreSQL appears to support it for columns and > constraints. Using the :cascade option when the underlying > database doesn't support it will probably result in a > DatabaseError being raised. > > * You can now use datasets as expressions, allowing things such as: > > DB[:table1].select(:column1) > DB[:table2].select(:column2) > # (SELECT column1 FROM table1) > (SELECT column2 FROM table2) > > DB[:table1].select(:column1).cast(Integer) > # CAST((SELECT column1 FROM table1) AS integer) > > * Dataset#select_group has been added for grouping and selecting on > the same columns. > > DB[:a].select_group(:b, :c) > # SELECT b, c FROM a GROUP BY b, c > > * Dataset#exclude_where and #exclude_having methods have been added, > allowing you to specify which clause to affect. #exclude's > behavior is still to add to the HAVING clause if one is present, > and use the WHERE clause otherwise. > > * Dataset#select_all now accepts optional arguments and will select > all columns from those arguments if present: > > DB[:a].select_all(:a) > # SELECT a.* FROM a > > DB.from(:a, :b).select_all(:a, :b) > # SELECT a.*, b.* FROM a, b > > * Dataset#group and #group_and_count now both accept virtual row > blocks: > > DB[:a].select(:b).group{c(d)} > # SELECT b FROM a GROUP BY c(d) > > * If you use a LiteralString as a validation error message, > Errors#full_messages will now not add the related column name to > the start of the error message. > > * Model.set_dataset now accepts SQL::Identifier, > SQL::QualifiedIdentifier, and SQL::AliasedExpression instances, > treating them like Symbols. > > = Other Improvements > > * The association_pks plugin's setter method will now automatically > convert a given array of strings to an array of integers if the > primary key field is an integer field, which should make it easier > to use in web applications. > > * nil bound variable, prepared statement, and stored procedure > arguments are now handled correctly in the JDBC adapter. > > * On 1.9, you can now load plugins even when ::ClassMethods, > ::InstanceMethods, or ::DatasetMethods is defined. > > = Backwards Compatibility > > * The tinytds adapter now only works with tiny_tds 0.4.5 and greater. > Also, if you were using the tinytds adapter with FreeTDS 0.91rc1, > you need to upgrade to FreeTDS 0.91rc2 for it to work. Also, if > you were referencing an entry in the freetds.conf file, you now > need to specify it directly using the :dataserver option when > connecting, the adapter no longer copies the :host option to the > :dataserver option. > > * On postgresql, Sequel now no longer drops tables with CASCADE by > default. You now have to use the :cascade option to drop_table if > you want to use CASCADE. > > * The Database#drop_table_sql private method now takes an additional > options hash argument. > > Thanks, > Jeremy -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. 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.
