New Features¶ ↑
-
Sequel
now supports Ruby 2.7+ startless ranges in filters:DB[:table].where(:column=>(..10)) # SELECT * FROM table WHERE (column <= 10) DB[:table].where(:column=>(...10)) # SELECT * FROM table WHERE (column < 10)
It also supports startless, endless ranges in filters, using a condition that is always true:
DB[:table].where(:column=>(nil..nil)) # SELECT * FROM table WHERE (1 = 1)
-
Sequel
now supports startless ranges in the pg_range extension:DB.extension :pg_range DB[:table].insert(:column=>(..10)) # INSERT INTO "table" ("column") VALUES ('[,10]') RETURNING "id" DB[:table].insert(:column=>(...10)) # INSERT INTO "table" ("column") VALUES ('[,10)') RETURNING "id" DB[:table].insert(:column=>(nil..nil)) # INSERT INTO "table" ("column") VALUES ('[,]') RETURNING "id"
-
Sequel
now supports a :materialized option in Dataset#with on PostgreSQL 12+, to control the inlining of common table expressions:DB[:t].with(:t, DB[:t2], :materialized=>false) # WITH "t" AS NOT MATERIALIZED (SELECT * FROM "t2") # SELECT * FROM "t" DB[:t].with(:t, DB[:t2], :materialized=>true) # WITH "t" AS MATERIALIZED (SELECT * FROM "t2") # SELECT * FROM "t"
Other Improvements¶ ↑
-
Database#primary_key_sequence now works for tables without serial sequences on PostgreSQL 12+.
-
Dataset#multi_insert and import with return: :primary_key option on Microsoft SQL Server now work correctly if the dataset uses a row_proc (e.g. for model datasets).