New Features¶ ↑
-
Support for SQL/JSON path expressions has been added to the pg_json_ops extension. These are supported in PostgreSQL 12+. Examples:
j = Sequel.pg_json_op(:json_column) j.path_exists('$.foo') # (jsonb_column @? '$.foo') j.path_match('$.foo') # (jsonb_column @@ '$.foo') j.path_exists!('$.foo') # jsonb_path_exists(jsonb_column, '$.foo') j.path_match!('$.foo') # jsonb_path_match(jsonb_column, '$.foo') j.path_query('$.foo') # jsonb_path_query(jsonb_column, '$.foo') j.path_query_array('$.foo') # jsonb_path_query_array(jsonb_column, '$.foo') j.path_query_first('$.foo') # jsonb_path_query_first(jsonb_column, '$.foo')
-
The nested_attributes method in the nested_attributes plugin now supports a :require_modification option, which can override the default require_modification setting for the nested objects. This can be useful to avoid errors if multiple requests are submitted simultaneously to delete the same nested row.
Other Improvements¶ ↑
-
The dirty plugin now works correctly with the typecast_on_load plugin.
-
Sequel::Postgres::PGRange#hash has been added to the pg_range extension, allowing PGRange instances to be usable as hash keys.
-
Table aliases are now supported for single table INSERT statements on PostgreSQL 9.5+, which can make some insert_conflict usage easier.
-
Two more foreign key constraint violation types are now recognized on MySQL 8.0.13+.