Changelog History
Page 11
-
v4.14.0 Changes
September 01, 2014๐ป Raise original exception if there is an exception raised when rolling back transaction/savepoint (jeremyevans) (#875)
๐ Allow delayed evaluation blocks to take dataset as an argument (jeremyevans)
๐ Allow more types as filter expressions, only specifically disallow Numeric/String expressions (jeremyevans)
โ Remove objects from cached association array at time of nested_attributes call instead of waiting until save (jeremyevans)
Handle composite primary keys when working around validation issues for one_to_(one|many) associations in nested_attributes plugin (jeremyevans) (#870)
Recognize additional disconnect error in jdbc/jtds adapter (jeremyevans)
Have association_join work with existing model selections (jeremyevans)
Fix regression in class_table_inheritance plugin when lazily loading column in middle table (jeremyevans) (#862)
Add cache_key_prefix method to caching plugin, which can be overridden for custom handling (pete) (#861)
โ Add :when option to PostgreSQL create_trigger method, for adding a filter to the trigger (aschrab) (#860)
Recognize an additional serialization failure on PostgreSQL (tmtm) (#857)
-
v4.13.0 Changes
August 01, 2014๐ฏ Use copy constructors instead of overriding Model#dup and #clone (ged, jeremyevans) (#852)
Fix handling of MySQL create_table foreign_key calls using :key option (mimperatore, jeremyevans) (#850)
๐ Handle another disconnection error in the postgres adapter (lbosque) (#848)
โก๏ธ Make list plugin update remaining positions after destroying an instance (ehq, jeremyevans) (#847)
Unalias aliased tables in Dataset#insert (jeremyevans)
Add insert_returning_select plugin, for setting up RETURNING for inserts for models selecting explicit columns (jeremyevans)
๐ Make Model#save use insert_select if the dataset used for inserting already uses returning (jeremyevans)
Add Dataset#unqualified_column_for helper method, returning unqualified version of possibly qualified column (jeremyevans)
๐ Calling Dataset#returning when the Database does not support or emulate RETURNING now raises an Error (jeremyevans)
Emulate RETURNING on Microsoft SQL Server using OUTPUT, as long as only simple column references are used (jeremyevans)
Switch class_table_inheritance plugin to use JOIN ON instead of JOIN USING (jeremyevans)
Qualify primary keys for models with joined datasets when looking up model instances by primary key (jeremyevans)
๐ Fix qualification of columns when Dataset#graph automatically wraps the initially graphed dataset in a subselect (jeremyevans)
๐ Make Dataset#joined_dataset? a public method (jeremyevans)
๐ Allow external jdbc, odbc, and do subadapters to be loaded automatically (jeremyevans)
Recognize another disconnect error in the jdbc/mysql adapter (jeremyevans)
Set primary keys correctly for models even if datasets select specific columns (jeremyevans)
Add dataset_source_alias extension, for automatically aliasing datasets to their first source (jeremyevans)
๐ Use qualified columns in the lazy_attributes plugin (jeremyevans)
โ Add column_select plugin, for using explicit column selections in model datasets (jeremyevans)
๐ Use associated model's existing selection for join associations if it consists solely of explicitly quailfied columns (jeremyevans)
โ Add round_timestamps extension for automatically rounding timestamp values to database precision before literalizing (jeremyevans)
0๏ธโฃ Make rake default task run plugin specs as well as core/model specs (jeremyevans)
Use all_tables and all_views for Database#tables and #views on Oracle (jeremyevans)
Use all_tab_cols instead of user_tab cols for defaults parsing in the oracle adapter (jeremyevans)
๐ Fix recursive mutex locking issue on JRuby when using Sequel::Model(dataset) (jeremyevans) (#841)
๐ Make composition and serialization plugins support validations on underlying columns (jeremyevans)
๐ Fix regression in timestamps and table inheritance plugin where column values would not be saved if validation is skipped (jeremyevans) (#839)
โ Add pg_enum extension, for dealing with PostgreSQL enums (jeremyevans)
โ Add modification_detection plugin, for automatic detection of in-place column value modifications (jeremyevans)
๐ Speed up using plain strings, numbers, true, false, and nil in json columns if underlying json library supports them (jeremyevans) (#834)
-
v4.12.0 Changes
July 01, 2014๐ Support :readonly Database option in sqlite adapter (ippeiukai, jeremyevans) (#832)
Automatically setup max_length validations for string columns in the auto_validations plugin (jeremyevans)
โ Add :max_length entry to column schema hashes for string types (jeremyevans)
Add :before_thread_exit option to Database#listen_for_static_cache_updates in pg_static_cache_updater extension (jeremyevans)
โ Add Database#values on PostgreSQL to create a dataset that uses VALUES instead of SELECT (jeremyevans)
Add Model#set_nested_attributes to nested_attributes, allowing setting nested attributes options per-call (jeremyevans)
๐ Use explicit columns when using automatically prepared SELECT statements in the prepared statement plugins (jeremyevans)
๐ Make Dataset#insert_select on PostgreSQL respect existing RETURNING clause (jeremyevans)
๐ Fix eager loading limited associations via a UNION when an association block is used (jeremyevans)
Associate reciprocal object before saving associated object when creating new objects in nested_attributes (chanks, jeremyevans) (#831)
๐ Handle intervals containing more than 100 hours in the pg_interval extension's parser (will) (#827)
โ Remove methods/class deprecated in 4.11.0 (jeremyevans)
Allow Dataset#natural_join/cross_join and related methods to take a options hash passed to join_table (jeremyevans)
Add :reset_implicit_qualifier option to Dataset#join_table, to set false to not reset the implicit qualifier (jeremyevans)
๐ Support :notice_receiver Database option when postgres adapter is used with pg driver (jeltz, jeremyevans) (#825)
-
v4.11.0 Changes
June 03, 2014Add :model_map option to class_table_inheritance plugin so class names don't need to be stored in the database (jeremyevans)
๐คก Set version when using for MySQL/SQLite emulation in the mock adapter (jeremyevans)
โ Add support for CUBRID/SQLAnywhere emulation to the mock adapter (jeremyevans)
Add support for the jsonb operators added in PostgreSQL 9.4 to the pg_json_ops extension (jeremyevans)
Add support for new json/jsonb functions added in PostgreSQL 9.4 to the pg_json_ops extension (jeremyevans)
Add support for the PostgreSQL 9.4+ jsonb type to the pg_json_ops extension (jeremyevans)
โ Add support for derived column lists to Sequel.as and SQL::AliasMethods#as (jeremyevans)
๐ Support connecting to a DB2 catalog name in the ibmdb adapter (calh) (#821)
๐ Fix warnings in some cases in the ibmdb adapter (calh) (#820)
โ Add SQL::Function#with_ordinality for creating set returning functions WITH ORDINALITY (jeremyevans)
โ Add SQL::Function#filter for creating filtered aggregate function calls (jeremyevans)
โ Add SQL::Function#within_group for creating ordered-set and hypothetical-set aggregate functions (jeremyevans)
โ Add SQL::Function#lateral, for creating set returning functions that will be preceded by LATERAL (jeremyevans)
โ Add SQL::Function#quoted and #unquoted methods, to enable/disable quoting of function names (jeremyevans)
Deprecate Dataset#{window,emulated,}_function_sql_append (jeremyevans)
๐ Deprecate SQL::WindowFunction and SQL::EmulatedFunction classes, switch to using options on SQL::Function (jeremyevans)
๐ Only modify changed_columns if deserialized value changes in the serialization plugin (jeremyevans) (#818)
๐ Support PostgreSQL 9.4+ jsonb type in the pg_json extension (jeremyevans)
Allow Postgres::ArrayOp#unnest to accept arguments in the pg_array_ops extension (jeremyevans)
Add Postgres::ArrayOp#cardinality to the pg_array_ops extension (jeremyevans)
โ Add :check option to Database#create_view for WITH [LOCAL] CHECK OPTION support (jeremyevans)
โ Add :concurrently option to Database#refresh_view on PostgreSQL to support concurrent refresh of materialized views (jeremyevans)
Call the :after_connect Database option proc with both the connection and server/shard if it accepts 2 arguments (pedro, jeremyevans) (#813)
๐ Make multiple plugins set values before validation instead of before create, works better with auto_validations (jeremyevans)
๐ Support a default Dataset#import slice size, set to 500 on SQLite (jeremyevans) (#810)
๐ Make :read_only transaction option be per-savepoint on PostgreSQL (jeremyevans) (#807)
Add :rank option to Dataset#full_text_search on PostgreSQL, to order by the ranking (jeremyevans) (#809)
โ Remove methods deprecated in 4.10.0 (jeremyevans)
-
v4.10.0 Changes
May 01, 2014๐ Make Model.include API same as Module.include (ged) (#803)
Dataset::PlaceholderLiteralizer now handles DelayedEvaluations correctly (jeremyevans)
๐จ Refactor type conversion in the jdbc adapter, for up to a 20% speedup (jeremyevans)
Add Dataset#with_fetch_size to jdbc adapter, for setting fetch size for JDBC ResultSets (jeremyevans)
0๏ธโฃ Default to a fetch_size of 100 in the jdbc/oracle adapter, similar to the oci8-based oracle adapter (jeremyevans)
Add Database#fetch_size accessor and :fetch_size option to jdbc adapter, for setting JDBC Statement fetch size (jeremyevans)
Automatically determine array type in pg_array_associations plugin, explicitly cast arrays in more places (jeremyevans, maccman) (#800)
Speed up Dataset#literal for symbols 60% by caching results, speeding up dataset literalization up to 40% or more (jeremyevans)
Speed up Sequel.split_symbol 10-20x by caching results, speeding up dataset literalization up to 80% or more (jeremyevans)
Speed up dataset literalization for simple datasets by up to 100% (jeremyevans)
๐ Support :fractional_seconds Database option on MySQL 5.6.5+ to support fractional seconds by default (jeremyevans) (#797)
โช Work around MySQL 5.6+ bug when combining DROP FOREIGN KEY and DROP INDEX in same ALTER TABLE statement (jeremyevans)
๐ Make auto_validations plugin handle models that select from subqueries (jeremyevans)
Recognize additional disconnect errors in the postgres adapter (jeremyevans)
๐ Make import/multi_insert insert multiple rows in a single query using a UNION on Oracle, DB2, and Firebird (jeremyevans)
Speed up association_pks many_to_many setter method by using Dataset#import (jeremyevans)
โ Add Model.prepared_finder, similar to .finder but using a prepared statement (jeremyevans)
Model.def_{add_method,association_dataset_methods,remove_methods} are now deprecated (jeremyevans)
Model.eager_loading_dataset and Model.apply_association_dataset_opts are now deprecated (jeremyevans)
Make prepared_statement_associations plugin handle one_through_one and one_through_many associations (jeremyevans)
๐ Use placeholder literalizer for regular association loading for up to 85% speedup (jeremyevans)
๐ Use placeholder literalizer for eager association loading for up to 20% speedup (jeremyevans)
Make Model#marshallable! work correctly when using the tactical_eager_loading plugin (jeremyevans)
Respect :foreign_key_constraint_name option when adding columns to existing table on MySQL (noah256) (#795)
AssociationReflection#association_dataset now handles joining tables if necessary (jeremyevans)
Support drop_view :if_exists option on SQLite, MySQL, H2, and HSQLDB (jeremyevans) (#793)
Support drop_table :if_exists option on HSQLDB (jeremyevans)
โ Add Database#transaction :auto_savepoint option, for automatically using a savepoint in nested transactions (jeremyevans)
โ Add :server_version Database option on Microsoft SQL Server, instead of querying the database for it (jeremyevans)
Support :correlated_subquery as an eager_graph and filter by associations limit strategy for one_to_* associations (jeremyevans)
Support named paramters in call_mssql_sproc on Microsoft SQL Server (y.zemlyanukhin, jeremyevans) (#792)
๐ Handle placeholder literalizer arguments when emulating offsets (jeremyevans)
Don't attempt to emulate offsets if the dataset uses literal SQL (jeremyevans)
0๏ธโฃ Use a UNION-based strategy by default to eagerly load limited associations (jeremyevans)
๐ Support offsets without limits on MySQL, SQLite, H2, SQLAnywhere and CUBRID (jeremyevans)
โ Remove the install/uninstall rake tasks (jeremyevans)
๐ Use INSERT VALUES with multiple rows for Dataset#import and #multi_insert on more databases (jeremyevans)
๐ Support common table expressions (WITH clause) on SQLite >=3.8.3 (jeremyevans)
-
v4.9.0 Changes
April 01, 2014Recognize CHECK constraint violations on newer versions of SQLite (jeremyevans)
๐ Do not attempt to eager load when calling Dataset#columns in the eager_each plugin (jeremyevans)
๐ Support :driver option for jdbc adapter, for specifying driver class for cases where getConnection doesn't work (jeremyevans) (#785)
๐ Massive speedup for PostgreSQL array parser (jeremyevans) (#788)
Add current_datetime_timestamp extension, for current Time/DateTime instances that are literalized as CURRENT_TIMESTAMP (jeremyevans)
Recognize additional unique constraint violations on SQLite (jeremyevans) (#782)
Don't remove column value when validating nested attributes for one_to_* association where association foreign key is the model's primary key (jeremyevans)
Add Dataset#disable_insert_returning on PostgreSQL for skipping implicit use of RETURNING (jeremyevans)
Automatically optimize Model.[], .with_pk, and .with_pk! for models with composite keys (jeremyevans)
โก๏ธ Automatically optimize Model.[] when called with a hash (jeremyevans)
โก๏ธ Automatically optimize Model.find, .first, and .first! when called with a single argument (jeremyevans)
โ Add Model.finder for creating optimized finder methods using Dataset::PlaceholderLiteralizer (jeremyevans)
โ Add Dataset::PlaceholderLiteralizer optimization framework (jeremyevans)
Add Dataset#with_sql_{each,all,first,single_value,insert,update} optimized methods (jeremyevans)
๐ Make pg_array extension use correct type when typecasting column values for smallint, oid, real, character, and varchar arrays (jeremyevans)
Make Database#column_schema_to_ruby_default a public method in the schema_dumper extension (jeremyevans) (#776)
๐ Fix multiple corner cases in the eager_graph support (jeremyevans) (#771)
๐ Use streaming to implement paging for Dataset#paged_each in the mysql2 adapter (jeremyevans)
๐ Use a cursor to implement paging for Dataset#paged_each in the postgres adapter (jeremyevans)
Add Database#create_join_table? and #create_join_table! for consistency (jeremyevans)
Add Dataset#where_current_of to the postgres adapter for supporting updating rows based on a cursor's current position (jeremyevans)
โ Add Dataset#use_cursor :hold option in the postgres adapter for supporting cursor use outside of a transaction (jeremyevans)
โ Add Dataset#paged_each :strategy=>:filter option for increased performance (jeremyevans)
-
v4.8.0 Changes
March 01, 2014โ Add SQL::AliasedExpression#alias alias for #aliaz (jeremyevans)
๐ Handle SQL::Identifier, SQL::QualifiedIdentifier, and SQL::AliasedExpression objects as first argument to Dataset#graph (jeremyevans)
Respect qualification and aliases in symbols passed as first argument to Dataset#graph (dividedmind) (#769)
Recognize new constraint violation error messages in SQLite 3.8.2+ (itswindtw) (#766)
๐ Use limit strategy to correctly handle limited associations in the dataset_associations plugin (jeremyevans)
๐ Handle issues in dataset_associations plugin when dataset uses unqualified identifiers for associations requiring joins (jeremyevans)
๐ Handle fractional seconds in input timestamps in the odbc/mssql adapter (Ross Attrill, jeremyevans)
Return fractional seconds in timestamps in the odbc adapter (jeremyevans)
Support :plain and :phrase options to Dataset#full_text_search on PostgreSQL (jeremyevans)
๐ Use limit strategy to correctly handle filtering by limited associations (jeremyevans)
Simplify queries used for filtering by associations with conditions (jeremyevans)
0๏ธโฃ Use an eager limit strategy by default for *_one associations with orders (jeremyevans)
Support :limit_strategy eager_graph option, for specifying strategy used for limited associations in that eager graph (jeremyevans)
Add eager_graph_with_options to model datasets, for specifying options specific to the eager_graph call (jeremyevans)
๐ Handle offsets on *_many associations when eager graphing when there are no associated results (jeremyevans)
Make Database#register_array_type work without existing scalar conversion proc in the pg_array extension (jeremyevans)
๐ Handle presence validations on foreign keys in associated objects when creating new associated objects in the nested_attributes plugin (jeremyevans)
Respect offsets when eager graphing *_one associations (jeremyevans)
โ Add association_join to model datasets, for setting up joins based on associations (jeremyevans)
Add one_through_many association to many_through_many plugin, for only returning a single record (jeremyevans)
โ Add :graph_order association option, useful when :order needs to contain qualified identifiers (jeremyevans)
Add one_through_one association, similar to many_to_many but only returning a single record (jeremyevans)
-
v4.7.0 Changes
February 01, 2014๐ป Don't swallow underlying exception if there is an exception closing the cursor on PostgreSQL (jeremyevans) (#761)
Recognize primary key unique constraint violations on MSSQL and SQLAnywhere (jeremyevans)
Recognize composite unique constraint violations on SQLite (timcraft) (#758)
Make #* method without arguments on SQL::Function return a Function with * prepended to the arguments (jeremyevans)
โ Add #function to SQL::Identifier and SQL::QualifiedIdentifier, allowing for easy use of schema qualified functions or functions names that need quoting (jeremyevans)
โ Add SQL::Function#distinct for easier creation of aggregate functions using DISTINCT (jeremyevans)
โ Add SQL::Function#over for easier creation of window functions (jeremyevans)
Don't clear validation instance_hooks until after a successful save (jeremyevans)
Support :raise_on_save_failure option for one_to_many, pg_array_to_many, and many_to_pg_array associations (jeremyevans)
๐ Make SQLTime#to_s return a string in HH:MM:SS format, since it shouldn't include date information (jeremyevans)
๐ Support the Database#tables :schema option in the jdbc adapter (robbiegill, jeremyevans) (#755)
โช Automatically rollback transactions in killed threads in ruby 2.0+ (chanks) (#752)
Add update_or_create plugin, for updating an object if it exists, or creating such an object if it does not (jeremyevans)
๐ Make auto_validations uniqueness validations work correctly for STI subclasses (jeremyevans)
๐ Support :dataset option to validates_unique vaildation (jeremyevans)
-
v4.6.0 Changes
January 02, 2014Add Database#call_mssql_sproc on MSSQL for calling stored procedures and handling output parameters (jrgns, jeremyevans) (#748)
๐ Handle RuntimeErrors raised by oci8 in the oracle adapter (jeremyevans)
๐ Support OFFSET/FETCH on Microsoft SQL Server 2012 (jeremyevans)
Support :server option for Database#{commit,rollback}_prepared_transaction on PostgreSQL, MySQL, and H2 (jeremyevans) (#743)
๐ป Do not attempt to eager load and raise an exception when doing Model.eager(...).naked.all (jeremyevans)
Recognize a couple additional disconnect errors in the jdbc/postgresql adapter (jeremyevans) (#742)
-
v4.5.0 Changes
December 02, 2013Support :on_commit=>(:drop|:delete_rows|:preserve_rows) options when creating temp tables on PostgreSQL (rosenfeld) (#737)
๐ Make Dataset#insert work on PostgreSQL if the table name is a SQL::PlaceholderLiteralString (jeremyevans) (#736)
Copy unique constraints when emulating alter_table operations on SQLite (jeremyevans) (#735)
Don't return clob column values as SQL::Blob instances in the db2 and ibmdb adapters unless use_clob_as_blob is true (jeremyevans)
Make use_clob_as_blob false by default on DB2 (jeremyevans)
Fix usage of Sequel::SQL::Blob objects as prepared statement arguments in jdbc/db2 adapter when use_clob_as_blob is false (jeremyevans)
Add mssql_optimistic_locking plugin, using a timestamp/rowversion column to protect against concurrent updates (pinx, jeremyevans) (#731)
๐ Make Model.primary_key array immutable for composite keys (chanks) (#730)