Changelog for
ruby3.1-rubygem-sequel-5.82.0-150300.1.2.x86_64.rpm :
* Tue Jul 16 2024 dan.cermakAATTposteo.net- === 5.82.0 (2024-07-01)
* Limit tactically eager loading to objects that have the same association reflection (jeremyevans) (#2181)
* Fix race condition in threaded/sharded_threaded connection pools that could cause stalls (jeremyevans)
* Emulate dropping a unique column or a column that is part of an index on SQLite 3.35.0+ (jeremyevans) (#2176)
* Support MERGE RETURNING on PostgreSQL 17+ (jeremyevans)
* Remove use of logger library in bin/sequel (jeremyevans)
* Support :connect_opts_proc Database option for late binding options (jeremyevans) (#2164)
* Fri Jun 21 2024 dan.cermakAATTposteo.net- === 5.81.0 (2024-06-01)
* Fix ignored block warnings in a couple plugin apply methods on Ruby 3.4 (jeremyevans)
* Skip Ruby internal caller locations when searching for caller locations in caller_logging and provenance extensions (jeremyevans)
* Add temporarily_release_connection Database extension for multithreaded transactional testing (jeremyevans) === 5.80.0 (2024-05-01)
* Support Dataset#skip_locked on MariaDB 10.6+ (simi) (#2150)
* Avoid allocating datasets in cases where the returned dataset would be the same as the receiver (jeremyevans)
* Add provenance dataset extension, which includes comments in queries showing how and where the dataset was built (jeremyevans) === 5.79.0 (2024-04-01)
* Support create_or_replace_view with :materialized option on PostgreSQL (nashby) (#2144)
* Support :unlogged_tables_default Database option on Postgres for making created tables unlogged by default (jeremyevans) (#2134)
* Add Dataset#select_prepend for prepending to the current selected columns (jeremyevans) (#2139) === 5.78.0 (2024-03-01)
* Support SQLite 3.45+ jsonb functions in the sqlite_json_ops extension (jeremyevans) (#2133)
* Support compounds (e.g. UNION) in conjunction with Database#values on PostgreSQL (jeremyevans) (#2137)
* Support :use_advisory_lock option to Migrator.run to use advisory locks when running migrations (jeremyevans) (#2089)
* Support Database#with_advisory_lock on PostgreSQL, MySQL, and Microsoft SQL Server (jeremyevans) (#2089) === 5.77.0 (2024-02-01)
* Support create_table :without_rowid option on SQLite (loranger32) (#2126)
* Warn by default if trying to eager_graph/association_join an association that uses a block, when the block would be ignored (jeremyevans)
* Speed up validates_unique in validation_helpers plugin by using empty? instead of count == 0 (numbata) (#2122)
* Speed up regexp matches in sqlite adapter on Ruby 2.4+ (jeremyevans)
* Add sqlite adapter :regexp_function_cache option for specifying the cache object to use (paddor, jeremyevans) (#2116)
* Respect list plugin :top option when inserting the first row into the model\'s table (johanmagnusson) (#2115)
* Switch default connection pool to timed_queue on Ruby 3.4+ (jeremyevans)
* Support on_duplicate_columns={raise,warn} parameter in connection URL when using duplicate_columns_handler extension (jeremyevans)
* Add transaction_connection_validator extension for retrying transactions on new connection if there is a disconnect error when starting transaction (jeremyevans)
* Mon Jan 29 2024 dan.cermakAATTposteo.net- === 5.76.0 (2024-01-01)
* Improve performance and flexibility of regexp matching in sqlite adapter (paddor) (#2108)
* Support SQL::Identifier for Database#tables :schema option values on PostgreSQL (jeremyevans)
* Support generating rcte queries using UNION or UNION ALL in the rcte plugin (jonathanfrias) (#2107)
* Make Database#table_exists? on PostgreSQL handle lock or statement timeout errors as evidence the table exists (jeremyevans) (#2106)
* Work around DateTime.jd fractional second bug on JRuby in named_timezones extension (jeremyevans)
* Support fractional times and timestamps on SQLAnywhere (jeremyevans)
* Make round_timestamps extension use Dataset#sqltime_precision for rounding Sequel::SQLTime values (jeremyevans)
* Remove special handling of %N modifier in Dataset#default_timestamp_format (jeremyevans)
* Add Dataset#default_time_format private method, for adapters to override for time (not timestamp) formatting (jeremyevans)
* Remove Dataset#format_timestamp_offset private method (jeremyevans)
* Remove special handling of %z modifier in Dataset#default_timestamp_format (jeremyevans)
* Add Dataset#literal_date_or_time, for simpler use by bound argument code (jeremyevans)
* Add auto_cast_date_and_time extension, for casting date and time values using SQL standard functions (jeremyevans) === 5.75.0 (2023-12-01)
* Make any_not_empty? extension support passing pattern argument to any? (jeremyevans) (#2100)
* Respect :skip_transaction option in PostgreSQL Dataset#paged_each (jeremyevans) (#2097)
* Add TimestampMigrator.run_single to run a single migration file up or down (opya, jeremyevans) (#2093)
* Support INSERT RETURNING on MariaDB 10.5+, and use it when saving new model objects (jeremyevans)
* Add Database#{defer,immediate}_constraints on PostgreSQL for changing handling of deferrable constraints in a transaction (jeremyevans)
* Fri Nov 03 2023 dan.cermakAATTposteo.net- === 5.74.0 (2023-11-01)
* Make generated columns show up in Database#schema when using SQLite 3.37+ (jeremyevans) (#2087)
* Add revert method for Sequel.migration blocks, to revert changes inside the block on up, and apply the changes on down (jeremyevans)
* Re-add is_json and is_not_json methods to the pg_json_ops extension, as the support was re-added in PostgreSQL 16 (jeremyevans)
* Avoid infinite loop when handling exceptions with a cause loop in jdbc adapter (jeremyevans) === 5.73.0 (2023-10-01)
* Handle disconnect errors in ibmdb and jdbc/db2 adapters (jeremyevans) (#2083)
* Support skipping transactions in Dataset#{import,paged_each} using :skip_transaction option (jeremyevans)
* Add Database#transaction :skip_transaction option to skip creating a transaction or savepoint (jeremyevans)
* Stop using a transaction for a single query if calling Dataset#import with a dataset (jeremyevans)
* Add paged_operations plugin for paged deletes and updates and other custom operations (jeremyevans) (#2080)
* Support to_tsquery: :websearch option to Dataset#full_text_search on PostgreSQL 11+ (jeremyevans) (#2075)
* Add MassAssignmentRestriction#model and #column for getting the model instance and related column for mass assignment errors (artofhuman, jeremyevans) (#2079)
* Stop using base64 library in column_encryption plugin (jeremyevans) === 5.72.0 (2023-09-01)
* Sort caches before marshalling when using schema_caching, index_caching, static_cache_cache, and pg_auto_constraint_validations (jeremyevans)
* Change the defaults_setter plugin do a deep-copy of database default hash/array values and delegates (jeremyevans) (#2069)
* Add pg_auto_parameterize_in_array extension, for converting IN/NOT IN to = ANY or != ALL for more types (jeremyevans)
* Fix literalization of infinite and NaN float values in PostgreSQL array bound variables (jeremyevans) === 5.71.0 (2023-08-01)
* Support ILIKE ANY on PostgreSQL by not forcing the use of ESCAPE for ILIKE (gilesbowkett) (#2066)
* Add pg_xmin_optimistic_locking plugin for optimistic locking for all models without database changes (jeremyevans)
* Recognize the xid PostgreSQL type as an integer type in the jdbc/postgresql adapter (jeremyevans)
* Make set_column_allow_null method reversible in migrations (enescakir) (#2060) === 5.70.0 (2023-07-01)
* Make static_cache plugin better handle cases where forbid_lazy_load plugin is already loaded (jeremyevans)
* Fix ShardedThreadedConnectionPool#remove_server to disconnect all connections if removing multiple servers (jeremyevans)
* Support SEQUEL_DEFAULT_CONNECTION_POOL environment variable for choosing connection pool when :pool_class Database option is not set (jeremyevans)
* Add sharded_timed_queue connection pool (jeremyevans)
* Make connection_{validator,expiration} and async_thread_pool extensions work with timed_queue connection pool (jeremyevans)
* Make connection_{validator,expiration} extensions raise error when used with single threaded pools (HoneyryderChuck, jeremyevans) (#2049)
* Workaround possible resource starvation in threaded connection pool (ioquatix) (#2048) === 5.69.0 (2023-06-01)
* Avoid unsupported flag warning when using the mysql adapter with ruby-mysql 3+ (jeremyevans)
* Make mysql adapter work with ruby-mysql 4+ (jeremyevans)
* Add Model::DatasetModule#model accessor (davekaro) (#2040)
* Add trilogy adapter (jeremyevans) === 5.68.0 (2023-05-01)
* Add validation_helpers_generic_type_messages plugin for more useful type validation failure messages (jeremyevans) (#2028)
* Make constraint_validations plugin not validate missing columns that have a default value (jeremyevans) (#2023)
* Skip normal type name parsing for enum/array/composite/range/multirange types on PostgreSQL (jeremyevans) (#2019)
* Fix corner case where pg_extended_date_support did not work correctly when using the jdbc/postgresql adapter (jeremyevans)
* Include :min_value and :max_value schema entries for date/timestamp/timestamptz columns on PostgreSQL 9.6+ (jeremyevans) === 5.67.0 (2023-04-01)
* Fix dumping of string column sizes in the schema dumper on MSSQL (jeremyevans) (#2013)
* Improve dumping of tables in non-default schemas in the schema_dumper extension (jeremyevans) (#2006)
* Make Database#{tables,views} support :qualify option on Microsoft SQL Server (jeremyevans)
* Avoid use of singleton classes for datasets instances on Ruby 2.4+ (jeremyevans) (#2007)
* Deprecate registering datasets extensions using an object other than a module (jeremyevans)
* Add set_literalizer extension, for treating set usage in datasets similar to array usage (jeremyevans) (#1997) === 5.66.0 (2023-03-01)
* Recognize SQLite error related to strict tables as a constraint violation when using the amalgalite adapter (jeremyevans)
* Make Dataset#count work correctly for datasets using Dataset#values (jeremyevans) (#1992)
* Make Dataset#count with no argument/block handle dataset with custom SQL using ORDER BY on MSSQL (jeremyevans)
* Make Dataset#empty? correctly handle datasets with custom SQL or using Dataset#values where the first value is NULL (andy-k, jeremyevans) (#1990) === 5.65.0 (2023-02-01)
* Allow pg_auto_parameterize extension to use placeholder loaders (jeremyevans)
* Do not include :min_value and :max_value schema entries for decimal/numeric columns on MySQL versions not supporting check constraints (jeremyevans)
* Make Database#indexes return indexes for partitioned tables on PostgreSQL 11+ (jeremyevans) === 5.64.0 (2023-01-01)
* Make :db_type column schema entries on SQLAnywhere include precision/scale information (jeremyevans)
* Include :min_value and :max_value schema entries for decimal/numeric columns on most databases (rolftimmermans, jeremyevans) (#1975)
* Support :graph_use_association_block association option to make eager_graph use the association block (jeremyevans)
* Make many_through_many and many_through_one associations support eager_graph callbacks (jeremyevans)
* Wed Dec 07 2022 cooloAATTsuse.comupdated to version 5.63.0 see installed CHANGELOG === 5.63.0 (2022-12-01)
* Make validates_associated plugin avoid database type errors for non-integer association keys (jeremyevans) (#1968)
* Make tactical_eager_loading plugin work better with table inheritance plugins (rolftimmermans, jeremyevans) (#1962)
* Add support for pool_class: :timed_queue on Ruby 3.2+, using a Queue for available connections (jeremyevans)
* Allow :pool_class Database option to be specified as a string to more easily choose a different pool type (jeremyevans)
* Use compare_by_identity hashes for Thread-keyed hashes in threaded connection pools (jeremyevans)
* Skip use of JRuby workaround on JRuby 9.3.9.0+ in named_timezones extension as JRuby fixed the related bug (jeremyevans) === 5.62.0 (2022-11-01)
* Add back the pg_auto_parameterize extension for automatically using bound variables when using postgres adapter with pg driver (jeremyevans)
* Add pg_extended_integer_support extension for customizing behavior when literalizing a Ruby integer outside PostgreSQL bigint range (jeremyevans)
* Raise Postgres::IntegerOutsideBigintRange if attempting to literalize a Ruby integer outside PostgreSQL bigint range (jeremyevans)
* Add primary_key_lookup_check_values plugin for typecasting and checking primary key values during lookup (jeremyevans)
* Setup validation of minimum and maximum values for integer columns in auto_validations (jeremyevans)
* Add validates_max_value and validates_min_value to validation_helpers (jeremyevans)
* Include :min_value and :max_value schema entries for integer columns on most databases (jeremyevans)
* Don\'t wrap multi-inserts in a transaction when it\'s not required (shannoncole, jeremyevans) (#1945)
* Update mock PostgreSQL adapter to default to PostgreSQL 15 instead of PostgreSQL 14 (jeremyevans)
* Support fractional seconds in the named_timezones extension (jeremyevans) (#1943)
* Cache reflection datasets in the postgres adapter to improve performance (jeremyevans)
* Handle BC dates and timestamps in bound variables when using the pg_extended_date_support extension (jeremyevans)
* Correctly format hstore[] types in bound variables on PostgreSQL (jeremyevans)
* Fix corner case in eager loading where window function eager limit strategy is used, but row number entry is not removed (jeremyevans)
* Support server/shard specific :after_connect and :connect_sqls Database options (jeremyevans) (#1935)
* Mon Oct 10 2022 cooloAATTsuse.comupdated to version 5.61.0 see installed CHANGELOG === 5.61.0 (2022-10-01)
* Make Database#foreign_key_list on PostgreSQL return results for partitioned tables (jeremyevans)
* Add Database#check_string_typecast_bytesize for checking bytesize of strings before typecasting (jeremyevans)
* Treat negative hexidecimal strings similar to positive hexidecimal strings when typecasting to integer (jeremyevans)
* Remove is_json and is_not_json methods from the pg_json_ops extension, as the support was removed in PostgreSQL 15 beta 4 (jeremyevans)
* Fix handling of timestamps before the date of calendar reform when using pg_extended_date_support extension on Ruby 3.2 (jeremyevans) === 5.60.1 (2022-09-02)
* Revert conversion of respond_to? to defined?, as it breaks with unused refinements on Ruby 2 (jeremyevans) (#1919) === 5.60.0 (2022-09-01)
* Support arbitrary expressions for date_arithmetic interval values on PostgreSQL 9.4+ (jeremyevans)
* Support native IS DISTINCT FROM on SQLite 3.39+ instead of emulating support in the is_distinct_from extension (jeremyevans)
* Support HAVING without GROUP BY on SQLite 3.39+ (jeremyevans)
* Convert most respond_to? calls to equivalent defined? for better performance (jeremyevans)
* Thu Aug 04 2022 cooloAATTsuse.comupdated to version 5.59.0 see installed CHANGELOG === 5.59.0 (2022-08-01)
* Set :allow_eager association option to false for instance specific associations without eager loaders (jeremyevans)
* Add require_valid_schema plugin for checking that model classes have schema parsed as expected (jeremyevans)
* Model classes created from aliased expressions and literal strings no longer use the simple table optimization (jeremyevans)
* Model code that does not swallow connection errors will now also not swallow disconnect errors (jeremyevans) (#1892)
* Add is_json and is_not_json methods to the pg_json_ops extension, for the PostgreSQL 15+ IS [NOT] JSON operator (jeremyevans)
* Support :security_invoker view option on PostgreSQL 15+, for views where access uses permissions of user instead of owner (jeremyevans)
* Support :nulls_distinct index option on PostgreSQL 15+, for NULLS [NOT] DISTINCT (jeremyevans)
* Support sequel-postgres-pr driver in the postgres adapter (jeremyevans) === 5.58.0 (2022-07-01)
* Support :disable_split_materialized Database option on MySQL to work around optimizer bug in MariaDB 10.5+ affecting association tests (jeremyevans)
* Add Dataset#merge
* methods to support MERGE statement on PostgreSQL 15+, MSSQL, Oracle, DB2, H2, HSQLDB, and Derby (jeremyevans) === 5.57.0 (2022-06-01)
* Make Database#create_function on PostgreSQL accept :parallel option (bananarne) (#1870)
* Add support for :on_update_current_timestamp column option on MySQL (jeremyevans)
* Add is_distinct_from extension with support for the IS DISTINCT FROM operator (jeremyevans) === 5.56.0 (2022-05-01)
* Make alter_table add_column/add_foreign_key methods support :index option to create an index on the column (jeremyevans)
* Support creation of STRICT tables on SQLite 3.37.0+ via create_table :strict option (jeremyevans)
* Add sqlite_json_ops extension for DSL support for JSON functions and operators added in SQLite 3.38.0 (jeremyevans)
* Recognize \"INTEGER\" type same as \"integer\" type in the schema dumper, helpful on SQLite 3.37.0+ (jeremyevans)
* Thu Apr 28 2022 cooloAATTsuse.comupdated to version 5.55.0 see installed CHANGELOG === 5.55.0 (2022-04-01)
* Support :setup_regexp_function Database option in the sqlite adapter to allow the use of regexps when querying (jeremyevans)
* Add auto_restrict_eager_graph plugin for automatically disallow eager_graph with associations needing but lacking graph options (jeremyevans)
* Fix placeholder literalizer optimization for dataset aggregate methods on a model dataset (belousovAV) (#1847, #1848) === 5.54.0 (2022-03-01)
* Add enum plugin for treating columns as enums in a model (jeremyevans) (#1839)
* Tue Feb 15 2022 cooloAATTsuse.comupdated to version 5.53.0 see installed CHANGELOG === 5.53.0 (2022-02-01)
* Make Dataset#_sql_comment private when using the Database sql_comments extension (jeremyevans)
* Fix prepared statements in the mysql2 adapter to reuse native prepared statements (jeremyevans) (#1832)
* Support H2 version 2+ in the jdbc/h2 adapter (jeremyevans) (#1817)
* Work around active_support breaking subclasses plugin on Ruby <3.1 (jeremyevans) (#1816)
* Fix error handling if trying to setup column_encryption plugin without keys (jeremyevans) (#1815)
* Tue Jan 25 2022 cooloAATTsuse.comupdated to version 5.52.0 see installed CHANGELOG === 5.52.0 (2022-01-01)
* Use Class#subclasses if available in the subclasses plugin, instead of a custom Model.subclasses accessor (jeremyevans)
* Add Model.descendants and .freeze_descendants to subclasses plugin (jeremyevans)
* Avoid use of deprecated Refinement#include on Ruby 3.1+ (jeremyevans)
* Add date_parse_input_handler extension for custom handling of input to date parsing methods (jeremyevans)
* Make postgres adapter respect Database#default_string_column_size (jeremyevans)
* Make pg_interval extension work with ActiveSupport 7.0 (jeremyevans)
* Make :ruby_default schema entry for type: :datetime respect Sequel.datetime_class (jeremyevans)
* Make alter_table drop_constraint have an effect on MySQL 8.0.19+ (jeremyevans)
* Make mysql adapter support ruby-mysql 3 API (jeremyevans) (#1795)
* Make mysql adapter no longer use connection\'s server_version, since it isn\'t accurate when using the ruby-mysql driver (jeremyevans)
* Add sql_comments plugin for automatically including comments on queries generated by model class, instance, and dataset methods (jeremyevans)
* Make sql_comments Database extension support Database#with_comments, for automatically including comments for queries executed inside the block (jeremyevans)
* Fix sql_comments extension to not modify cached SQL for a dataset (jeremyevans) === 5.51.0 (2021-12-01)
* Make eager loading via tactical_eager_loading no longer modify objects who already have a cached value for the association (jeremyevans)
* Make association cloning handle cases where clone association sets different :class option than cloned association (jeremyevans)
* Make column schema entries on MySQL include an :extra entry for the Extra column in DESCRIBE output (bschmeck) (#1791)
* Update mock PostgreSQL adapter to default to PostgreSQL 14 instead of PostgreSQL 9.5 (jeremyevans)
* Support Dataset#with_recursive :search and :cycle options on PostgreSQL 14+ for result ordering and cycle detection (jeremyevans)
* Avoid method redefined verbose mode warnings in lazy_attributes plugin (jeremyevans) === 5.50.0 (2021-11-01)
* Make Migrator :allow_missing_migration_files also allow down migrations where the current database version is greater than the last migration file version (francisconeves97) (#1789)
* Fix Model#freeze in composition, serialization, and serialization_modification_detection plugins to return self (jeremyevans) (#1788)
* Fix typecasting of lazy columns when using lazy_attributes plugin in model where dataset selects from subquery (jeremyevans)
* Add :before_preconnect Database option, for configuring extensions loaded via :preconnect_extensions (MarcPer, jeremyevans) (#1786)
* Change Dataset#columns! to use a LIMIT 0 query instead of a LIMIT 1 query (jeremyevans)
* Add sql_log_normalizer extension for normalizing logged SQL, helpful for analytics and sensitive data (jeremyevans)
* Add support for range_merge, multirange, and unnest, and PGMultiRange#op to pg_range_ops extension (jeremyevans)
* Add pg_multirange extension with support for PostgreSQL 14+ multirange types (jeremyevans) === 5.49.0 (2021-10-01)
* Switch block_given? usage to defined?(yield) (jeremyevans)
* Support table aliases for JOIN USING columns on PostgreSQL 14+ (jeremyevans)
* Support calling PostgreSQL procedures without arguments (jeremyevans)
* Support hstore subscripts in pg_hstore_ops on PostgreSQL 14+, for updating only part of an hstore value (jeremyevans)
* Support JSONB subscripts in pg_json_ops on PostgreSQL 14+, for updating only part of a JSONB value (jeremyevans)
* Support SQL::Expression#sequel_ast_transform for custom AST transforms on arbitrary expressions (jeremyevans)
* Add Database#create_trigger :replace option on PostgreSQL 14+ for CREATE OR REPLACE TRIGGER (jeremyevans)
* Make auto_validations plugin automatically setup no_null_byte validations (jeremyevans)
* Add Model#validates_no_null_byte to validation_helpers plugin (jeremyevans) === 5.48.0 (2021-09-01)
* Make the unused_associations plugin association reflection tracking work correctly when combining coverage runs (jeremyevans)
* Add Database#like_without_collate on MSSQL, to avoid using COLLATE on LIKE arguments, which can significantly improve performance (jeremyevans)
* Add Model::Errors#full_message private method for easiest i18n support for errors with multiple attributes (jeremyevans) (#1779) === 5.47.0 (2021-08-01)
* Make the unused_associations plugin track access to association reflections to determine whether associations are used (jeremyevans)
* Support :db option for join tables in {many,one}_through_many to use a separate query for each join table (jeremyevans)
* Support :join_table_db option for many_to_many/one_through_one associations, to use a separate query for the join table (jeremyevans)
* Support :allow_eager_graph and :allow_filtering_by association options (jeremyevans)
* Add Database#rename_tables on MySQL, for renaming multiple tables in a single call (nick96) (#1774)
* Support Dataset#returning on SQLite 3.35+ (jeremyevans)
* Mon Jul 26 2021 cooloAATTsuse.comupdated to version 5.46.0 see installed CHANGELOG === 5.46.0 (2021-07-01)
* Add unused_associations plugin, for determining which associations and association methods are not used (jeremyevans)
* Make nil :setter/:adder/:remover/:clearer association options not create related methods (jeremyevans)
* Thu Jun 24 2021 cooloAATTsuse.comupdated to version 5.45.0 see installed CHANGELOG === 5.45.0 (2021-06-01)
* Fix handling of NULL values in boolean columns in the ODBC adapter (jeremyevans) (#1765)
* Add auto_validations_constraint_validations_presence_message plugin for auto_validations/constraint_validations presence message integration (jeremyevans)
* Support Dataset#with :materialized option on SQLite 3.35+ for [NOT] MATERIALIZED (jeremyevans)
* Use ALTER TABLE DROP COLUMN for dropping columns on SQLite 3.35+ (jeremyevans) === 5.44.0 (2021-05-01)
* Add concurrent_eager_loading plugin, for eager loading multiple associations concurrently using separate threads (jeremyevans)
* Support :weeks as a interval unit in the date_arithmetic extension (jeremyevans) (#1759)
* Raise an exception if an interval hash with an unsupported key is passed in the date_arithmetic extension (jeremyevans) (#1759)
* Support dropping non-composite unique constraints on SQLite (jeremyevans) (#1755) === 5.43.0 (2021-04-01)
* Add column_encryption plugin, for encrypting column values (jeremyevans) === 5.42.0 (2021-03-01)
* Make the ado timestamp conversion proc a normal conversion proc that can be overridden similar to other conversion procs (jeremyevans)
* Add :reject_nil option to the nested_attributes method, to ignore calls where nil is passed as the associated object data (jeremyevans)
* Add async_thread_pool plugin for easier async usage with model classes and support for async destroy, with_pk, and with_pk! methods (jeremyevans)
* Add async_thread_pool Database extension for executing queries asynchronously using a thread pool (jeremyevans)
* Fix possible thread safety issue in Database#extension that could allow Module#extended to be called twice with the same Database instance (jeremyevans)
* Support cases where validations make modifications beyond setting errors in Model#freeze (jeremyevans)
* Add Model#to_json_data to the json_serializer plugin, returning a JSON data structure (jeremyevans) === 5.41.0 (2021-02-01)
* Have explicit :text option for a String column take priority over :size option on PostgreSQL (jeremyevans) (#1750)
* Support a :skip_invalid option in auto_validations plugin for not adding errors to a column that already has an error (jeremyevans)
* Support a :skip_invalid option in validation_helpers for not adding an error to a column that already has an error (jeremyevans)
* Support :adder, :remover, and :clearer association options that use keyword arguments in Ruby 2.7+ (jeremyevans)
* Make pg_interval use the same number of seconds per year and per month as ActiveSupport::Duration when using ActiveSupport 5.1+ (jeremyevans)
* Wed Jan 20 2021 cooloAATTsuse.comupdated to version 5.40.0 see installed CHANGELOG === 5.40.0 (2021-01-01)
* Support UPDATE FROM syntax in SQLite 3.33.0+ (jeremyevans)
* Have pg_interval extension work with ActiveSupport 6.1 (jeremyevans)
* Have date_arithmetic extension work with ActiveSupport 6.1 (jeremyevans)
* Avoid method redefinition warnings in verbose warning mode (jeremyevans) === 5.39.0 (2020-12-01)
* Support :clustered option for primary key and unique constraints on Microsoft SQL Server (jeremyevans)
* Do not modify the size of binary columns when using set_column_allow_null on Microsoft SQL Server (jeremyevans) (#1736)
* Add a fork safety guide with more detail on how to use Sequel with libraries that fork (janko) (#1733)
* Make the roots_dataset method in the tree plugin work with queries using joins (jeremyevans) (#1731)
* Make Database#tables return partitioned tables on PostgreSQL 10+ (epoberezhny) (#1729, #1730) === 5.38.0 (2020-11-01)
* Do not add new Database instances to Sequel::DATABASES if the test connection fails (jeremyevans) (#1727)
* Support the newer com.mysql.cj.jdbc.Driver in the jdbc/mysql adapter (jeremyevans)
* Do not swallow disconnect errors in Database#create_or_replace_view or Database#create_table
* on Oracle (jeremyevans)
* Only rescue non-disconnect Sequel::DatabaseErrors in Postgres::Database#server_version (jeremyevans) (#1724)
* Make the single_table_inheritance and prepared_statements plugins work if loaded into the same class (jeremyevans) (#1721) === 5.37.0 (2020-10-01)
* Recognize more unsigned decimal/float types in the schema dumper (akimd, jeremyevans) (#1720)
* Add Postgres::PGRow::{Array,Hash}Row#op to the pg_row_ops extension if the pg_row extension is loaded (jeremyevans)
* Add Model#column_previously_was and #column_previously_changed? to the dirty plugin (jeremyevans)
* Raise Migrator::Error if attempting to migrate down to a version where there are necessary migration files missing (jeremyevans) (#1716)
* Fri Sep 25 2020 cooloAATTsuse.comupdated to version 5.36.0 see installed CHANGELOG === 5.36.0 (2020-09-01)
* Handle passing keyword arguments through class methods defined via Plugins.def_dataset_method on Ruby 2.7+ (jeremyevans)
* Handle passing keyword arguments through when loading plugins on Ruby 2.7+ (jeremyevans)
* Handle passing keyword arguments through migrations when defining custom Database methods that accept keywords on Ruby 2.7+ (jeremyevans)
* Handle passing keyword arguments through Dataset#query when using the query extension on Ruby 2.7+ (jeremyevans)
* Handle passing keyword arguments through the association proxy when using the association_proxies plugin on Ruby 2.7+ (jeremyevans)
* Handle passing keyword arguments through the class method to a method defined in dataset_module on Ruby 2.7+ (adam12) (#1713)
* Stream result sets in the odbc adapter for better performance and lower memory usage (sparrovv) (#1711)
* Add Postgres::JSONBOp#set_lax and #path_
*_tz methods to the pg_json_ops extension for new jsonb functions added in PostgreSQL 13 (jeremyevans)
* Add Dataset#with_ties on PostgreSQL 13+ and Microsoft SQL Server to include rows with same order as final row (jeremyevans)
* Add a :current_schema option to Database#view_exists? (only defined on Oracle) to look in the current schema instead of non-system schemas (jeremyevans) (#1710)
* Recognize another disconnect error in the mysql and mysql2 adapters (jeremyevans) (#1706) === 5.35.0 (2020-08-01)
* Recognize another disconnect error in the oracle adapter (sterlzbd) (#1705)
* Consider all associations with :dataset options as instance-specific associations (jeremyevans)
* Make Model.finalize_associations not break with instance-specific associations (jeremyevans)
* Make association placeholder loader consider block if instance_specific: false association option is used (jeremyevans)
* Copy composite unique constraints when emulating alter table operations on SQLite (jeremyevans) (#1704)
* Add instance_specific_default plugin for setting default association :instance_specific value, or warning/raising for cases where it is not specified (jeremyevans)
* Make Model.plugin issue deprecation warning if loading plugin with arguments and block if plugin does not accept arguments/block (jeremyevans)
* Make validation_class_methods consider all :if, :allow_missing, :allow_nil, and :allow_blank settings, instead of just the first (jeremyevans)
* Include hash entries with nil keys in Dataset#to_dot output in to_dot extension (jeremyevans)
* Remove unneeded conditionals from plugins and extensions (jeremyevans)
* Fix exception class in run_transaction_hooks extension if calling run_after_{commit,rollback}_hooks outside of a transaction (jeremyevans) === 5.34.0 (2020-07-01)
* Make eager_graph work correctly if called with no associations (jeremyevans)
* Make :ruby eager limit strategy handle cases where there is no limit or offset (jeremyevans)
* Do not keep a reference to a Sequel::Database instance that raises an exception during initialization (jeremyevans)
* Make Database#pool.all_connections not yield for a single connection pool in disconnected state (jeremyevans)
* Raise an exception if trying to disconnect a server that doesn\'t exist in the sharded connection pools (jeremyevans)
* Support :refresh option when calling
*_pks getter method in the association_pks plugin (jeremyevans)
* Support caching of repeated calls to
*_pks getter method in the association_pks plugin using :cache_pks association option (jeremyevans)
* Add
*_pks_dataset methods for one_to_many and many_to_many associations when using the association_pks plugin (jeremyevans) === 5.33.0 (2020-06-01)
* Support custom join types on a per-association basis when using eager_graph/association_join (jeremyevans)
* Support primary_key with type: :smallserial on PostgreSQL (j-a-m-l) (#1698)
* Add Database#current_timestamp_utc accessor on SQLite to keep CURRENT_
* in UTC instead of converting to localtime (jeremyevans)
* Thu May 07 2020 cooloAATTsuse.com- updated to version 5.32.0 see installed CHANGELOG === 5.32.0 (2020-05-01)
* Allow Database#create_table? work with :partition_of option on PostgreSQL (jeremyevans) (#1690)
* Add fiber_concurrency extension, for using Fiber.current instead of Thread.current for checking out connections (jeremyevans)
* Move most Sequel singleton methods into a module that extends Sequel for easier overriding (jeremyevans)
* Fix method visibility issues in model, plugin, extension, and adapter code (jeremyevans)
* Avoid defining conversion procs for PostgreSQL inet/cidr types in pg_inet extension when using sequel_pg 1.13.0+ (jeremyevans)
* Add run_transaction_hooks Database extension, allowing for running the transaction hooks before commit/rollback, for use with transactional testing (jeremyevans)
* Recognize timestamp(N) with time zone type (isc) (#1684) === 5.31.0 (2020-04-01)
* Fix alter_table drop_constraint :primary_key option on SQLite for non-integer primary keys (jeremyevans)
* Add skip_saving_columns plugin, which supports columns to skip when saving, and skips generated columns by default (joeosburn, jeremyevans) (#1681, #1682)
* Add support for creating partitioned tables in PostgreSQL 10+ using :partition_by and :partition_of options (jeremyevans)
* Dump generated columns as generated columns when using the schema_dumper with :same_db option on PostgreSQL 12+ (jeremyevans) (#1680)
* Ignore defaults for generated columns by default when using the schema dumper (jeremyevans) (#1680)
* Include generated columns in schema on SQLite 3.31+ (jeremyevans)
* Add :generated schema entry on PostgreSQL 12+ and SQLite 3.31+ for whether the columns is generated (jeremyevans)
* Add association_lazy_eager_option plugin for supporting :eager option for association method (jeremyevans)
* Add forbid_lazy_load plugin for forbidding lazy loading of associations, to help find N+1 issues (jeremyevans) === 5.30.0 (2020-03-01)
* Remove specs and old release notes from the gem to reduce gem size by over 40% (jeremyevans)
* When using Database#transaction :retry_on, call :before_retry option if retrying even if :num_retries is nil (jcmfernandes) (#1678)
* Support generated columns on SQLite 3.31+ using :generated_always_as and :generated_type options (jeremyevans)
* Mon Feb 10 2020 cooloAATTsuse.com- updated to version 5.29.0 see installed CHANGELOG === 5.29.0 (2020-02-01)
* Recognize another disconnect error in the tinytds adapter (jeremyevans)
* Fix verbose warning in postgres adapter when using prepared statements and recent versions of ruby-pg (jeremyevans)
* Work correctly on Ruby 2.8+ by supporting second argument for initialize_clone (jeremyevans)
* Add empty_failure_backtraces plugin for empty backtraces for ValidationFailed and HookFailed exceptions, much faster on JRuby (jeremyevans)
* Add Dataset#json_serializer_opts to json_serializer plugin, allowing to set json_serializer options on a per-dataset basis (jeremyevans) === 5.28.0 (2020-01-01)
* Warn when calling Sequel::JDBC::Postgres::Dataset#with_fetch_size (jeremyevans) (#1665)
* Add exclude_or_null extension, for filtering datasets where the condition is false or NULL (jeremyevans)
* Add any_not_empty extension, for making Dataset#any? without a block mean !empty? (jeremyevans) === 5.27.0 (2019-12-01)
* Add Sequel::DEFAULT for a DEFAULT expression, useful for assigning to default values (jeremyevans)
* Make Postgres::ArrayOp#join in pg_array_ops extension work correctly on PostgreSQL <9.1 (jeremyevans)
* Make pg_enum extension work correctly on PostgreSQL 8.3-9.0 (jeremyevans)
* Emulate FILTER clause for aggregate functions using CASE on databases not supporting it directly (jeremyevans)
* Support ordering by NULLS FIRST/NULLS LAST without emulation on SQLite 3.30+ (jeremyevans) === 5.26.0 (2019-11-01)
* Recognize two additional foreign key constraint violation codes on MySQL 8.0.13+ (rianmcguire) (#1657)
* Support table aliases for single-table INSERT statements on PostgreSQL 9.5+ (jeremyevans) (#1656)
* Implement Sequel::Postgres::PGRange#hash so instances work correctly in hashes (jeremyevans) (#1648)
* Make dirty plugin work correctly with typecast_on_load plugin (jeremyevans) (#1647)
* Add support for :require_modification option when setting up nested_attributes (jeremyevans)
* Add support for SQL/JSON path expressions to the pg_json_ops extension, supported by PostgreSQL 12+ (jeremyevans) === 5.25.0 (2019-10-01)
* Fix Sequel::SQL::NumericMethods#coerce to not raise NoMethodError if super method is not defined (jeremyevans) (#1645)
* Allow setting a default for a column that already has a default on Microsoft SQL Server (jeremyevans)
* Fix keyword argument separation warnings on Ruby master branch in csv_serializer plugin (jeremyevans)
* Add association_multi_add_remove plugin for adding/removing multiple associated objects in a single method call (AlexWayfer, jeremyevans) (#1641, #1643)
* Make sharding plugin integrate with server_block extension (jeremyevans) === 5.24.0 (2019-09-01)
* Add Database#skip_logging? private method designed for extensions to force query timing even if no logger is present (adam12) (#1640)
* Allow a hostname specified in a defaults_file in the mysql2 adapter, by not explicitly setting :host (sapio-bdeamer) (#1638)
* Convert all database array types to Ruby arrays in the jdbc adapter (jeremyevans)
* Add static_cache_cache plugin for caching rows for static_cache models to a file to avoid database queries during model initialization (jeremyevans)
* Add :cache_file plugin option to pg_auto_constraint_validations plugin, for caching metadata to a file for faster initialization (jeremyevans)
* Support :unique_deferrable and :primary_key_deferrable column options (jeremyevans)
* Support :generated_always_as column option on PostgreSQL 12+ (jeremyevans) === 5.23.0 (2019-08-01)
* Work around a bug on jdbc-sqlite3 3.27.2.1 when parsing schema for tables with columns with default values (jeremyevans)
* Work around a bug in jdbc-sqlite3 3.27.2.1 when in Database#foreign_key_list in the jdbc/sqlite3 adapter (jeremyevans)
* Make Dataset#execute
* private methods respect explicit servers option, fixing Dataset#paged_each in the postgres adapter when sharding (jeremyevans) (#1632)
* Handle instances of subclasses of core classes when wrapping objects in the pg_json extension (jeremyevans) (#1631)
* Support :ansi Database option in the tinytds adapter (kenaniah) (#1629)
* Support cross-database and linked servers when parsing schema on Microsoft SQL Server (kenaniah) (#1629)
* Add insert_conflict plugin for automatically handling unique constraint conflicts when saving new model instances on PostgreSQL 9.5+ and SQLite 3.24.0+ (jeremyevans)
* Avoid errors when parsing schema in the mock sqlite adapter (jeremyevans)
* Avoid possible thread-safety issue in the timezones support (jeremyevans)
* Handle offsets when typecasting an array or hash to datetime when Sequel.datetime_class = Time (jeremyevans)
* Support Sequel.datetime_class = Time when using the named_timezones extension (jeremyevans)
* Fri Jul 19 2019 cooloAATTsuse.com- updated to version 5.22.0 see installed CHANGELOG === 5.22.0 (2019-07-01)
* Fix Dataset#multi_insert and #import with return: :primary_key on MSSQL when the dataset has a row_proc (jeremyevans) (#1627)
* Support Dataset#with :materialized option on PostgreSQL 12 for [NOT] MATERIALIZED (jeremyevans)
* Make Database#primary_key_sequence work on tables without serial sequences on PostgreSQL 12 (jeremyevans)
* Support ruby 2.7+ startless ranges in the pg_range extension (jeremyevans)
* Support ruby 2.7+ startless, endless ranges in filters, using an always true condition for them (jeremyevans)
* Support ruby 2.7+ startless ranges in filters, using just a <= or < operator for them (jeremyevans) === 5.21.0 (2019-06-01)
* Recognize additional DatabaseLockTimeout errors in mysql and mysql2 adapters (jeremyevans)
* Disallow eager_graph of ancestors and descendants associations when using the rcte_tree plugin (jeremyevans)
* Make jdbc/mysql adapter work when using JRuby with Java 11 (jeremyevans)
* Support window function options :window, :exclude, and :frame :type=>:groups, :start, and :end on SQLite 3.28.0+ (jeremyevans)
* Make the server_block extension respect the :servers_hash Database option (jeremyevans)
* Typecast string input for json/jsonb types as JSON strings instead of parsing as JSON in the pg_json extension when Database#typecast_json_strings is set to true (jeremyevans)
* Wrap JSON primitives (string, number, true, false, nil) in the pg_json extension when Database#wrap_json_primitives is set to true (jeremyevans)
* Convert the Database :timeout option to an integer in the sqlite adapter (jeremyevans) (#1620)
* Improve performance in ado adapter using more efficient inner loop (jeremyevans)
* Improve performance in ado adapter using faster callables for type conversion (jeremyevans)
* Fix handling of decimal values in the ado adapter when using locales where the decimal separator is , and not . (jeremyevans) (#1619)
* Sun May 05 2019 cooloAATTsuse.com- updated to version 5.20.0 see installed CHANGELOG === 5.20.0 (2019-05-01)
* Fix reversing of alter_table add_foreign_key when :type option is used (jeremyevans) (#1615)
* Switch from using instance_exec to define_method for model associations and in some plugins (jeremyevans)
* Fix Database#server_version when using mysql2 adapter with mysql driver on MariaDB 10+ database (v-kolesnikov) (#1614)
* Make one_to_one setter method handle models that use joined datasets (jeremyevans) (#1612)
* Make auto_validations plugin work with the class_table_inheritance plugin (jeremyevans) (#1611)
* Avoid use of instance_exec for PlaceholderLiteralString#with_dataset (jeremyevans)
* Recognize float unsigned database types as float (keeguon, jeremyevans) (#1609)
* Support :savepoint options to Database#{after_commit,after_rollback} for making the hooks handle savepoints (jeremyevans)
* Avoid use of instance_exec in association_dependencies plugin (jeremyevans)
* Add pg_auto_constraint_validation_override to the pg_auto_constraint_validations plugin, for customizing columns and error message per constraint (jeremyevans)
* Make Database#check_constraints on PostgreSQL also include constraints where the related columns are not known (jeremyevans) === 5.19.0 (2019-04-02)
* Use more optimized approach to merging hashes in ruby 2.5+ (jeremyevans)
* Use SQLite extended result codes when using ruby-sqlite3 1.4.0+ (jeremyevans)
* Recognize additional SQLite extended result codes in the shared sqlite adapter (jeremyevans)
* Add Database#rename_enum_value to the pg_enum extension (AlexWayfer) (#1603)
* Make Database#drop_table delete constraint validations metadata for that table if using the constraint_validations extension (jeremyevans)
* Speed up row fetching in the sqlite adapter (jeremyevans)
* Speed up row fetching and type conversion in the sqlanywhere adapter (jeremyevans)
* Sat Mar 02 2019 cooloAATTsuse.com- updated to version 5.18.0 see installed CHANGELOG === 5.18.0 (2019-03-01)
* Use singleton .call methods on plain objects instead of procs/methods for faster type conversion (jeremyevans)
* Add Sequel::SQL::Blob.call to avoid indirection when converting values from the database (jeremyevans)
* Use while instead of each for inner loops in sqlite and jdbc adapters for better performance (jeremyevans)
* Make after_initialize plugin not make the argument to Model.call optional (jeremyevans)
* Allow Dataset#paged_each to be called without a block in the postgres and mysql2 adapters (jeremyevans)
* Remove flow-control exceptions in connection_expiration and connection_validator extensions (jeremyevans)
* Add throw_failures plugin for throwing ValidationFailed and HookFailed exceptions instead of raising them, up to 10x performance increase on JRuby (jeremyevans)
* Support tzinfo 2 in addition to tzinfo 1 in the named_timezones extension (jeremyevans) (#1596) === 5.17.0 (2019-02-01)
* Support skip_auto_validations instance method in auto_validations plugin (oldgreen, jeremyevans) (#1592)
* Support :preconnect_extensions Database option for loading extensions before :preconnect option (jeremyevans)
* Avoid usage of Proc.new with implicit block as ruby 2.7+ deprecates this behavior (jeremyevans)
* Allow Sequel[].as to be used for constructing aliases with eager_graph (e.g. Model.eager_graph(Sequel[:a].as(:b))) (jeremyevans) (#1588)
* Mon Jan 14 2019 cooloAATTsuse.com- updated to version 5.16.0 see installed CHANGELOG === 5.16.0 (2019-01-02)
* Convert integer columns to bigint columns when copying SQLite databases to other databases using bin/sequel -C (jeremyevans) (#1584)
* Use nicer error messages for missing or empty migration directories (Lavode) (#1585)
* Make alter table emulation work correctly in SQLite 3.26.0+ (jeremyevans) (#1582)
* Do not unset new one_to_one associated objects\' reciprocal associations before saving associated objects in the nested_attributes plugin (jeremyevans)
* Do not validate new one_to_one associated objects twice when saving in the nested_attributes plugin (jeremyevans)
* Fix :qualify_tables option to class_table_inheritance plugin to work correctly with subclasses of subclasses (benalavi) (#1581)
* Make class_table_inheritance plugin use the schema cache instead of sending a query to get columns for tables (kenaniah) (#1580)
* Remove loading of mysqlplus in the mysql adapter (jeremyevans)
* Make mysql adapter work correctly on ruby 2.6+ (jeremyevans)
* Add Database#rollback_on_exit to rollback transactions instead of committing them when exiting the transaction block (jeremyevans)
* Enable window functions in SQLite 3.26.0+ (jeremyevans)
* Do not override existing methods when creating Sequel::Model attribute getter/setter methods (jeremyevans) (#1578)
* Use parentheses for expressions being subscripted (e.g. (array_agg(column))[1]) (jeremyevans)
* Sat Dec 08 2018 cooloAATTsuse.com- updated to version 5.15.0 see installed CHANGELOG === 5.15.0 (2018-12-01)
* Add :conn_str option in the postgres adapter for PostgreSQL connection strings, if the pg driver is used (graywolf) (#1572)
* Add :qualify_tables option to class_table_inheritance plugin to automatically qualify subclass tables with superclass qualifier (benalavi) (#1571)
* Access already allocated connections in a thread safe manner when checking out connections in the sharded threaded connection pool (jeremyevans)
* Automatically support datasets using qualified tables in the class_table_inheritance plugin without having to use the :alias option (benalavi) (#1565)
* Support rename_column without emulation on SQLite 3.25+ (jeremyevans)
* Do not remove currently cached many_to_one associated objects when changing the related foreign key value from nil to non-nil (jeremyevans)
* Do not validate new
*_to_many associated objects twice when saving in the nested_attributes plugin (jeremyevans)
* Add Model#skip_validation_on_next_save! for skipping validation on next save call (jeremyevans)
* Thu Nov 22 2018 cooloAATTsuse.com- updated to version 5.14.0 see installed CHANGELOG === 5.14.0 (2018-11-01)
* Drop defaulting the :port option to 5432 in the postgres adapter, so that setting the :service option in :driver_options works (jeremyevans) (#1558)
* Do not cache values for columns without parseable defaults when using :cache option in defaults_setter plugin (jeremyevans)
* Emulate NULLS FIRST/LAST ordering on databases that do not natively support it (jeremyevans)
* Do not modify boolean expressions created from string or array if string or array is modified (jeremyevans)
* Make roots and roots_dataset dataset methods instead of class methods in the tree plugin (JelF) (#1554)
* Do not cache dataset SQL if dataset uses subquery that cannot cache SQL (jeremyevans)
* Make Model#=== work correctly for models with composite primary keys (jeremyevans)
* Add Model#pk_equal? as a more descriptive name for Model#=== (AlexWayfer) (#1550)
* Do not push down expression inversion in cases where it may result in incorrect behavior (e.g. ANY/SOME/ALL operators) (jeremyevans) (#1549) === 5.13.0 (2018-10-01)
* Support :single_value type in prepared statements (rintaun) (#1547)
* Make Model.all in static_cache plugin accept a block (AlexWayfer, jeremyevans) (#1543)
* Add constant_sql_override extension for overriding SQL used for constants such as CURRENT_TIMESTAMP (celsworth) (#1538)
* Do not cache from_self datasets if options are given (jeremyevans)
* Wed Sep 05 2018 cooloAATTsuse.com- updated to version 5.12.0 see installed CHANGELOG === 5.12.0 (2018-08-31)
* Make constraint_validations extension respect Database#constraint_validations_table setting (jeremyevans)
* Make Sequel.extension load files from gems (jeremyevans)
* Map clob prepared statement argument type to OCI8::CLOB in the oracle adapter (pipistrellka) (#1534)
* Make Model.load_cache public in the static_cache plugin (AlexWayfer) (#1533)
* Enable support for NOWAIT on MariaDB 10.3+ (jeremyevans)
* Enable support for INTERSECT and EXCEPT on MariaDB 10.3+ (jeremyevans)
* Make tactical_eager_loading plugin handle automatic eager loading for associated objects created by eager_graph (jeremyevans)
* Cache eager_graph loader to speed up subsequent loads from the same dataset (jeremyevans)
* Add caller_logging database extension to log callers before queries, useful during development (jeremyevans)
* Add Database#call_procedure in the postgres adapter for calling PostgreSQL 11+ procedures (jeremyevans)
* Add eager_graph_eager plugin for chaining eager association loads after eager_graph association loads (jeremyevans)
* Support using Dataset#eager_graph in eager load callback for associations using join tables (jeremyevans)
* Make Dataset#graph handle existing selections without determinable aliases by forcing a subselect (jeremyevans)
* Freeze prepared statement arguments before returning the prepared statement (jeremyevans)
* Refactor emulated prepared statement internals to use a placeholder literalizer (jeremyevans) === 5.11.0 (2018-08-01)
* Fix using the jdbc/sqlserver adapter on JRuby 9.2+ (jeremyevans)
* Fix dumping schema for numeric/decimal columns with default values, broken starting in 5.9.0 (jeremyevans)
* Recognize additional check constraint violations on certain versions of SQLite (jeremyevans)
* Use cached model instances for Model.first calls without an argument or with a single integer argument in the static_cache plugin (AlexWayfer) (#1529)
* Support ON CONFLICT clause for INSERT on SQLite 3.24+ (jeremyevans)
* Support Dataset#window for WINDOW clause on MySQL 8 and SQLAnywhere (jeremyevans)
* Enable window function support on SQLAnywhere (jeremyevans)
* Support using a hash as a window function :frame option value, with support for ROWS/RANGE/GROUPS, numeric offsets, and EXCLUDE (jeremyevans)
* Allow using set_column_default with a nil value to remove the default value for a column on MySQL when the column is NOT NULL (jeremyevans)
* Sun Jul 01 2018 factory-autoAATTkulow.org- updated to version 5.10.0 see installed CHANGELOG === 5.10.0 (2018-07-01)
* Use input type casts when using the postgres adapter with pg 0.18+ to reduce string allocations for some primitive types used as prepared statement arguments (jeremyevans)
* Assume local time if database timezone not specified when handling BC timestamps on JRuby 9.2.0.0 in the pg_extended_date_support extension (jeremyevans)
* Fix parsing of timetz types in the jdbc/postgresql adapter (jeremyevans)
* Make SQLTime.parse respect SQLTime.date and Sequel.application_timezone (jeremyevans)
* Add :top as an option in the list plugin (celsworth) (#1526)
* Fix Model#{ancestors,descendants,self_and_siblings} in the tree plugin when custom parent/children association names are used (jeremyevans) (#1525)
* Treat read-only mode error as disconnect error on mysql and mysql2 adapters, for better behavior on AWS Aurora cluster (jeremyevans)
* Don\'t use cached placeholder literalizers for in Dataset#{first,where_all,where_each,where_single_value} if argument is empty array or hash (jeremyevans)
* Support :tablespace option when adding tables, indexes, and materialized views on PostgreSQL (jeremyevans)
* Support :include option for indexes on PostgreSQL 11+ (jeremyevans)
* Allow the use of IN/NOT IN operators with set returning functions for Sequel::Model datasets (jeremyevans)
* Make many_to_pg_array associations in the pg_array_associations plugin work on PostgreSQL 11 (jeremyevans)
* Only load strscan library in pg_array extension if it is needed (jeremyevans)
* Don\'t remove related many_to_one associations from cache when setting column value to existing value for model instances that have not been persisted (jeremyevans) (#1521)
* Support ruby 2.6+ endless ranges in the pg_range extension (jeremyevans)
* Support ruby 2.6+ endless ranges in filters, using just a >= operator for them (jeremyevans)
* Fri Jun 01 2018 factory-autoAATTkulow.org- updated to version 5.9.0 see installed CHANGELOG === 5.9.0 (2018-06-01)
* Support generated columns on MySQL 5.7+ and MariaDB 5.2+ (wjordan, jeremyevans) (#1517)
* Add escaped_like extension for creation of LIKE expressions with placeholders in the pattern without access to a dataset (jeremyevans)
* Modify jdbc adapter exception handling to work around ::NativeException deprecation in JRuby 9.2 (jeremyevans)
* Work around broken BC date handling in JRuby 9.2.0.0 (jeremyevans)
* Switch use of BigDecimal.new() to BigDecimal(), since the former is deprecated (jeremyevans)
* Add Sequel::VERSION_NUMBER for easier version comparisons (jeremyevans)
* Add Model.has_dataset? to determine if the model class has a dataset (AlexWayfer) (#1508)
* Support use of LIKE with ANY function on PostgreSQL by avoiding unnecessary use of ESCAPE syntax (jeremyevans)
* Disconnect connections left allocated by dead threads instead of returning the connections to the pool (jeremyevans)
* Make both threaded connection pools avoid disconnecting connections while holding the connection pool mutex (jeremyevans)
* Don\'t deadlock when disconnecting connections in the sharded_threaded connection pool when using connection_validator or connection_expiration extensions (jeremyevans)
* Don\'t modify hash argument passed in Model.nested_attributes in the nested_attributes plugin (jeremyevans)
* Avoid unnecessary hash creation in many places (jeremyevans)
* Fix duplicate objects in nested associations when eager_graphing cascaded many_to_one=>one_to_many associations (jeremyevans)
* Tue May 01 2018 factory-autoAATTkulow.org- updated to version 5.8.0 see installed CHANGELOG
* Thu Apr 05 2018 factory-autoAATTkulow.org- updated to version 5.7.1 see installed CHANGELOG === 5.7.1 (2018-04-04)
* Don\'t use identity columns if :serial=>true or :type=>:serial|:bigserial column options are used (#1490) (jeremyevans)
* Mon Apr 02 2018 factory-autoAATTkulow.org- updated to version 5.7.0 see installed CHANGELOG === 5.7.0 (2018-04-01)
* Add Sequel.start_timer and .elapsed_seconds_since for more accurate elapsed time calculations on ruby 2.1+ (jeremyevans)
* Run Dataset#with_sql_{all,each,first,single_value} using a cached dataset to avoid clobbering the dataset\'s columns (jeremyevans)
* Add Database#convert_serial_to_identity on PostgreSQL 10.2+, which requires superuser access (jeremyevans)
* Fix Database#server_version when connecting to PostgreSQL 10.1+ in certain cases (jeremyevans)
* Free temporary clobs in the jdbc/oracle adapter to prevent a memory leak (jeremyevans) (#1482)
* Treat prepared statement errors due to changing types as disconnect errors in the postgres adapter (jeremyevans) (#1481)
* Add integer64 extension for treating Integer as a 64-bit integer when used as a generic type (jeremyevans)
* Allow many_to_pg_array remove_all_
* method cast appropriately to work correctly for non-integer types (jeremyevans)
* Fix array_type for pg_array_to_many and many_to_pg_array associations in pg_array_associations plugin (jeremyevans)
* Use identity columns instead of serial columns for primary keys on PostgreSQL 10.2+ (jeremyevans)
* Support :identity option when creating columns on PostgreSQL 10+ to create identity columns (jeremyevans)
* Add Dataset#overriding_{system,user}_value on PostgreSQL for use with PostgreSQL 10+ identity columns (jeremyevans)
* Set :auto_increment schema entry correctly for PostgreSQL 10+ identity columns (jeremyevans)
* Fri Mar 02 2018 factory-autoAATTkulow.org- updated to version 5.6.0 see installed CHANGELOG === 5.6.0 (2018-03-01)
* Dedup :db_type strings in schema hashes on Ruby 2.5+ (jeremyevans)
* Make schema_caching extension work with :callable_default schema values (jeremyevans)
* Freeze string valuse in hashes returned by Database#schema when using the schema_caching extension (jeremyevans)
* Protect migration file loading with a mutex to not break when multiple threads load migration files simultaneously (jeremyevans)
* Respect identifier mangling rules when renaming columns on Microsoft SQL Server (jeremyevans)
* Tue Feb 27 2018 factory-autoAATTkulow.org- updated to version 5.5.0 see installed CHANGELOG === 5.5.0 (2018-01-31)
* Make Database#copy_table in the postgres adapter handle errors that occur while processing rows (jeremyevans) (#1470)
* Cache results of changed_columns method in local variables in many places for better performance (jeremyevans)
* Make modification_detection plugin not break column change detection for new objects (jeremyevans) (#1468)
* Make pg_range extension set :ruby_default schema value for recognized range defaults (jeremyevans)
* Make pg_interval extension set :ruby_default schema value for recognized interval defaults (jeremyevans)
* Make pg_json extension set :callable_default schema value for empty json/jsonb array/hash defaults (jeremyevans)
* Make pg_inet extension set :ruby_default schema value for recognized inet/cidr defaults (jeremyevans)
* Make pg_hstore extension set :callable_default schema value for empty hstore defaults (jeremyevans)
* Make pg_array extension set :callable_default schema value for recognized empty array defaults (jeremyevans) (#1466)
* Make defaults_setter plugin prefer :callable_default db_schema values over :ruby_default db_schema values (jeremyevans)
* Add defaults_setter plugin :cache option for caching default values returned (jeremyevans)
* Freeze string values in hashes returned by Database#schema (jeremyevans) === 5.4.0 (2018-01-04)
* Enable fractional seconds in timestamps on DB2 (jeremyevans) (#1463)
* Don\'t attempt to insert a second time if insert_select runs a query that doesn\'t return results, which can happen when triggers are used (jeremyevans)
* Make Dataset#insert_select on PostgreSQL and MSSQL return false instead of nil if the INSERT query is sent to the database but returns no rows (jeremyevans)
* Add index_caching extension for caching calls to Database#indexes (kenaniah, jeremyevans) (#1461)
* Allow Database#indexes on SQLite, MSSQL, SQLAnywhere, and DB2 to handle SQL::Identifier values (jeremyevans)
* Add pg_timestamptz extension for using timestamptz (timestamp with time zone) as the default timestamp type (jeremyevans)
* Support Sequel.date_{add,sub} :cast option for setting cast type in date_arithmetic extension (jeremyevans)
* Optimize Database#synchronize implementation on ruby 2.5+ (jeremyevans)
* Add class_table_inheritance plugin :ignore_subclass_columns option (brianphillips) (#1459)
* Make Dataset#to_xml in xml_serializer work with eager_graphed datasets (jeremyevans)
* Make Dataset#to_json in json_serializer work with eager_graphed datasets (jeremyevans)
* Cache Dataset#nullify dataset in the null_dataset extension (chanks) (#1456)
* Add datetime_parse_to_time extension, for parsing timestamp strings without offsets using DateTime.parse.to_time (jeremyevans) (#1455)
* Add WHERE NULL filter for Dataset#where calls with no existing filter, no argument, and where the virtual row block returns nil (jeremyevans) === 5.3.0 (2017-12-01)
* Add logger to Database instance before making first connection in bin/sequel (jeremyevans)
* Drop support for PostgreSQL <8.1 in Database#indexes (jeremyevans)
* Add synchronize_sql extension, for checking out a connection around SQL generation (KJTsanaktsidis, jeremyevans) (#1451)
* Deprecate Dataset#where calls with no existing filter, no argument, and where the virtual row block returns nil (jeremyevans) (#1454)
* Add DatasetModule#reverse for simpler use of descending orders (jeremyevans)
* Support WITH clauses in subqueries on SQLite, but not in UNION/INTERSECT/EXCEPT (jeremyevans)
* Hoist WITH clauses to INSERT statement level if INSERT subquery uses a CTE on MSSQL (jeremyevans)
* Respect indislive and ignore indcheckxmin index attributes when using Database#indexes on PostgreSQL (jeremyevans)
* Explicitly disallow use of server-side prepared statements when using Dataset#call in the jdbc/postgresql adapter (jeremyevans) (#1448)
* Support common table expressions, window functions, dropping CHECK constraints, and recognizing CURRENT_DATE defaults on MariaDB 10.2+ (jeremyevans)
* Make Database#reset_primary_key_sequence work on PostgreSQL 10+ (jeremyevans)
* Support :connect_sqls Database option for easily issuing sql commands on all new connections (jeremyevans)
* Support :extensions Database option for loading extensions when initializing, useful in connection strings (jeremyevans)
* Avoid warning if trying to rollback after a commit or rollback raises an exception in the postgres adapter (jeremyevans)
* Support Date::Infinity values in the pg_extended_date_support extension (jeremyevans) === 5.2.0 (2017-10-27)
* Fix type conversion for smallint unsigned and integer unsigned types on jdbc/mysql (jeremyevans) (#1443)
* Add pg_extended_date_support extension, for handling infinite and BC dates/timestamps (jeremyevans)
* Do not ignore existing AATTdataset instance variable when subclassing Sequel::Model (bjmllr) (#1435)
* Wed Oct 11 2017 cooloAATTsuse.com- updated to version 5.1.0 see installed CHANGELOG === 5.1.0 (2017-10-01)
* Make jdbc/h2 and jdbc/hsqldb adapters respect :foreign_key_constraint_name option when adding new foreign key column (jeremyevans)
* Do not issue unnecessary query for macaddr type oid when loading the pg_inet extension (jeltz) (#1423)
* Make alter_table add_foreign_key with a column symbol reversible when using the :foreign_key_constraint_name option (jeremyevans) (#1422)
* Do not raise an error if calling Model.freeze on a frozen model (jeremyevans) (#1421)
* Make Database#copy_into in the jdbc/postgresql adapter handle multi-byte strings (ckoenig) (#1416)
* Remove deprecated Model use_after_commit_rollback class and instance methods (jeremyevans)
* Remove deprecated Model.allowed_columns method in the base model support (jeremyevans)
* Remove deprecated Model.plugin_module_defined? private method (jeremyevans)
* Remove deprecated support for Model#_before_validation private method (jeremyevans)
* Mon Sep 11 2017 cooloAATTsuse.com- updated to version 5.0.0 see installed CHANGELOG === 5.0.0 (2017-09-01)
* Make bin/sequel -M option always use base 10 (jeremyevans)
* Don\'t use savepoints when creating indexes inside a transaction on databases that don\'t support transactional schema modifications (jeremyevans) (#1407)
* Support :if_not_exists option when creating indexes on PostgreSQL 9.5+ (DyegoCosta) (#1405)
* Make threaded connection pools not block while connections are being made (jeremyevans)
* SQL::Expression#clone and #dup now return self, since all expressions should be frozen value objects (jeremyevans)
* Don\'t create empty arrays for unused association callbacks (jeremyevans)
* Cache association method name symbols instead of recomputing them everytime (jeremyevans)
* Raise an exception if attempting to create a prepared statement using a dataset with a delayed evaluation (jeremyevans)
* Make ConnectionPool#size thread safe by using the pool mutex (jeremyevans)
* Use instance_exec instead of instance_eval when passing a block, to work with lambdas that accept no arguments (jeremyevans)
* Freeze SQL::StringAgg instances in string_agg extension (jeremyevans)
* Freeze SQL::DateAdd instances in date_arithmetic extension (jeremyevans)
* Freeze SQL::Expression.comparison_attrs (jeremyevans)
* Rename SQL::Subscript#f to #expression, keeping #f as an alias (jeremyevans)
* Require the :pool_class Database option be a class to use a custom connection pool (jeremyevans)
* Make the class_table_inheritance plugin raise an Error during update if any UPDATE query does not affect a single row (jeremyevans)
* Change most send calls to public_send unless calling private methods is expected (jeremyevans)
* Database schema and schema generator methods now return nil (jeremyevans)
* Model#validates_unique in the validation helpers plugin now defaults to only checking on new or modified values (jeremyevans)
* Deprecate Model#_before_validation (private_method), use Model#before_validation now (jeremyevans)
* Always run before/after/around validation hooks when saving, even when not validating the object (jeremyevans)
* Deprecate Model use_after_commit_rollback class and instance accessors (jeremyevans)
* Deprecate Model.allowed_columns reader (jeremyevans)
* Freeze internal constants that shouldn\'t be modified at runtime (jeremyevans)
* Attempt to connect to the database immediately when creating the Database instance (jeremyevans)
* Make association_pks plugin delay the setting of associated objects until the current object is saved by default (jeremyevans)
* Joined datasets used as model datasets are now automatically wrapped in a subquery (jeremyevans)
* Setting an invalid dataset for a model class now raises an exception by default (jeremyevans)
* Getting all values for newly created models now happens before calling after_create, instead of after (jeremyevans)
* Remove use of AATTwas_new/AATTcolumns_updated instance variables when saving model objects (jeremyevans)
* Disable symbol splitting by default (jeremyevans)
* Make datasets frozen by default (jeremyevans)
* Drop support for ruby 1.8.7, minimum now is 1.9.2 (jeremyevans)
* Remove deprecated adapters, extensions, plugins, constants, and features (jeremyevans)
* Thu Aug 03 2017 cooloAATTsuse.com- updated to version 4.49.0 see installed CHANGELOG === 4.49.0 (2017-08-01)
* Make dataset_associations plugin automatically alias tables when using many_through_many associations that join the same table multiple times (jeremyevans)
* Deprecate using a :pool_class Database that is not a class or a symbol for a supported pool class (jeremyevans)
* Deprecate :eager_loading_predicate_key association option and association reflection method (jeremyevans)
* Deprecate Model.serialized_columns in the serialization plugin (jeremyevans)
* Deprecate Model.cti_columns in the class_table_inheritance plugin (jeremyevans)
* Deprecate SQL::AliasedExpression#aliaz, use #alias instead (jeremyevans)
* Deprecate SQL::Function#f, use #name instead (jeremyevans)
* Deprecate treating cross join with conditions as inner join on MySQL (jeremyevans)
* Deprecate ConnectionPool#created_count, use #size instead (jeremyevans)
* Deprecate ConnectionPool::CONNECTION_POOL_MAP, use the :pool_class option to specify a non-default connection pool (jeremyevans)
* Deprecate Sequel::IBMDB::Connection#prepared_statements= in the ibmdb adapter (jeremyevans)
* Deprecate DEFAULT_OPTIONS in validation_helpers, override default_validation_helpers_options private method instead (jeremyevans)
* Deprecate model association before callbacks returning false to cancel the action (jeremyevans)
* Support native offset syntax on Oracle 12 (timon) (#1397)
* Deprecate Dataset#nullify! in the null_dataset extension (jeremyevans)
* Deprecate Dataset#autoid=, #_fetch=, and #numrows= in the mock adapter (jeremyevans)
* Deprecate loading plugins by requiring sequel_#{plugin} (jeremyevans)
* Add Model.sti_class_from_sti_key in the single_table_inheritance plugin to get the appropriate class to use (Aryk) (#1396)
* Make Sequel::Error#cause use #wrapped_exception if it exists on ruby 2.1+ (jeremyevans)
* Make Dataset#where_all, #where_each, #where_single_value core dataset methods instead of just model dataset methods (jeremyevans)
* Make Database#extend_datasets and Dataset#with_extend now use a Dataset::DatasetModule instance if given a block (jeremyevans)
* Add Sequel::Dataset::DatasetModule, now a superclass of Sequel::Model::DatasetModule (jeremyevans)
* Make composition plugin with :mapping option work correctly if Model#get_column_value is overridden (jeremyevans)
* Support Dataset#paged_each :stream => false option on mysql2 to disable streaming (Aryk) (#1395)
* Make datetimeoffset handling in the jdbc/sqlserver adapter work on more drivers (jeremyevans)
* Make alter_table add_primary_key work correctly on H2 1.4+ (jeremyevans)
* Support :sslrootcert Database option in the postgres adapter (dleavitt) (#1391) === 4.48.0 (2017-07-01)
* Deprecate Model.<< (jeremyevans)
* Deprecate Dataset#{and,exclude_where,range,interval}, move to sequel_4_dataset_methods extension (jeremyevans)
* Make Database#indexes not include partial indexes on SQLite 3.8.8+ (jeremyevans)
* Make Database#indexes include indexes created automatically from unique constraints on SQLite 3.8.8+ (jeremyevans)
* Deprecate Sequel::Postgres::PG_TYPES, conversion procs should not be registered per-Database (jeremyevans)
* Add Database#add_conversion_proc method on PostgreSQL for registering conversion procs (jeremyevans)
* Deprecate unexpected values passed to Dataset#insert_conflict on SQLite (jeremyevans)
* Deprecate Sequel::SqlAnywhere::Dataset#convert_smallint_to_bool= method (jeremyevans)
* Deprecate Sequel::SqlAnywhere.convert_smallint_to_bool accessor (jeremyevans)
* Use savepoints around index creation if creating table inside transaction if ignore_index_errors is used (jeremyevans)
* Deprecate treating :natrual_inner join type on MySQL as NATURAL LEFT JOIN (jeremyevans)
* Deprecate Dataset#mssql_unicode_strings= on Microsoft SQL Server (jeremyevans)
* Preserve encoding when parsing PostgreSQL arrays (jeltz) (#1387)
* Deprecate external modification of Sequel::JDBC::TypeConvertor (jeremyevans)
* Deprecate Sequel::DB2.use_clob_as_blob accessor (jeremyevans)
* Add Database#use_clob_as_blob accessor on DB2 (jeremyevans)
* Deprecate SEQUEL_POSTGRES_USES_PG constant (jeremyevans)
* Do not swallow original exception if exception is raised inside Database#copy_table on PostgreSQL (jeremyevans)
* Deprecate Sequel::Postgres.client_min_messages and force_standard_strings accessors (jeremyevans)
* Deprecate Sequel::Postgres.use_iso_date_format accessor (jeremyevans)
* Do not allow connection in postgres adapter if postgres-pr driver is used and force_standard_strings is false (jeremyevans)
* Drop support for ancient postgres driver in postgres adapter, now only pg and postgres-pr drivers are supported (jeremyevans)
* Deprecate Sequel::MySQL.convert_invalid_date_time accessor (jeremyevans)
* Deprecate Sequel::MySQL.convert_tinyint_to_bool accessor (jeremyevans)
* Deprecate Sequel::MySQL.default_{charset,collate,engine} accessors (jeremyevans)
* Add Database#default_{charset,collate,engine} accessors on MySQL (jeremyevans)
* Make mock adapter thread safe (jeremyevans)
* Deprecate Sequel::JDBC::Dataset#convert_types accessor (jeremyevans)
* Add Dataset#with_convert_types in jdbc adapter (jeremyevans)
* Deprecate Sequel::IBMDB::Dataset#convert_smallint_to_bool= method (jeremyevans)
* Deprecate Sequel::IBMDB.convert_smallint_to_bool accessor (jeremyevans)
* Add Database#convert_smallint_to_bool accessor in the ibmdb adapter (jeremyevans)
* Deprecate sequel_3_dataset_methods extension (jeremyevans)
* Deprecate query_literals extension (jeremyevans)
* Deprecate using subtype conversion procs added after registering composite type in the pg_row extension (jeremyevans)
* Don\'t try canceling copy in Database#copy_into if copier is not created yet (aakashAu) (#1384)
* Deprecate global conversion procs added by pg_
* extensions, when extension isn\'t loaded into Database instance (jeremyevans)
* Deprecate Sequel::Postgres::PGRange.register in the pg_range extension (jeremyevans)
* Deprecate Sequel::Postgres::PGArray.register in the pg_array extension (jeremyevans)
* Deprecate Database#copy_conversion_procs (private method) on PostgreSQL (jeremyevans)
* Deprecate Database#reset_conversion_procs on PostgreSQL (jeremyevans)
* Deprecate meta_def extension (jeremyevans)
* Make class_table_inheritance plugin with :alias option not use subquery for datasets that don\'t join (jeremyevans)
* Deprecate hash_aliases extension (jeremyevans)
* Deprecate filter_having extension (jeremyevans)
* Deprecate empty_array_ignore_nulls extension (jeremyevans)
* Deprecate Array#sql_array in the core_extensions extension (jeremyevans)
* Make validation_helpers plugin :allow_blank option work correctly when the blank extension is not loaded (jeremyevans)
* Make validation_class_methods plugin no longer require the blank extension (jeremyevans)
* Clear cached associations when touching associations in the touch plugin (jeremyevans)
* Make pg_array_associations model plugin load pg_array extension into database (jeremyevans)
* Remove support for :strict option in nested_attributes plugin, use :unmatched_pk option instead (jeremyevans)
* Make to_json class/dataset method in json_serializer plugin accept :instance_block option to pass block to Model#to_json (jeremyevans)
* Make to_json methods in json_serializer plugin accept blocks that are used to transform values before serializing to JSON (jeremyevans)
* Make Sequel.object_to_json pass block to #to_json (jeremyevans)
* Deprecate identifier_columns plugin, not needed with Sequel.split_symbols = false (jeremyevans)
* Make reloading column_conflicts plugin not remove existing conflict markings (jeremyevans)
* Deprecate cti_base_model, cti_key, and cti_model_map class methods in class_table_inheritance plugin (jeremyevans)
* Make Model.skip_auto_validations(:not_null) in the auto_validations plugin skip not null checks for columns with default values (jeremyevans)
* Make Database#copy_into in jdbc/postgresql adapter respect :server option (jeremyevans)
* Make #to_hash and #to_hash_groups handle options in the static_cache plugin, and add rename #to_hash to #as_hash (jeremyevans)
* Rename Dataset#to_hash to #as_hash, and add #to_hash as an alias, to allow undefing #to_hash to fix ruby calling it implicitly (jeremyevans) (#1375)
* Handle PG
* constants deprecated in pg 0.21.0 in the postgres adapter (jeremyevans) (#1377, #1378)
* Support :association_pks_use_associated_table association option in association_pks plugin (jeremyevans)
* Make pg_hstore extension reset hstore conversion proc when running Database#reset_conversion_procs (jeremyevans)
* Fix incorrect SQL used for inserting into a CTI subclass sharing the primary table when using the :alias option (jeremyevans)
* Tue Jun 06 2017 cooloAATTsuse.com- updated to version 4.47.0 see installed CHANGELOG === 4.47.0 (2017-06-01)
* Deprecate pg_typecast_on_load plugin, only useful on deprecated do and swift adapters (jeremyevans)
* Deprecate association_autoreloading and many_to_one_pk_lookup plugins, which were made the default model behavior in Sequel 4 (jeremyevans)
* Deprecate setting invalid datasets for models unless required_valid_table = false (jeremyevans)
* Make Model.require_valid_table = true not raise for datasets where Database#schema raises an error but Dataset#columns works (jeremyevans)
* Make Database#with_server in the server_block extension accept a second argument for a different read_only shard (jeremyevans) (#1355)
* Make schema_dumper extension handle Oracle 11g XE inclusion of not null in the db_type (StevenCregan, jeremyevans) (#1351)
* Add Model.default_association_type_options for changing default association options per association type (jeremyevans)
* Add :materialized option to Database#views on PostgreSQL to return materialized views (Blargel) (#1348)
* Make defaults_setter plugin inherit custom default values when subclassing (jeremyevans)
* Tue May 23 2017 cooloAATTsuse.com- updated to version 4.46.0 see installed CHANGELOG === 4.46.0 (2017-05-01)
* Recognize additional disconnect error on MySQL (jeremyevans)
* Deconstantize dataset SQL generation, speeding up ruby 2.3+, slowing down earlier versions (jeremyevans)
* Deprecate calling Dataset#set_graph_aliases before Dataset#graph (jeremyevans)
* Don\'t swallow exception if there is an exception when rolling back a transaction when using :rollback=>:always option (jeremyevans)
* Deprecate passing 2 arguments to Database#alter_table (jeremyevans)
* Deprecate passing Schema::CreateTableGenerator instance as second argument to Database#create_table (jeremyevans)
* Deprecate Database::DatasetClass as a way for getting default dataset classes for datasets (jeremyevans)
* Deprecate SQLite pragma getting and setting methods (jeremyevans)
* Remove handling of EMULATED_FUNCTION_MAP from adapter dataset classes, overide Dataset#native_function_name instead (jeremyevans)
* Deprecate {Integer,Timestamp}Migrator::DEFAULT_SCHEMA_{COLUMN,TABLE} (jeremyevans)
* Deprecate Database#jdbc_
* methods for jdbc/db2 adapter Database instances (jeremyevans)
* Remove addition of Database#jdbc_
* to JDBC::Database in jdbc/db2 adapter (jeremyevans)
* Deprecate many internal Database and Dataset string/regexp constants in core and included adapters (jeremyevans)
* Remove use of Fixnum in sqlanywhere shared adapter (jeremyevans)
* Deprecate Sequel::Schema::Generator constant, use Sequel::Schema::CreateTableGenerator instead (jeremyevans)
* Deprecate Database#log_yield (jeremyevans)
* Deprecate the set_overrides extension (jeremyevans)
* If passing an empty array or hash and a block to a filtering method, ignore the array or hash and just use the block (jeremyevans)
* Deprecate ignoring explicit nil argument when there is no existing filter (jeremyevans)
* Deprecate ignoring explicit nil argument to filtering methods when passing a block (jeremyevans)
* Deprecate ignoring empty strings and other empty? arguments passed to the filtering methods without a block (jeremyevans)
* Deprecate calling filtering methods without an argument or a block (jeremyevans)
* Deprecate Sequel::VirtualRow#` to create literal SQL, use Sequel.lit instead (jeremyevans)
* Add auto_literal_strings extensions for treating plain strings passed to filtering/update methods as literal SQL (jeremyevans)
* Deprecate automatically treating plain strings passed to filtering/update methods as literal SQL (jeremyevans)
* Passing a PlaceholderLiteralString to a filtering method now uses parentheses around the expression (jeremyevans)
* Make Dataset#full_text_search work on Microsoft SQL Server when no_auto_literal_strings extension is used (jeremyevans)
* Fix Database#disconnect when using the single connection pool without an active connection (jeremyevans) (#1339)
* Handle conversion of datetimeoffset values when using the jdbc/sqlserver adapter in some configurations (iaddict, jeremyevans) (#1338)
* Fix conversion of some time values when using the jdbc/sqlserver adapter in some configurations (iaddict, jeremyevans) (#1337)
* Use microsecond precision for time values on Microsoft SQL Server, instead of millisecond precision (jeremyevans)
* Add Dataset#sqltime_precision private method for adapters to use different precision for Sequel::SQLTime than Time and Date (jeremyevans)
* Use utc timezone in Sequel::SQLTime.create if Sequel.application_timezone is :utc (jeremyevans) (#1336)
* Include migration filename in message about migration file without a single migration (jmettraux) (#1334)
* Deprecate conversion of - to _ in adapter schemes (jeremyevans)
* Don\'t quote function names that are SQL::Identifiers, unless SQL::Function#quoted is used (jeremyevans)
* Deprecate splitting virtual row method names (jeremyevans)
* Deprecate passing blocks to virtual row methods, move to virtual_row_method_block extension (jeremyevans)
* Deprecate Sequel::SQL::Expression#sql_literal and #lit (jeremyevans)
* Don\'t issue deprecation warnings on ruby 1.8.7, as Sequel 5 is dropping support for it (jeremyevans)
* Deprecate Sequel::BasicObject#remove_methods! (jeremyevans)
* Deprecate sequel/no_core_ext file (jeremyevans)
* Deprecate model dataset #insert_sql accepting model instances (jeremyevans)
* Deprecate model dataset #join_table and #graph accepting model classes (jeremyevans)
* Support :alias option to class_table_inheritance plugin, wrapping subclass datasets in a subquery to fix ambiguous column issues (jeremyevans)
* Deprecate Model.set_allowed_columns and Model#{set_all,set_only,update_all,update_only}, move to whitelist security plugin (jeremyevans)
* Do not raise MassAssignmentRestriction when setting nested attributes and using the :fields option, only check for fields given (jeremyevans)
* Do not add class methods for private methods definined in dataset_module (jeremyevans)
* Deprecate Model.def_dataset_method and Model.subset, move to def_dataset_method plugin (jeremyevans)
* Deprecate Model.finder and Model.prepared_finder, move to finder plugin (jeremyevans)
* Deprecate calling Model.db= on a model with a dataset (jeremyevans)
* Deprecate splitting symbols to look for qualified/aliased identifiers (e.g. :table__column) (jeremyevans)
* Allow optimized lookups and deletes for models using SQL::Identifier and SQL::QualifiedIdentifier values as the FROM table (jeremyevans)
* Sun Apr 02 2017 cooloAATTsuse.com- updated to version 4.45.0 see installed CHANGELOG === 4.45.0 (2017-04-01)
* Correctly handle datasets with offsets but no limits used in compound datasets on MSSQL <2012 (jeremyevans)
* Correctly handle false values in the split_values plugin (bananarne) (#1333)
* Deprecate Dataset#dup/clone and Model.dup/clone (jeremyevans)
* Deprecate the schema and scissors plugins (jeremyevans)
* Deprecate Model.{lazy_attributes,nested_attributes,composition,serialization}_module accessors (jeremyevans)
* Deprecate Database#database_name on MySQL (jeremyevans)
* Deprecate Database#use on MySQL (jeremyevans)
* Make pg_hstore extension no longer update PG_NAMED_TYPES (jeremyevans)
* Deprecate Sequel::PG_NAMED_TYPES (jeremyevans)
* Add columns_updated plugin for making updated columns hash available in after_update and after_save hooks (jeremyevans)
* Deprecate accessing AATTcolumns_updated directly in model after_update and after_save hooks (jeremyevans)
* Deprecate Database#{add,remove}_servers when not using a sharded connection pool (jeremyevans)
* Deprecate Database#each_server (jeremyevans)
* Make Model#_valid? private method accept only an options hash (jeremyevans)
* Deprecate returning false from model before hooks to cancel the action, use Model#cancel_action (jeremyevans)
* Handle Model#cancel_action correctly in before hooks when Model#valid? is called (jeremyevans)
* Deprecate Sequel::BeforeHookFailed (jeremyevans)
* Deprecate passing multiple arguments as filter arguments when not using a conditions specifier (jeremyevans)
* Deprecate passing Procs as filter arguments, require they be passed as blocks (jeremyevans)
* Deprecate Sequel::Error::
* exception class aliases (jeremyevans)
* Deprecate prepared_statements_associations and prepared_statements_with_pk plugins (jeremyevans)
* Deprecate Sequel::Unbinder, Sequel::UnbindDuplicate, and Dataset#unbind (jeremyevans)
* Deprecating calling Sequel::Qualifier with two arguments (jeremyevans)
* Add validation_contexts plugin for supporting custom contexts when validating (jeremyevans)
* Deprecate Sequel::Database.single_threaded singleton accessor (jeremyevans)
* Deprecate treating unrecognized prepared statement type as :select (jeremyevans)
* Deprecate Sequel.identifier_{in,out}put_method= and .quote_identifiers= singleton setters (jeremyevans)
* Deprecate Sequel::Database.identifier_{in,out}put_method and .quote_identifiers singleton accessors (jeremyevans)
* Deprecate loading the identifier_mangling by default, require it be loaded explicitly if needed (jeremyevans)
* Make Database#dump_{table_schema,schema_migration} in schema_dumper extension support :schema option (dadario) (#1328)
* Make Dataset#delete respect an existing limit on Microsoft SQL Server (jeremyevans)
* Add Dataset#skip_limit_check to mark a dataset as skipping the limit/offset check for updates and deletes (jeremyevans)
* Deprecate calling Dataset#{update/delete/truncate} on datasets with limits or offsets unless the database supports it (jeremyevans)
* Add deprecation message for using association_pks setter method with :delay_pks=>true association option (jeremyevans)
* Add deprecation message for using association_pks setter method without :delay_pks association option (jeremyevans)
* Deprecate having duplicate column names in subclass tables when using the class_table_inheritance plugin (jeremyevans)
* Deprecate do (DataObjects), swift, and jdbc/as400 adapters (jeremyevans)
* Deprecate support for Cubrid, Firebird, Informix, and Progress databases (jeremyevans)
* The :proxy_argument option passed to association_proxies plugin block is now an empty hash if no arguments are passed to the association method (jeremyevans)
* Deprecate passing non-hash arguments to association methods (jeremyevans)
* Deprecate passing multiple arguments to association methods (jeremyevans)
* Deprecate model transaction hook methods (jeremyevans)
* Drop support for pg <0.8.0 in the postgres adapter (jeremyevans)
* Deprecate passing a block to Database#from (jeremyevans)
* Deprecate Sequel::Model::ANONYMOUS_MODEL_CLASSES{,_MUTEX} (jeremyevans)
* Deprecate Sequel.cache_anonymous_models and Sequel.cache_anonymous_models= (jeremyevans)
* Automatically use from_self when using a dataset as part of a compound if it has an offset but no limit (jeremyevans)
* Drop order on existing datasets when using Dataset#union/intersect/except on Microsoft SQL Server unless a limit or offset is used (jeremyevans)
* Deprecate dataset mutation (jeremyevans)
* Handle dumping of autoincrementing 64-bit integer primary key columns correctly when using :same_db option in the schema dumper (jeremyevans) (#1324)
* Add Model.dataset_module_class accessor, allowing plugins to support custom behavior in dataset_module blocks (jeremyevans)
* Make ORDER BY come after UNION/INTERSECT/EXCEPT on Microsoft SQL Server and SQLAnywhere (jeremyevans)
* Make Database#indexes on MySQL handle qualified identifiers (jeremyevans) (#1316)
* Add oracle support to the odbc adapter (samuel02) (#1315)
* Thu Mar 02 2017 cooloAATTsuse.com- updated to version 4.44.0 see installed CHANGELOG === 4.44.0 (2017-03-01)
* Add where_all, where_each, where_single_value model dataset methods, optimized for frozen datasets (jeremyevans)
* Add eager method to dataset_module (jeremyevans)
* Add implicit_subquery extension, for implicitly using a subquery for datasets using raw SQL when calling dataset methods that modify SQL (jeremyevans)
* Make Dataset#from_self keep the columns from the current dataset if present (jeremyevans)
* Add implicit_subquery extension, implicitly using subqueries for dataset methods if the current dataset uses raw SQL (jeremyevans)
* Make SQL::ValueList#inspect show that it is a value list (jeremyevans)
* Make LiteralString#inspect show that it is a literal string (jeremyevans)
* Make Model::Associations::AssociationReflection#inspect show reflection class and guess at association definition line (jeremyevans)
* Make SQLTime#inspect show it is an SQLTime instance, and only the time component (jeremyevans)
* Make SQL::Blob#inspect show that it is a blob, the number of bytes, and some or all of the content (jeremyevans)
* Make plugins not modify the constant namespace for the model class that uses them (jeremyevans)
* Do not modify encoding of SQL::Blob instances in force_encoding plugin (jeremyevans)
* Add Model.freeze_descendents to subclasses plugin, for easier finalizing associations/freezing of descendent classes (jeremyevans)
* Add Model.finalize_associations method for finalizing associations, speeding up some association reflections methods almost 10x (jeremyevans)
* Implement Model.freeze such that it can be used in production (jeremyevans)
* Recognize another disconnect error in the jdbc/as400 adapter (perlun) (#1300)
* Correctly handle conversion of false values when typecasting PostgreSQL arrays (mistoo) (#1299)
* Raise error if the postgres adapter attempts to load an incompatible version of sequel_pg (mahlonsmith) (#1298)
* Fix jdbc adapter so basic_type_convertor_map is not shared between instances, work with Database#freeze (jeremyevans)
* Thu Feb 02 2017 cooloAATTsuse.com- updated to version 4.43.0 see installed CHANGELOG
* Sat Jan 14 2017 cooloAATTsuse.com- updated to version 4.42.1 see installed CHANGELOG === 4.42.1 (2017-01-12)
* Make dataset_module inherited to subclasses when using the single_table_inheritance plugin (jeremyevans) (#1284)
* Mon Jan 02 2017 cooloAATTsuse.com- updated to version 4.42.0 see installed CHANGELOG === 4.42.0 (2017-01-01)
* Handle eager load callbacks correctly for one_to_one associations with orders or offsets when window functions are not supported (jeremyevans)
* Raise Sequel::Error if using an :eager_limit dataset option when eager loading a singular association (jeremyevans)
* Replace internal uses of Dataset#select_more with #select_append to save a method call (jeremyevans)
* Make Dataset#order_append the primary method, and #order_more the alias, for similarity to #select_append and #select_more (jeremyevans)
* Replace internal uses of Dataset#filter with #where to save a method call (jeremyevans)
* Do not set :auto_increment in the schema information for integer columns that are part of a composite primary key on SQLite (jeremyevans)
* Use autoincrement setting on integer primary key columns when emulating table modification methods on SQLite (thenrio, jeremyevans) (#1277, #1278)
* Make the pagination extension work on frozen datasets (jeremyevans)
* Make Dataset#server work for frozen model datasets using the sharding plugin (jeremyevans)
* Make Dataset#nullify in the null_dataset extension work on frozen datasets (jeremyevans)
* Make Model#set_server work when using a frozen model dataset (jeremyevans)
* Make Dataset#ungraphed work on a frozen model dataset (jeremyevans)
* Add Dataset#with_{autoid,fetch,numrows} to the mock adapter, returning cloned datasets with the setting changed (jeremyevans)
* Make looser_typecasting extension handle the strict BigDecimal parsing introduced in ruby 2.4rc1 (jeremyevans)
* Make Database#{db,opts}= in the sequel_3_dataset_methods extension raise for frozen datasets (jeremyevans)
* Speed up repeated calls to Dataset#{interval,range} for frozen datasets using a cached placeholder literalizer (jeremyevans)
* Speed up repeated calls to Dataset#get with a single argument for frozen datasets using a cached placeholder literalizer (jeremyevans)
* Speed up repeated calls to Dataset#{first,last} with arguments/blocks for frozen datasets using a cached placeholder literalizer (jeremyevans)
* Speed up repeated calls to Dataset#{avg,min,max,sum} for frozen datasets using a cached placeholder literalizer (jeremyevans)
* Cache dataset returned by Dataset#skip_locked for frozen datasets (jeremyevans)
* Cache dataset returned by Dataset#for_update for frozen datasets (jeremyevans)
* Cache dataset returned by Dataset#un{filtered,grouped,limited,ordered} for frozen datasets (jeremyevans)
* Cache dataset returned by Dataset#reverse (no args) for frozen datasets (jeremyevans)
* Cache dataset returned by Dataset#invert for frozen datasets (jeremyevans)
* Speed up repeated calls to Dataset#count with an argument or block for frozen datasets using a cached placeholder literalizer (jeremyevans)
* Using :on_duplicate_columns=>:warn Database option with duplicate_columns_handler now prepends file/line to the warning message (jeremyevans)
* Move identifier mangling code to identifier_mangling extension, load by default unless using :identifier_mangling=>false Database option (jeremyevans)
* Allow Dataset#with_extend to accept a block and create a module with that block that the object is extended with (jeremyevans)
* Speed up repeated calls to with_pk on the same frozen model dataset using a cached placeholder literalizer (jeremyevans)
* Add dataset_module methods such as select and order that define dataset methods which support caching for frozen datasets (jeremyevans)
* Cache subset datasets if they don\'t use blocks or procs for frozen model datasets (jeremyevans)
* Cache intermediate dataset used in Dataset#{last,paged_each} for frozen model datasets without an order (jeremyevans)
* Cache dataset returned by Dataset#naked for frozen datasets (jeremyevans)
* Cache intermediate dataset used in Dataset#last (no args) for frozen datasets (jeremyevans)
* Cache intermediate dataset used in Dataset#first (no args) and #single_record for frozen datasets (jeremyevans)
* Cache intermediate dataset used in Dataset#empty? for frozen datasets (jeremyevans)
* Cache intermediate dataset used in Dataset#count (no args) for frozen datasets (jeremyevans)
* Warn if :conditions option may be unexpectedly ignored during eager_graph/association_join (jeremyevans) (#1272)
* Cache SELECT and DELETE SQL for most frozen datasets (jeremyevans)
* Freeze most SQL::Expression objects and internal state by default (jeremyevans)
* Freeze Dataset::PlaceholderLiteralizer and Dataset::PlaceholderLiteralizer::Argument instances (jeremyevans)
* Freeze most dataset opts values to avoid unintentional modification (jeremyevans)
* Add Dataset#with_convert_smallint_to_bool on DB2, returning a clone with convert_smallint_to_bool set (jeremyevans)
* Make Dataset#freeze actually freeze the dataset on ruby 2.4+ (jeremyevans)
* Avoid using instance variables other than AATTopts for dataset data storage (jeremyevans)
* Add freeze_datasets extension, making all datasets for a given Database frozen (jeremyevans)
* Refactor prepared statement internals, using opts instead of instance variables (jeremyevans)
* Model.set_dataset now operates on a clone of the dataset given instead of modifying it, so it works with frozen datasets (jeremyevans)
* Fri Dec 02 2016 cooloAATTsuse.com- updated to version 4.41.0 see installed CHANGELOG === 4.41.0 (2016-12-01)
* Add Dataset#with_mssql_unicode_strings on Microsoft SQL Server, returning a clone with mssql_unicode_strings set (jeremyevans)
* Add Dataset#with_identifier_output_method, returning a clone with identifier_output_method set (jeremyevans)
* Add Dataset#with_identifier_input_method, returning a clone with identifier_input_method set (jeremyevans)
* Add Dataset#with_quote_identifiers, returning a clone with quote_identifiers set (jeremyevans)
* Add Dataset#with_extend, returning a clone extended with given modules (jeremyevans)
* Add Dataset#with_row_proc, returning a clone with row_proc set (jeremyevans)
* Support use of SQL::AliasedExpressions as Model#to_json :include option keys in the json_serializer plugin (sensadrome) (#1269)
* Major improvements to type conversion in the ado adapter (vais, jeremyevans) (#1265)
* Avoid memory leak in ado adapter by closing result sets after yielding them (vais, jeremyevans) (#1259)
* Fix hook_class_methods plugin handling of commit hooks (jeremyevans)
* Make association dataset method correctly handle cases where key fields are nil (jeremyevans)
* Handle pure java exceptions that don\'t support message= when reraising the exception in the jdbc adapter (jeremyevans)
* Add support for :offset_strategy Database option on DB2, with :limit_offset and :offset_fetch values, to disable OFFSET emulation (#1254) (jeremyevans)
* Remove deprecated support for using Bignum class as a generic type (jeremyevans)
* Sat Oct 29 2016 cooloAATTsuse.com- updated to version 4.40.0 see installed CHANGELOG === 4.40.0 (2016-10-28)
* Make column_select plugin not raise an exception if the model\'s table does not exist (jeremyevans)
* Make dataset_associations plugin correctly handle (many|one)_through_many associations with single join table (jeremyevans) (#1253)
* Add s extension, with adds Sequel::S module that includes private #S method for calling Sequel.expr, including use as refinement (jeremyevans)
* Add symbol_as and symbol_as_refinement extensions so that :column.as(:alias) is treated as Sequel.as(:column, :alias) (jeremyevans)
* Add symbol_aref and symbol_aref_refinement extensions so that :table[:column] is treated as Sequel.qualify(:table, :column) (jeremyevans)
* Add Sequel.split_symbols=, to support the disabling of splitting symbols with double/triple underscores (jeremyevans)
* Make SQL::QualifiedIdentifier convert SQL::Identifier arguments to strings, fixing Sequel[:schema][:table] usage in schema methods (jeremyevans)
* Do not attempt to combine non-associative operators (jeremyevans) (#1246)
* Automatically add NOT NULL to columns when adding primary keys if the database doesn\'t handle it (jeremyevans)
* Make prepared_statements plugin correctly handle lookup on joined datasets (jeremyevans) (#1244)
* Make Database#tables with :qualify=>true option handle table names with double underscores correctly (jeremyevans) (#1241)
* Add SQL::Identifier#[] and SQL::QualifiedIdentifier#[] for creating qualified identifiers (jeremyevans)
* Add support for Dataset#insert_conflict :conflict_where option, for a predicate to use in ON CONFLICT clauses (chanks) (#1240)
* Freeze Dataset::NON_SQL_OPTIONS, add private Dataset#non_sql_options, fixing thread safety issues during require (jeremyevans)
* Make the callable returned by Database#rollback_checker thread safe (jeremyevans)
* Make lazy_attributes and dataset_associations plugins work if insert_returning_select plugin is loaded before on model with no dataset (jeremyevans)
* Sun Oct 02 2016 cooloAATTsuse.com- updated to version 4.39.0 see installed CHANGELOG === 4.39.0 (2016-10-01)
* Make active_model plugin use rollback_checker instead of after_rollback hook (jeremyevans)
* Add Database#rollback_checker, which returns a proc that returns whether the in progress transaction is rolled back (jeremyevans)
* Add Sequel::Database.set_shared_adapter_scheme to allow external adapters to support the mock adapter (jeremyevans)
* Make hook_class_methods plugin not use after commit/rollback model hooks (jeremyevans)
* Support add_column :after and :first options on MySQL (AnthonyBobsin, jeremyevans) (#1234)
* Support ActiveSupport 5 in pg_interval extension when weeks/hours are used in ActiveSupport::Duration objects (chanks) (#1233)
* Support IntegerMigrator :relative option, for running only the specified number of migrations up or down (jeremyevans)
* Make the touch plugin also touch associations on create in addition to update and delete (jeremyevans)
* Add :allow_manual_update timestamps plugin option for not overriding a manually set update timestamp (jeremyevans)
* Add Sequel.[] as an alias to Sequel.expr, for easier expression creation (jeremyevans)
* Add PostgreSQL full_text_search :to_tsquery=>:phrase option, for using PostgreSQL 9.6+ full text search phrase searching (jeremyevans)
* Add JSONBOp#insert in pg_json_ops extension, for jsonb_insert support on PostgreSQL 9.6+ (jeremyevans)
* Support add_column :if_not_exists option on PostgreSQL 9.6+ (jeremyevans)
* Fri Sep 02 2016 cooloAATTsuse.com- updated to version 4.38.0 see installed CHANGELOG === 4.38.0 (2016-09-01)
* Support :driver_options option when using the postgres adapter with pg driver (jeremyevans)
* Don\'t use after commit/rollback database hooks if the model instance methods are not overridden (jeremyevans)
* Add SQL::NumericMethods#coerce, allowing code such as Sequel.expr{1 - x} (jeremyevans)
* Support
*
* operator for exponentiation on expressions, similar to +, -,
*, and / (jeremyevans)
* Add Sequel::SQLTime.date= to set the date used for SQLTime instances (jeremyevans)
* Tue Aug 02 2016 cooloAATTsuse.com- updated to version 4.37.0 see installed CHANGELOG === 4.37.0 (2016-08-01)
* Add support for regular expression matching on Oracle 10g+ using REGEXP_LIKE (johndcaldwell) (#1221)
* Recognize an additional disconnect error in the postgres adapter (jeremyevans)
* Make connection pool remove connections for disconnect errors not raised as DatabaseDisconnectError (jeremyevans)
* Support mysql2 0.4+ native prepared statements and bound variables (jeremyevans)
* Add Database#values for VALUES support on SQLite 3.8.3+ (jeremyevans)
* Support create_view :columns option on SQLite 3.9.0+ (jeremyevans)
* Make migration reverser handle alter_table add_constraint using a hash as the first argument (soupmatt) (#1215)
* Make ASTTransformer handle Sequel.extract (jeremyevans) (#1213)
* Sat Jul 02 2016 cooloAATTsuse.com- updated to version 4.36.0 see installed CHANGELOG === 4.36.0 (2016-07-01)
* Deprecate use of Bignum class as generic type, since the behavior will change in ruby 2.4 (jeremyevans)
* Don\'t hold connection pool mutex while disconnecting connections (jeremyevans)
* Don\'t hold references to disconnected connections in the connection_validator extension (jeremyevans)
* Don\'t overwrite existing connection_validation_timeout when loading connection_validator extension multiple times (jeremyevans)
* Add connection_expiration extension, for automatically removing connections open for too long (pdrakeweb) (#1208, #1209)
* Handle disconnection errors raised during string literalization in mysql2 and postgres adapters (jeremyevans)
* Add string_agg extension for aggregate string concatenation support on many databases (jeremyevans)
* Add SQL::Function#order for ordered aggregate functions (jeremyevans)
* Support operator validation in constraint_validations for <, <=, >, and >= operators with string and integer arguments (jeremyevans)
* Make validates_operator validation consider nil values invalid unless :allow_nil or similar option is used (jeremyevans)
* Close cursors for non-SELECT queries in the oracle adapter after execution, instead of waiting until GC (jeremyevans) (#1203)
* Add :class_namespace association option for setting default namespace for :class option given as symbol/string (jeremyevans)
* Add Sequel::Model.cache_anonymous_models accessor for changing caching on a per-model basis (jeremyevans)
* Add Sequel::Model.def_Model for adding a Model() method to a module, for easier use of namespaced models (jeremyevans)
* Add Sequel::Model::Model() for creating subclasses of Sequel::Model subclasses, instead of just Sequel::Model itself (jeremyevans)
* Thu Jun 02 2016 cooloAATTsuse.com- updated to version 4.35.0 see installed CHANGELOG === 4.35.0 (2016-06-01)
* Add :headline option to PostgreSQL Dataset#full_text_search for adding an extract of the matched text to the SELECT list (jeremyevans)
* Make :rollback=>:always inside a transaction use a savepoint automatically if supported (jeremyevans) (#1193)
* Recognize bool type as boolean in the schema dumper (jeremyevans) (#1192)
* Make Dataset#to_hash and #to_hash_groups work correctly for model datasets doing eager loading (jeremyevans)
* Make delay_add_association plugin handle hashes and primary keys passed to add_
* association methods (jeremyevans) (#1187)
* Treat :Bignum as a generic type, to support 64-bit integers on ruby 2.4+, where Bignum == Integer (jeremyevans)
* Add server_logging extension for including server/shard information when logging queries (jeremyevans)
* Add Database#log_connection_info, for including connection information when logging queries (jeremyevans)
* Add Dataset#skip_locked for skipping locked rows on PostgreSQL 9.5+, MSSQL, and Oracle (jeremyevans)
* Allow Sequel::Model#lock! to accept an optional lock style (petedmarsh) (#1183)
* Add sql_comments extension for setting SQL comments on queries (jeremyevans)
* Make Postgres::PGRange#cover? handle empty, unbounded, and exclusive beginning ranges (jeremyevans)
* Fix frozen string literal issues on JRuby 9.1.0.0 (jeremyevans)
* Allow json_serializer :include option with cascaded values to work correctly when used with association_proxies (jeremyevans)
* Mon May 02 2016 cooloAATTsuse.com- updated to version 4.34.0 see installed CHANGELOG === 4.34.0 (2016-05-01)
* Add support for :dataset_associations_join association option to dataset_associations plugin, for making resulting datasets have appropriate joins (jeremyevans)
* Log server connection was attempted to in PoolTimeout exception messages in sharded connection pool (jeremyevans)
* Log Database :name option in PoolTimeout exception messages (bigkevmcd, jeremyevans) (#1176)
* Add duplicate_columns_handler extension, for raising or warning if a dataset returns multiple columns with the same name (TSMMark, jeremyevans) (#1175)
* Support registering per-Database custom range types in the pg_range extension (steveh) (#1174)
* Support :preconnect=>:concurrently Database option for preconnecting in separate threads (kch, jeremyevans) (#1172)
* Make prepared_statements_safe plugin work correctly with CURRENT_DATE/CURRENT_TIMESTAMP defaults (jeremyevans) (#1168)
* Add validates_operator validation helper (petedmarsh) (#1170)
* Recognize additional unique constraint violation on Microsoft SQL Server (jeremyevans)
* Add :hash option to Dataset#(select|to)_hash(_groups)? methods for choosing object to populate (mwpastore) (#1167)
* Wed Apr 06 2016 cooloAATTsuse.com- updated to version 4.33.0 see installed CHANGELOG === 4.33.0 (2016-04-01)
* Handle arbitrary objects passed as arguments to the association method (jeremyevans) (#1166)
* Handle array with multiple columns as Dataset#insert_conflict :target value on PostgreSQL (chanks) (#1165)
* Add Database#transaction :savepoint=>:only option, for only creating a savepoint if already inside a transaction (jeremyevans)
* Make Database#sequence_for_table on Oracle handle cases where the schema for a table cannot be determined (jeremyevans)
* The boolean_readers, boolean_subsets, and class_table_inheritance plugins no longer do blind rescues (jeremyevans) (#1162)
* Add Model.require_valid_table setting, if set to true doesn\'t swallow any errors for invalid tables (jeremyevans)
* Creating model classes inside a transaction when the table doesn\'t exist no longer rolls back the transaction on PostgreSQL (jeremyevans) (#1160)
* Sequel::Model no longer swallows many errors when subclassing or setting datasets (jeremyevans) (#1160)
* Handle altering column NULL settings for varchar(max) and text columns on MSSQL (Ilja Resch)
* Remove Sequel.firebird and Sequel.informix adapter methods (jeremyevans)
* Make graph_each extension handle result set splitting when using Dataset#first (jeremyevans)
* Allow raising Sequel::ValidationFailed and Sequel::HookFailed without an argument (jeremyevans)
* Allow schema_dumper to handle :qualify=>true option on PostgreSQL (jeremyevans)
* Allow foreign_key schema method to handle SQL::Identifier and SQL::QualifiedIdentifier as 2nd argument (jeremyevans)
* Wed Mar 02 2016 cooloAATTsuse.com- updated to version 4.32.0 see installed CHANGELOG === 4.32.0 (2016-03-01)
* Use mutex for synchronizing access to association reflection cache on MRI (jeremyevans)
* Add Dataset#delete_from on MySQL, allowing deletions from multiple tables in a single query (jeremyevans) (#1146)
* Add no_auto_literal_strings extension, which makes SQL injection vulnerabilities less likely (jeremyevans)
* Add Model.default_association_options, for setting option defaults for all future associations (jeremyevans)
* Support :association_pks_nil association option in association_pks setter for determining how to handle nil (jeremyevans)
* Make association_pks setter handle empty array correctly when :delay_pks is set (jeremyevans)
* Add a setter method for one_through_one associations (jeremyevans)
* Include :remarks entry in JDBC schema parsing output, containing comments on the column (olleolleolle) (#1143)
* Support :eager_reload and :eager options to associations in tactical_eager_loading plugin (jeremyevans)
* Make tactical_eager_loading not eager load if passing proc or block to association method (jeremyevans)
* Make eager_each plugin handle eager loading for Dataset#first and similar methods (jeremyevans)
* Tue Feb 02 2016 cooloAATTsuse.com- updated to version 4.31.0 see installed CHANGELOG === 4.31.0 (2016-02-01)
* Convert types in association_pks setters before saving them, instead of just before running queries (jeremyevans)
* Use getField and getOID instead of field and oid in the jdbc/postgresql adapter to work around JRuby 9.0.5.0 regression (jeremyevans) (#1137)
* Support using PostgreSQL-specific types in bound variables in the jdbc/postgresql adapter (jeremyevans)
* Add support for running with --enable-frozen-string-literal on ruby 2.3 (jeremyevans)
* Make Database#disconnect in the oracle adapter work correctly on newer versions of oci8 (jeremyevans)
* Support parsing PostgreSQL arrays with explicit bounds (jeremyevans) (#1131)
* Raise an error if attempting to use a migration file not containing a single migration (jeremyevans) (#1127)
* Automatically set referenced key for self referential foriegn key constraint for simple non-autoincrementing primary key on MySQL (jeremyevans) (#1126)
* Thu Jan 21 2016 cooloAATTsuse.com- updated to version 4.30.0 see installed CHANGELOG === 4.30.0 (2016-01-04)
* Add Dataset#insert_conflict and #insert_ignore on SQLite for handling uniqueness violations (Sharpie) (#1121)
* Make Database#row_type in pg_row extension handle different formats of schema-qualified types (jeremyevans) (#1119)
* Add identifier_columns plugin for handling column names containing 2 or more consecutive underscores when saving (jeremyevans) (#1117)
* Support :eager_limit and :eager_limit_strategy dataset options in model eager loaders for per-call limits and strategies (chanks) (#1115)
* Allow IPv6 addresses in database URLs on ruby 1.9+ (hellvinz, jeremyevans) (#1113)
* Make Database#schema :db_type entries include sizes for string types on DB2 (jeremyevans)
* Make Database#schema :db_type entries include sizes for string and decimal types in the jdbc adapter\'s schema parsing (jeremyevans)
* Recognize another disconnect error in the tinytds adapter (jeremyevans)
* Wed Dec 02 2015 cooloAATTsuse.com- updated to version 4.29.0 see installed CHANGELOG === 4.29.0 (2015-12-01)
* Add Model#json_serializer_opts method to json_serializer plugin, allowing for setting to_json defaults on per-instance basis (jeremyevans)
* Add uuid plugin for automatically setting UUID column when creating a model object (pdrakeweb, jeremyevans) (#1106)
* Allow the sqlanywhere adapter to work with sharding (jeremyevans)
* Support blobs as bound variables in the oracle adapter (jeremyevans) (#1104)
* Order by best results first when using the Database#full_text_search :rank option on PostgreSQL (chanks) (#1101)
* Run Database#table_exists? inside a savepoint if currently in a transaction and the database supports savepoints (jeremyevans) (#1100)
* Allow Database#transaction :retry_on option to work when using savepoints (jeremyevans)
* Allow for external adapters to implement Dataset#date_add_sql_append to integrate with the date_arithmetic extension (jeremyevans)
* Add Dataset#insert_empty_columns_values private method for easy overriding for databases that don\'t support INSERT with DEFAULT VALUES (jeremyevans)
* Tue Nov 03 2015 cooloAATTsuse.com- updated to version 4.28.0 see installed CHANGELOG === 4.28.0 (2015-11-02)
* Add boolean_subsets plugin, which adds a subset for each boolean column (jeremyevans)
* Add subset_conditions plugin, which adds a method for each subset returning the filter conditions for the subset (jeremyevans)
* Make the list plugin work better with the auto_validations plugin when there is a validation on the position column (jeremyevans)
* Make to_csv for model datasets call instance methods, just like Model#to_csv, in the csv_serializer plugin (skrobul) (#1088)
* Raise Sequel::NoExistingObject instead of generic error if Model#refresh can\'t find the related row (jeremyevans)
* Fri Oct 02 2015 cooloAATTsuse.com- updated to version 4.27.0 see installed CHANGELOG === 4.27.0 (2015-10-01)
* Don\'t stub Sequel.synchronize on MRI (YorickPeterse) (#1083)
* Make bin/sequel warn if given arguments that it doesn\'t use (jeremyevans)
* Fix the order of referenced composite keys returned by Database#foreign_key_list on PostgreSQL (jeremyevans) (#1081)
* Recognize another disconnect error in the jdbc/postgresql adapter (jeremyevans)
* In the active model plugin, make Model#persisted? return false if the transaction used for creation is rolled back (jeremyevans) (#1076)
* Use primary_key :keep_order option in the schema dumper if the auto incrementing column is not the first column in the table (jeremyevans)
* Set :auto_increment option correctly in the schema parser when the auto incrementing column is not the first column in the table (jeremyevans)
* Support :keep_order option to primary_key in schema generator, to not automatically make the primary key the first column (jeremyevans)
* Add new jsonb/json functions and operators supported in PostgreSQL 9.5+ (jeremyevans)
* Add before_after_save plugin, for refreshing created objects and resetting modified flag before calling after_create/update/save hooks (jeremyevans)
* Add Dataset#single_record! and #single_value! which don\'t require cloning the receiver (jeremyevans)
* Dataset#with_sql_single_value now works correctly for model datasets (jeremyevans)
* Optimize Dataset#single_value and #with_sql_single_value to not create an unnecessary array (jeremyevans)
* Make postgres adapter work with postgres-pr 0.7.0 (jeremyevans) (#1074)
* Wed Sep 02 2015 cooloAATTsuse.com- updated to version 4.26.0 see installed CHANGELOG === 4.26.0 (2015-09-01)
* Make Dataset#== not consider frozen status in determining equality (jeremyevans)
* Support :if_exists option to drop_column on PostgreSQL (jeremyevans)
* Add Dataset#grouping_sets to support GROUP BY GROUPING SETS on PostgreSQL 9.5+, MSSQL 2008+, Oracle, DB2, and SQLAnywhere (jeremyevans)
* Fix handling of Class.new(ModelClass){set_dataset :table} on ruby 1.8 (jeremyevans)
* Use range function constructors instead of casts for known range types in pg_range (jeremyevans) (#1066)
* Make class_table_inheritance plugin work without sti_key (jeremyevans)
* Detect additional disconnect errors when using the tinytds adapter (jeremyevans)
* Make offset emulation without order but with explicit selection handle ambiguous column names (jeremyevans)
* Allow preparing already prepared statements when emulating limits and/or offsets (jeremyevans)
* Have Sequel::NoMatchingRow exceptions record the dataset related to the exception (pedro, jeremyevans) (#1060)
* Sun Aug 02 2015 cooloAATTsuse.com- updated to version 4.25.0 see installed CHANGELOG === 4.25.0 (2015-08-01)
* Add Dataset#insert_conflict on PostgreSQL 9.5+, for upsert/insert ignore support using INSERT ON CONFLICT (jeremyevans)
* Support Dataset#group_rollup and #group_cube on PostgreSQL 9.5+ (jeremyevans)
* Automatically REORG tables when altering when using jdbc/db2 (karlhe) (#1054)
* Recognize constraint violation exceptions on swift/sqlite (jeremyevans)
* Recognize another check constraint violation exception message on SQLite (jeremyevans)
* Allow =~ and !~ to be used on ComplexExpressions (janko-m) (#1050)
* Support case sensitive SQL Server 2012 in MSSQL metadata queries (knut2) (#1049)
* Add Dataset#group_append, for appending to the existing GROUP BY clause (YorickPeterse) (#1047)
* Add inverted_subsets plugin, for creating an inverted subset method for each subset (celsworth) (#1042)
* Make Dataset#for_update not use the :read_only database when the dataset is executed (jeremyevans) (#1041)
* Add singular_table_names plugin, for changing Sequel to not pluralize table names by default (jeremyevans)
* PreparedStatement#prepare now raises an Error (jeremyevans)
* Clear delayed association pks when refreshing an object (jeremyevans)
* Add empty_array_consider_nulls extension to make Sequel consider NULL values when using IN/NOT IN with an empty array (jeremyevans)
* Make Sequel default to ignoring NULL values when using IN/NOT IN with an empty array (jeremyevans)
* Remove the deprecated firebird and informix adapters (jeremyevans)
* Make :collate option when creating columns literalize non-String values on PostgreSQL (jeremyevans) (#1040)
* Make dirty plugin notice when serialized column is changed (celsworth) (#1039)
* Allow prepared statements to use RETURNING (jeremyevans) (#1036)
* Thu Jul 02 2015 cooloAATTsuse.com- updated to version 4.24.0 see installed CHANGELOG === 4.24.0 (2015-07-01)
* Allow class_table_inheritance plugin to support subclasses that don\'t add additional columns (QuinnHarris, jeremyevans) (#1030)
* Add :columns option to update_refresh plugin, specifying the columns to include in the RETURNING clause (celsworth) (#1029)
* Use column symbol key for auto validation unique errors if the unique index is on a single column (jeremyevans)
* Allow :timeout option to Database#listen in the postgres adapter to be a callable object (celsworth) (#1028)
* Add pg_inet_ops extension, for DSL support for PostgreSQL inet/cidr operators and functions (celsworth, jeremyevans) (#1024)
* Support :
*_opts options in auto_validations plugin, for setting options for the underlying validation methods (celsworth, jeremyevans) (#1026)
* Support :delay_pks association option in association_pks to delay setting of associated_pks until after saving (jeremyevans)
* Make jdbc subadapters work if they issue queries while the subadapter is being loaded (jeremyevans) (#1022)
* Handle 64-bit auto incrementing primary keys in jdbc subadapters (DougEverly) (#1018, #1019)
* Remove the deprecated db2 and dbi adapters (jeremyevans)
* Make auto_validation plugin use :from=>:values option to setup validations on the underlying columns (jeremyevans)
* Add :from=>:values option to validation_helpers methods, for getting values from the values hash instead of a method call (jeremyevans)
* Tue Jun 02 2015 cooloAATTsuse.com- updated to version 4.23.0 see installed CHANGELOG === 4.23.0 (2015-06-01)
* Make dataset.call_sproc(:insert) work in the jdbc adapter (flash-gordon) (#1013)
* Add update_refresh plugin, for refreshing a model instance when updating (jeremyevans)
* Add delay_add_association plugin, for delaying add_
* method calls on new objects until after saving the object (jeremyevans)
* Add validate_associated plugin, for validating associated objects when validating the current object (jeremyevans)
* Make Postgres::JSONBOp#[] and #get_text return JSONBOp instances (jeremyevans) (#1005)
* Remove the fdbsql, jdbc/fdbsql, and openbase adapters (jeremyevans)
* Database#transaction now returns block return value if :rollback=>:always is used (jeremyevans)
* Allow postgresql:// connection strings as aliases to postgres://, for compatibility with libpq (jeremyevans) (#1004)
* Make Model#move_to in the list plugin handle out-of-range targets without raising an exception (jeremyevans) (#1003)
* Make Database#add_named_conversion_proc on PostgreSQL handle conversion procs for enum types (celsworth) (#1002)
* Sat May 02 2015 cooloAATTsuse.com- updated to version 4.22.0 see installed CHANGELOG === 4.22.0 (2015-05-01)
* Deprecate the db2, dbi, fdbsql, firebird, jdbc/fdbsql, informix, and openbase adapters (jeremyevans)
* Avoid hash allocations and rehashes (jeremyevans)
* Don\'t silently ignore :jdbc_properties Database option in jdbc adapter (jeremyevans)
* Make tree plugin set reciprocal association for children association correctly (lpil, jeremyevans) (#995)
* Add Sequel::MassAssignmentRestriction exception, raised for mass assignment errors in strict mode (jeremyevans) (#994)
* Handle ODBC::SQL_BIT type as boolean in the odbc adapter, fixing boolean handling on odbc/mssql (jrgns) (#993)
* Make :auto_validations plugin check :default entry instead of :ruby_default entry for checking existence of default value (jeremyevans) (#990)
* Adapters should now set :default schema option to nil when adapter can determine that the value is nil (jeremyevans)
* Do not add a schema :max_length entry for a varchar(max) column on MSSQL (jeremyevans)
* Allow :default value for PostgreSQL array columns to be a ruby array when using the pg_array extension (jeremyevans) (#989)
* Add csv_serializer plugin for serializing model objects to and from csv (bjmllr, jeremyevans) (#988)
* Make Dataset#to_hash and #to_hash_groups handle single array argument for model datasets (jeremyevans)
* Handle Model#cancel_action in association before hooks (jeremyevans)
* Use a condition variable instead of busy waiting in the threaded connection pools on ruby 1.9+ (jeremyevans)
* Use Symbol#to_proc instead of explicit blocks (jeremyevans)
* Thu Apr 02 2015 cooloAATTsuse.com- updated to version 4.21.0
* Thu Mar 05 2015 cooloAATTsuse.com- updated to version 4.20.0
* Restore the use of AUTOINCREMENT on SQLite (jeremyevans) (#965)
* Duplicate the associations hash when duplicating a model object (jeremyevans)
* Correctly apply association limit when eager loading with an eager block using default limit strategy on some databases (jeremyevans)
* Fix eager loading when using the :window_function limit strategy with an eager block and cascaded associations (jeremyevans)
* Add support for set_column_type :auto_increment=>true to add AUTO_INCREMENT to existing column on MySQL (jeremyevans) (#959)
* Add support for overridding the :instance_specific association option (jeremyevans)
* Recognize MSSQL bit type as boolean in the schema_dumper (jeremyevans)
* Skip eager loading queries if there are no matching keys (jeremyevans) (#952)
* Dataset#paged_each now returns an enumerator if not passed a block (jeremyevans)
* Use to_json :root option with string value as the JSON object key in the json_serializer plugin (jeremyevans)
* Allow create_enum in the pg_enum extension be reversible in migrations (celsworth) (#951)
* Have swift adapter respect database and application timezone settings (asppsa, jeremyevans) (#946)
* Don\'t have the static cache plugin attempt to validate objects (jeremyevans)
* Make freeze not validate objects if their errors are already frozen (jeremyevans)
* Only use prepared statements for associations if caching association metadata (jeremyevans)
* Set parent association when loading descendants in the rcte_tree plugin (jeremyevans)
* Add Database#transaction :before_retry option, specifying a proc to call before retrying (uhoh-itsmaciek) (#941)
* Tue Feb 10 2015 cooloAATTsuse.com- updated to version 4.19.0
* Wed Nov 12 2014 cooloAATTsuse.com- updated to version 4.16.0
* Make Database#create_table? and #create_join_table? not use IF NOT EXISTS if indexes are being added (jeremyevans) (#904)
* Dataset#distinct now accepts virtual row blocks (chanks) (#901)
* Recognize disconnect errors in the postgres adapter when SSL is used (jeremyevans) (#900)
* Stop converting \'\' default values to nil default values on MySQL (jeremyevans)
* Add Model#qualified_pk_hash, for returning a hash with qualified pk keys (jeremyevans)
* Make validates_unique use a qualified primary key if the dataset is joined (jeremyevans) (#895)
* Make Sequel::Model.cache_associations = false skip the database\'s schema cache when loading the schema (jeremyevans)
* Make Database#foreign_key_list work on Microsoft SQL Server 2005 (jeremyevans)
* Make create_table with :foreign option reversible on PostgreSQL (jeremyevans)
* Make drop_table with :foreign option on PostgreSQL drop a foreign table (johnnyt) (#892)
* Fri Oct 17 2014 cooloAATTsuse.com- updated to version 4.15.0, see CHANGELOG
* Mon Oct 13 2014 cooloAATTsuse.com- adapt to new rubygem packaging