All Versions
116
Latest Version
Avg Release Cycle
29 days
Latest Release
1286 days ago

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, 2014
    • Add :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, 2014
    • Recognize 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, 2014
    • Add 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, 2013
    • Support :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)