sequel 5.20.0 → 5.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +398 -1922
- data/MIT-LICENSE +1 -1
- data/README.rdoc +7 -7
- data/doc/advanced_associations.rdoc +4 -4
- data/doc/association_basics.rdoc +80 -16
- data/doc/cheat_sheet.rdoc +6 -5
- data/doc/code_order.rdoc +10 -12
- data/doc/dataset_filtering.rdoc +17 -2
- data/doc/fork_safety.rdoc +84 -0
- data/doc/migration.rdoc +11 -5
- data/doc/model_dataset_method_design.rdoc +1 -1
- data/doc/model_plugins.rdoc +1 -1
- data/doc/opening_databases.rdoc +10 -2
- data/doc/postgresql.rdoc +82 -3
- data/doc/querying.rdoc +4 -4
- data/doc/release_notes/5.21.0.txt +87 -0
- data/doc/release_notes/5.22.0.txt +48 -0
- data/doc/release_notes/5.23.0.txt +56 -0
- data/doc/release_notes/5.24.0.txt +56 -0
- data/doc/release_notes/5.25.0.txt +32 -0
- data/doc/release_notes/5.26.0.txt +35 -0
- data/doc/release_notes/5.27.0.txt +21 -0
- data/doc/release_notes/5.28.0.txt +16 -0
- data/doc/release_notes/5.29.0.txt +22 -0
- data/doc/release_notes/5.30.0.txt +20 -0
- data/doc/release_notes/5.31.0.txt +148 -0
- data/doc/release_notes/5.32.0.txt +46 -0
- data/doc/release_notes/5.33.0.txt +24 -0
- data/doc/release_notes/5.34.0.txt +40 -0
- data/doc/release_notes/5.35.0.txt +56 -0
- data/doc/release_notes/5.36.0.txt +60 -0
- data/doc/release_notes/5.37.0.txt +30 -0
- data/doc/release_notes/5.38.0.txt +28 -0
- data/doc/release_notes/5.39.0.txt +19 -0
- data/doc/release_notes/5.40.0.txt +40 -0
- data/doc/release_notes/5.41.0.txt +25 -0
- data/doc/release_notes/5.42.0.txt +136 -0
- data/doc/release_notes/5.43.0.txt +98 -0
- data/doc/release_notes/5.44.0.txt +32 -0
- data/doc/release_notes/5.45.0.txt +34 -0
- data/doc/release_notes/5.46.0.txt +87 -0
- data/doc/release_notes/5.47.0.txt +59 -0
- data/doc/release_notes/5.48.0.txt +14 -0
- data/doc/release_notes/5.49.0.txt +59 -0
- data/doc/sharding.rdoc +2 -0
- data/doc/sql.rdoc +13 -1
- data/doc/testing.rdoc +20 -7
- data/doc/transactions.rdoc +0 -8
- data/doc/validations.rdoc +1 -1
- data/doc/virtual_rows.rdoc +1 -1
- data/lib/sequel/adapters/ado/access.rb +1 -1
- data/lib/sequel/adapters/ado.rb +43 -35
- data/lib/sequel/adapters/ibmdb.rb +2 -2
- data/lib/sequel/adapters/jdbc/mysql.rb +6 -6
- data/lib/sequel/adapters/jdbc/postgresql.rb +11 -17
- data/lib/sequel/adapters/jdbc/sqlite.rb +29 -0
- data/lib/sequel/adapters/jdbc.rb +24 -6
- data/lib/sequel/adapters/mysql.rb +1 -1
- data/lib/sequel/adapters/mysql2.rb +2 -3
- data/lib/sequel/adapters/odbc.rb +8 -6
- data/lib/sequel/adapters/oracle.rb +5 -4
- data/lib/sequel/adapters/postgres.rb +15 -9
- data/lib/sequel/adapters/shared/access.rb +6 -6
- data/lib/sequel/adapters/shared/mssql.rb +66 -21
- data/lib/sequel/adapters/shared/mysql.rb +27 -10
- data/lib/sequel/adapters/shared/oracle.rb +29 -23
- data/lib/sequel/adapters/shared/postgres.rb +271 -32
- data/lib/sequel/adapters/shared/sqlanywhere.rb +9 -9
- data/lib/sequel/adapters/shared/sqlite.rb +161 -19
- data/lib/sequel/adapters/sqlanywhere.rb +1 -1
- data/lib/sequel/adapters/sqlite.rb +1 -1
- data/lib/sequel/adapters/tinytds.rb +15 -2
- data/lib/sequel/adapters/utils/mysql_mysql2.rb +4 -1
- data/lib/sequel/ast_transformer.rb +6 -0
- data/lib/sequel/connection_pool/sharded_single.rb +4 -1
- data/lib/sequel/connection_pool/sharded_threaded.rb +12 -12
- data/lib/sequel/connection_pool/single.rb +1 -1
- data/lib/sequel/connection_pool/threaded.rb +2 -2
- data/lib/sequel/core.rb +333 -319
- data/lib/sequel/database/connecting.rb +3 -4
- data/lib/sequel/database/logging.rb +7 -1
- data/lib/sequel/database/misc.rb +31 -12
- data/lib/sequel/database/query.rb +3 -1
- data/lib/sequel/database/schema_generator.rb +53 -51
- data/lib/sequel/database/schema_methods.rb +38 -23
- data/lib/sequel/database/transactions.rb +17 -18
- data/lib/sequel/dataset/actions.rb +14 -9
- data/lib/sequel/dataset/features.rb +16 -0
- data/lib/sequel/dataset/misc.rb +2 -2
- data/lib/sequel/dataset/placeholder_literalizer.rb +3 -7
- data/lib/sequel/dataset/prepared_statements.rb +2 -0
- data/lib/sequel/dataset/query.rb +26 -9
- data/lib/sequel/dataset/sql.rb +76 -25
- data/lib/sequel/dataset.rb +4 -2
- data/lib/sequel/deprecated.rb +3 -1
- data/lib/sequel/exceptions.rb +2 -0
- data/lib/sequel/extensions/_pretty_table.rb +1 -2
- data/lib/sequel/extensions/any_not_empty.rb +45 -0
- data/lib/sequel/extensions/async_thread_pool.rb +438 -0
- data/lib/sequel/extensions/blank.rb +8 -0
- data/lib/sequel/extensions/columns_introspection.rb +1 -2
- data/lib/sequel/extensions/connection_expiration.rb +2 -2
- data/lib/sequel/extensions/connection_validator.rb +2 -2
- data/lib/sequel/extensions/core_refinements.rb +2 -0
- data/lib/sequel/extensions/date_arithmetic.rb +36 -24
- data/lib/sequel/extensions/duplicate_columns_handler.rb +3 -1
- data/lib/sequel/extensions/eval_inspect.rb +2 -0
- data/lib/sequel/extensions/exclude_or_null.rb +68 -0
- data/lib/sequel/extensions/fiber_concurrency.rb +24 -0
- data/lib/sequel/extensions/index_caching.rb +9 -7
- data/lib/sequel/extensions/inflector.rb +9 -1
- data/lib/sequel/extensions/integer64.rb +2 -0
- data/lib/sequel/extensions/migration.rb +11 -3
- data/lib/sequel/extensions/named_timezones.rb +56 -8
- data/lib/sequel/extensions/pagination.rb +1 -1
- data/lib/sequel/extensions/pg_array.rb +5 -0
- data/lib/sequel/extensions/pg_array_ops.rb +14 -6
- data/lib/sequel/extensions/pg_enum.rb +11 -3
- data/lib/sequel/extensions/pg_extended_date_support.rb +2 -2
- data/lib/sequel/extensions/pg_hstore.rb +6 -0
- data/lib/sequel/extensions/pg_hstore_ops.rb +54 -2
- data/lib/sequel/extensions/pg_inet.rb +15 -5
- data/lib/sequel/extensions/pg_interval.rb +36 -8
- data/lib/sequel/extensions/pg_json.rb +387 -123
- data/lib/sequel/extensions/pg_json_ops.rb +238 -0
- data/lib/sequel/extensions/pg_loose_count.rb +3 -1
- data/lib/sequel/extensions/pg_range.rb +17 -9
- data/lib/sequel/extensions/pg_range_ops.rb +2 -0
- data/lib/sequel/extensions/pg_row.rb +4 -2
- data/lib/sequel/extensions/pg_row_ops.rb +24 -0
- data/lib/sequel/extensions/pg_timestamptz.rb +2 -0
- data/lib/sequel/extensions/query.rb +3 -0
- data/lib/sequel/extensions/run_transaction_hooks.rb +72 -0
- data/lib/sequel/extensions/s.rb +2 -0
- data/lib/sequel/extensions/schema_dumper.rb +24 -7
- data/lib/sequel/extensions/server_block.rb +18 -7
- data/lib/sequel/extensions/sql_comments.rb +2 -2
- data/lib/sequel/extensions/string_agg.rb +1 -1
- data/lib/sequel/extensions/symbol_aref_refinement.rb +2 -0
- data/lib/sequel/extensions/symbol_as_refinement.rb +2 -0
- data/lib/sequel/extensions/to_dot.rb +9 -3
- data/lib/sequel/model/associations.rb +356 -117
- data/lib/sequel/model/base.rb +107 -68
- data/lib/sequel/model/errors.rb +10 -1
- data/lib/sequel/model/inflections.rb +1 -1
- data/lib/sequel/model/plugins.rb +9 -3
- data/lib/sequel/model.rb +3 -1
- data/lib/sequel/plugins/association_lazy_eager_option.rb +66 -0
- data/lib/sequel/plugins/association_multi_add_remove.rb +85 -0
- data/lib/sequel/plugins/association_pks.rb +60 -18
- data/lib/sequel/plugins/association_proxies.rb +8 -2
- data/lib/sequel/plugins/async_thread_pool.rb +39 -0
- data/lib/sequel/plugins/auto_validations.rb +39 -5
- data/lib/sequel/plugins/auto_validations_constraint_validations_presence_message.rb +68 -0
- data/lib/sequel/plugins/blacklist_security.rb +1 -2
- data/lib/sequel/plugins/boolean_subsets.rb +4 -1
- data/lib/sequel/plugins/caching.rb +3 -0
- data/lib/sequel/plugins/class_table_inheritance.rb +33 -28
- data/lib/sequel/plugins/column_encryption.rb +728 -0
- data/lib/sequel/plugins/composition.rb +7 -2
- data/lib/sequel/plugins/concurrent_eager_loading.rb +174 -0
- data/lib/sequel/plugins/constraint_validations.rb +2 -1
- data/lib/sequel/plugins/csv_serializer.rb +28 -9
- data/lib/sequel/plugins/dataset_associations.rb +4 -1
- data/lib/sequel/plugins/dirty.rb +60 -22
- data/lib/sequel/plugins/empty_failure_backtraces.rb +38 -0
- data/lib/sequel/plugins/forbid_lazy_load.rb +216 -0
- data/lib/sequel/plugins/insert_conflict.rb +72 -0
- data/lib/sequel/plugins/instance_specific_default.rb +113 -0
- data/lib/sequel/plugins/json_serializer.rb +57 -35
- data/lib/sequel/plugins/lazy_attributes.rb +1 -1
- data/lib/sequel/plugins/many_through_many.rb +108 -9
- data/lib/sequel/plugins/nested_attributes.rb +15 -3
- data/lib/sequel/plugins/pg_array_associations.rb +58 -41
- data/lib/sequel/plugins/pg_auto_constraint_validations.rb +91 -30
- data/lib/sequel/plugins/prepared_statements.rb +15 -12
- data/lib/sequel/plugins/prepared_statements_safe.rb +1 -3
- data/lib/sequel/plugins/rcte_tree.rb +43 -35
- data/lib/sequel/plugins/serialization.rb +8 -3
- data/lib/sequel/plugins/serialization_modification_detection.rb +1 -1
- data/lib/sequel/plugins/sharding.rb +11 -5
- data/lib/sequel/plugins/single_table_inheritance.rb +22 -15
- data/lib/sequel/plugins/skip_saving_columns.rb +108 -0
- data/lib/sequel/plugins/static_cache.rb +9 -4
- data/lib/sequel/plugins/static_cache_cache.rb +53 -0
- data/lib/sequel/plugins/string_stripper.rb +1 -1
- data/lib/sequel/plugins/subclasses.rb +2 -0
- data/lib/sequel/plugins/throw_failures.rb +1 -1
- data/lib/sequel/plugins/timestamps.rb +1 -1
- data/lib/sequel/plugins/tree.rb +9 -4
- data/lib/sequel/plugins/typecast_on_load.rb +3 -2
- data/lib/sequel/plugins/unused_associations.rb +521 -0
- data/lib/sequel/plugins/update_or_create.rb +1 -1
- data/lib/sequel/plugins/validation_class_methods.rb +5 -1
- data/lib/sequel/plugins/validation_helpers.rb +18 -11
- data/lib/sequel/plugins/xml_serializer.rb +1 -1
- data/lib/sequel/sql.rb +20 -5
- data/lib/sequel/timezones.rb +63 -17
- data/lib/sequel/version.rb +1 -1
- metadata +113 -381
- data/Rakefile +0 -151
- data/doc/release_notes/4.0.0.txt +0 -262
- data/doc/release_notes/4.1.0.txt +0 -85
- data/doc/release_notes/4.10.0.txt +0 -226
- data/doc/release_notes/4.11.0.txt +0 -147
- data/doc/release_notes/4.12.0.txt +0 -105
- data/doc/release_notes/4.13.0.txt +0 -169
- data/doc/release_notes/4.14.0.txt +0 -68
- data/doc/release_notes/4.15.0.txt +0 -56
- data/doc/release_notes/4.16.0.txt +0 -36
- data/doc/release_notes/4.17.0.txt +0 -38
- data/doc/release_notes/4.18.0.txt +0 -36
- data/doc/release_notes/4.19.0.txt +0 -45
- data/doc/release_notes/4.2.0.txt +0 -129
- data/doc/release_notes/4.20.0.txt +0 -79
- data/doc/release_notes/4.21.0.txt +0 -94
- data/doc/release_notes/4.22.0.txt +0 -72
- data/doc/release_notes/4.23.0.txt +0 -65
- data/doc/release_notes/4.24.0.txt +0 -99
- data/doc/release_notes/4.25.0.txt +0 -181
- data/doc/release_notes/4.26.0.txt +0 -44
- data/doc/release_notes/4.27.0.txt +0 -78
- data/doc/release_notes/4.28.0.txt +0 -57
- data/doc/release_notes/4.29.0.txt +0 -41
- data/doc/release_notes/4.3.0.txt +0 -40
- data/doc/release_notes/4.30.0.txt +0 -37
- data/doc/release_notes/4.31.0.txt +0 -57
- data/doc/release_notes/4.32.0.txt +0 -132
- data/doc/release_notes/4.33.0.txt +0 -88
- data/doc/release_notes/4.34.0.txt +0 -86
- data/doc/release_notes/4.35.0.txt +0 -130
- data/doc/release_notes/4.36.0.txt +0 -116
- data/doc/release_notes/4.37.0.txt +0 -50
- data/doc/release_notes/4.38.0.txt +0 -67
- data/doc/release_notes/4.39.0.txt +0 -127
- data/doc/release_notes/4.4.0.txt +0 -92
- data/doc/release_notes/4.40.0.txt +0 -179
- data/doc/release_notes/4.41.0.txt +0 -77
- data/doc/release_notes/4.42.0.txt +0 -221
- data/doc/release_notes/4.43.0.txt +0 -87
- data/doc/release_notes/4.44.0.txt +0 -125
- data/doc/release_notes/4.45.0.txt +0 -370
- data/doc/release_notes/4.46.0.txt +0 -404
- data/doc/release_notes/4.47.0.txt +0 -56
- data/doc/release_notes/4.48.0.txt +0 -293
- data/doc/release_notes/4.49.0.txt +0 -222
- data/doc/release_notes/4.5.0.txt +0 -34
- data/doc/release_notes/4.6.0.txt +0 -30
- data/doc/release_notes/4.7.0.txt +0 -103
- data/doc/release_notes/4.8.0.txt +0 -175
- data/doc/release_notes/4.9.0.txt +0 -190
- data/spec/adapter_spec.rb +0 -4
- data/spec/adapters/db2_spec.rb +0 -170
- data/spec/adapters/mssql_spec.rb +0 -804
- data/spec/adapters/mysql_spec.rb +0 -1065
- data/spec/adapters/oracle_spec.rb +0 -371
- data/spec/adapters/postgres_spec.rb +0 -4125
- data/spec/adapters/spec_helper.rb +0 -44
- data/spec/adapters/sqlanywhere_spec.rb +0 -97
- data/spec/adapters/sqlite_spec.rb +0 -652
- data/spec/bin_spec.rb +0 -278
- data/spec/core/connection_pool_spec.rb +0 -1250
- data/spec/core/database_spec.rb +0 -2865
- data/spec/core/dataset_spec.rb +0 -5515
- data/spec/core/deprecated_spec.rb +0 -70
- data/spec/core/expression_filters_spec.rb +0 -1455
- data/spec/core/mock_adapter_spec.rb +0 -722
- data/spec/core/object_graph_spec.rb +0 -336
- data/spec/core/placeholder_literalizer_spec.rb +0 -166
- data/spec/core/schema_generator_spec.rb +0 -214
- data/spec/core/schema_spec.rb +0 -1826
- data/spec/core/spec_helper.rb +0 -24
- data/spec/core/version_spec.rb +0 -14
- data/spec/core_extensions_spec.rb +0 -763
- data/spec/core_model_spec.rb +0 -2
- data/spec/core_spec.rb +0 -1
- data/spec/deprecation_helper.rb +0 -30
- data/spec/extensions/accessed_columns_spec.rb +0 -51
- data/spec/extensions/active_model_spec.rb +0 -99
- data/spec/extensions/after_initialize_spec.rb +0 -28
- data/spec/extensions/arbitrary_servers_spec.rb +0 -109
- data/spec/extensions/association_dependencies_spec.rb +0 -125
- data/spec/extensions/association_pks_spec.rb +0 -423
- data/spec/extensions/association_proxies_spec.rb +0 -100
- data/spec/extensions/auto_literal_strings_spec.rb +0 -205
- data/spec/extensions/auto_validations_spec.rb +0 -229
- data/spec/extensions/blacklist_security_spec.rb +0 -95
- data/spec/extensions/blank_spec.rb +0 -69
- data/spec/extensions/boolean_readers_spec.rb +0 -93
- data/spec/extensions/boolean_subsets_spec.rb +0 -47
- data/spec/extensions/caching_spec.rb +0 -273
- data/spec/extensions/caller_logging_spec.rb +0 -52
- data/spec/extensions/class_table_inheritance_spec.rb +0 -750
- data/spec/extensions/column_conflicts_spec.rb +0 -75
- data/spec/extensions/column_select_spec.rb +0 -129
- data/spec/extensions/columns_introspection_spec.rb +0 -90
- data/spec/extensions/columns_updated_spec.rb +0 -35
- data/spec/extensions/composition_spec.rb +0 -248
- data/spec/extensions/connection_expiration_spec.rb +0 -151
- data/spec/extensions/connection_validator_spec.rb +0 -144
- data/spec/extensions/constant_sql_override_spec.rb +0 -24
- data/spec/extensions/constraint_validations_plugin_spec.rb +0 -300
- data/spec/extensions/constraint_validations_spec.rb +0 -439
- data/spec/extensions/core_refinements_spec.rb +0 -528
- data/spec/extensions/csv_serializer_spec.rb +0 -183
- data/spec/extensions/current_datetime_timestamp_spec.rb +0 -27
- data/spec/extensions/dataset_associations_spec.rb +0 -365
- data/spec/extensions/dataset_source_alias_spec.rb +0 -51
- data/spec/extensions/date_arithmetic_spec.rb +0 -181
- data/spec/extensions/datetime_parse_to_time_spec.rb +0 -169
- data/spec/extensions/def_dataset_method_spec.rb +0 -100
- data/spec/extensions/defaults_setter_spec.rb +0 -150
- data/spec/extensions/delay_add_association_spec.rb +0 -73
- data/spec/extensions/dirty_spec.rb +0 -189
- data/spec/extensions/duplicate_columns_handler_spec.rb +0 -104
- data/spec/extensions/eager_each_spec.rb +0 -62
- data/spec/extensions/eager_graph_eager_spec.rb +0 -100
- data/spec/extensions/empty_array_consider_nulls_spec.rb +0 -24
- data/spec/extensions/error_splitter_spec.rb +0 -18
- data/spec/extensions/error_sql_spec.rb +0 -20
- data/spec/extensions/escaped_like_spec.rb +0 -40
- data/spec/extensions/eval_inspect_spec.rb +0 -81
- data/spec/extensions/finder_spec.rb +0 -260
- data/spec/extensions/force_encoding_spec.rb +0 -126
- data/spec/extensions/freeze_datasets_spec.rb +0 -31
- data/spec/extensions/graph_each_spec.rb +0 -113
- data/spec/extensions/hook_class_methods_spec.rb +0 -402
- data/spec/extensions/identifier_mangling_spec.rb +0 -201
- data/spec/extensions/implicit_subquery_spec.rb +0 -58
- data/spec/extensions/index_caching_spec.rb +0 -66
- data/spec/extensions/inflector_spec.rb +0 -183
- data/spec/extensions/input_transformer_spec.rb +0 -69
- data/spec/extensions/insert_returning_select_spec.rb +0 -72
- data/spec/extensions/instance_filters_spec.rb +0 -79
- data/spec/extensions/instance_hooks_spec.rb +0 -246
- data/spec/extensions/integer64_spec.rb +0 -22
- data/spec/extensions/inverted_subsets_spec.rb +0 -33
- data/spec/extensions/json_serializer_spec.rb +0 -336
- data/spec/extensions/lazy_attributes_spec.rb +0 -183
- data/spec/extensions/list_spec.rb +0 -291
- data/spec/extensions/looser_typecasting_spec.rb +0 -43
- data/spec/extensions/many_through_many_spec.rb +0 -2177
- data/spec/extensions/migration_spec.rb +0 -864
- data/spec/extensions/modification_detection_spec.rb +0 -93
- data/spec/extensions/mssql_optimistic_locking_spec.rb +0 -92
- data/spec/extensions/named_timezones_spec.rb +0 -111
- data/spec/extensions/nested_attributes_spec.rb +0 -767
- data/spec/extensions/null_dataset_spec.rb +0 -85
- data/spec/extensions/optimistic_locking_spec.rb +0 -127
- data/spec/extensions/pagination_spec.rb +0 -116
- data/spec/extensions/pg_array_associations_spec.rb +0 -802
- data/spec/extensions/pg_array_ops_spec.rb +0 -144
- data/spec/extensions/pg_array_spec.rb +0 -398
- data/spec/extensions/pg_auto_constraint_validations_spec.rb +0 -172
- data/spec/extensions/pg_enum_spec.rb +0 -118
- data/spec/extensions/pg_extended_date_support_spec.rb +0 -126
- data/spec/extensions/pg_hstore_ops_spec.rb +0 -238
- data/spec/extensions/pg_hstore_spec.rb +0 -219
- data/spec/extensions/pg_inet_ops_spec.rb +0 -102
- data/spec/extensions/pg_inet_spec.rb +0 -72
- data/spec/extensions/pg_interval_spec.rb +0 -103
- data/spec/extensions/pg_json_ops_spec.rb +0 -289
- data/spec/extensions/pg_json_spec.rb +0 -262
- data/spec/extensions/pg_loose_count_spec.rb +0 -23
- data/spec/extensions/pg_range_ops_spec.rb +0 -60
- data/spec/extensions/pg_range_spec.rb +0 -519
- data/spec/extensions/pg_row_ops_spec.rb +0 -61
- data/spec/extensions/pg_row_plugin_spec.rb +0 -60
- data/spec/extensions/pg_row_spec.rb +0 -363
- data/spec/extensions/pg_static_cache_updater_spec.rb +0 -93
- data/spec/extensions/pg_timestamptz_spec.rb +0 -17
- data/spec/extensions/prepared_statements_safe_spec.rb +0 -66
- data/spec/extensions/prepared_statements_spec.rb +0 -177
- data/spec/extensions/pretty_table_spec.rb +0 -123
- data/spec/extensions/query_spec.rb +0 -94
- data/spec/extensions/rcte_tree_spec.rb +0 -381
- data/spec/extensions/round_timestamps_spec.rb +0 -39
- data/spec/extensions/s_spec.rb +0 -60
- data/spec/extensions/schema_caching_spec.rb +0 -64
- data/spec/extensions/schema_dumper_spec.rb +0 -870
- data/spec/extensions/select_remove_spec.rb +0 -38
- data/spec/extensions/sequel_4_dataset_methods_spec.rb +0 -121
- data/spec/extensions/serialization_modification_detection_spec.rb +0 -98
- data/spec/extensions/serialization_spec.rb +0 -365
- data/spec/extensions/server_block_spec.rb +0 -97
- data/spec/extensions/server_logging_spec.rb +0 -45
- data/spec/extensions/sharding_spec.rb +0 -189
- data/spec/extensions/shared_caching_spec.rb +0 -151
- data/spec/extensions/single_table_inheritance_spec.rb +0 -347
- data/spec/extensions/singular_table_names_spec.rb +0 -22
- data/spec/extensions/skip_create_refresh_spec.rb +0 -18
- data/spec/extensions/spec_helper.rb +0 -63
- data/spec/extensions/split_array_nil_spec.rb +0 -24
- data/spec/extensions/split_values_spec.rb +0 -57
- data/spec/extensions/sql_comments_spec.rb +0 -33
- data/spec/extensions/sql_expr_spec.rb +0 -59
- data/spec/extensions/static_cache_spec.rb +0 -471
- data/spec/extensions/string_agg_spec.rb +0 -90
- data/spec/extensions/string_date_time_spec.rb +0 -95
- data/spec/extensions/string_stripper_spec.rb +0 -68
- data/spec/extensions/subclasses_spec.rb +0 -79
- data/spec/extensions/subset_conditions_spec.rb +0 -38
- data/spec/extensions/symbol_aref_refinement_spec.rb +0 -28
- data/spec/extensions/symbol_as_refinement_spec.rb +0 -21
- data/spec/extensions/synchronize_sql_spec.rb +0 -124
- data/spec/extensions/table_select_spec.rb +0 -83
- data/spec/extensions/tactical_eager_loading_spec.rb +0 -402
- data/spec/extensions/thread_local_timezones_spec.rb +0 -67
- data/spec/extensions/throw_failures_spec.rb +0 -74
- data/spec/extensions/timestamps_spec.rb +0 -209
- data/spec/extensions/to_dot_spec.rb +0 -153
- data/spec/extensions/touch_spec.rb +0 -226
- data/spec/extensions/tree_spec.rb +0 -334
- data/spec/extensions/typecast_on_load_spec.rb +0 -86
- data/spec/extensions/unlimited_update_spec.rb +0 -21
- data/spec/extensions/update_or_create_spec.rb +0 -83
- data/spec/extensions/update_primary_key_spec.rb +0 -105
- data/spec/extensions/update_refresh_spec.rb +0 -59
- data/spec/extensions/uuid_spec.rb +0 -101
- data/spec/extensions/validate_associated_spec.rb +0 -52
- data/spec/extensions/validation_class_methods_spec.rb +0 -1040
- data/spec/extensions/validation_contexts_spec.rb +0 -31
- data/spec/extensions/validation_helpers_spec.rb +0 -525
- data/spec/extensions/whitelist_security_spec.rb +0 -157
- data/spec/extensions/xml_serializer_spec.rb +0 -213
- data/spec/files/bad_down_migration/001_create_alt_basic.rb +0 -4
- data/spec/files/bad_down_migration/002_create_alt_advanced.rb +0 -4
- data/spec/files/bad_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/bad_timestamped_migrations/1273253851_create_nodes.rb +0 -9
- data/spec/files/bad_timestamped_migrations/1273253853_3_create_users.rb +0 -3
- data/spec/files/bad_up_migration/001_create_alt_basic.rb +0 -4
- data/spec/files/bad_up_migration/002_create_alt_advanced.rb +0 -3
- data/spec/files/convert_to_timestamp_migrations/001_create_sessions.rb +0 -9
- data/spec/files/convert_to_timestamp_migrations/002_create_nodes.rb +0 -9
- data/spec/files/convert_to_timestamp_migrations/003_3_create_users.rb +0 -4
- data/spec/files/convert_to_timestamp_migrations/1273253850_create_artists.rb +0 -9
- data/spec/files/convert_to_timestamp_migrations/1273253852_create_albums.rb +0 -9
- data/spec/files/double_migration/001_create_sessions.rb +0 -9
- data/spec/files/double_migration/002_create_nodes.rb +0 -19
- data/spec/files/double_migration/003_3_create_users.rb +0 -4
- data/spec/files/duplicate_integer_migrations/001_create_alt_advanced.rb +0 -4
- data/spec/files/duplicate_integer_migrations/001_create_alt_basic.rb +0 -4
- data/spec/files/duplicate_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/duplicate_timestamped_migrations/1273253853_create_nodes.rb +0 -9
- data/spec/files/duplicate_timestamped_migrations/1273253853_create_users.rb +0 -4
- data/spec/files/empty_migration/001_create_sessions.rb +0 -9
- data/spec/files/empty_migration/002_create_nodes.rb +0 -0
- data/spec/files/empty_migration/003_3_create_users.rb +0 -4
- data/spec/files/integer_migrations/001_create_sessions.rb +0 -9
- data/spec/files/integer_migrations/002_create_nodes.rb +0 -9
- data/spec/files/integer_migrations/003_3_create_users.rb +0 -4
- data/spec/files/interleaved_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253850_create_artists.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253851_create_nodes.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253852_create_albums.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253853_3_create_users.rb +0 -4
- data/spec/files/missing_integer_migrations/001_create_alt_basic.rb +0 -4
- data/spec/files/missing_integer_migrations/003_create_alt_advanced.rb +0 -4
- data/spec/files/missing_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/missing_timestamped_migrations/1273253853_3_create_users.rb +0 -4
- data/spec/files/reversible_migrations/001_reversible.rb +0 -5
- data/spec/files/reversible_migrations/002_reversible.rb +0 -5
- data/spec/files/reversible_migrations/003_reversible.rb +0 -5
- data/spec/files/reversible_migrations/004_reversible.rb +0 -5
- data/spec/files/reversible_migrations/005_reversible.rb +0 -10
- data/spec/files/reversible_migrations/006_reversible.rb +0 -10
- data/spec/files/reversible_migrations/007_reversible.rb +0 -10
- data/spec/files/timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/timestamped_migrations/1273253851_create_nodes.rb +0 -9
- data/spec/files/timestamped_migrations/1273253853_3_create_users.rb +0 -4
- data/spec/files/transaction_specified_migrations/001_create_alt_basic.rb +0 -4
- data/spec/files/transaction_specified_migrations/002_create_basic.rb +0 -4
- data/spec/files/transaction_unspecified_migrations/001_create_alt_basic.rb +0 -3
- data/spec/files/transaction_unspecified_migrations/002_create_basic.rb +0 -3
- data/spec/files/uppercase_timestamped_migrations/1273253849_CREATE_SESSIONS.RB +0 -9
- data/spec/files/uppercase_timestamped_migrations/1273253851_CREATE_NODES.RB +0 -9
- data/spec/files/uppercase_timestamped_migrations/1273253853_3_CREATE_USERS.RB +0 -4
- data/spec/guards_helper.rb +0 -59
- data/spec/integration/associations_test.rb +0 -2597
- data/spec/integration/database_test.rb +0 -113
- data/spec/integration/dataset_test.rb +0 -1981
- data/spec/integration/eager_loader_test.rb +0 -687
- data/spec/integration/migrator_test.rb +0 -262
- data/spec/integration/model_test.rb +0 -203
- data/spec/integration/plugin_test.rb +0 -2396
- data/spec/integration/prepared_statement_test.rb +0 -405
- data/spec/integration/schema_test.rb +0 -889
- data/spec/integration/spec_helper.rb +0 -65
- data/spec/integration/timezone_test.rb +0 -86
- data/spec/integration/transaction_test.rb +0 -603
- data/spec/integration/type_test.rb +0 -127
- data/spec/model/association_reflection_spec.rb +0 -803
- data/spec/model/associations_spec.rb +0 -4738
- data/spec/model/base_spec.rb +0 -875
- data/spec/model/class_dataset_methods_spec.rb +0 -146
- data/spec/model/dataset_methods_spec.rb +0 -198
- data/spec/model/eager_loading_spec.rb +0 -2377
- data/spec/model/hooks_spec.rb +0 -370
- data/spec/model/inflector_spec.rb +0 -26
- data/spec/model/model_spec.rb +0 -956
- data/spec/model/plugins_spec.rb +0 -429
- data/spec/model/record_spec.rb +0 -2118
- data/spec/model/spec_helper.rb +0 -46
- data/spec/model/validations_spec.rb +0 -220
- data/spec/model_no_assoc_spec.rb +0 -1
- data/spec/model_spec.rb +0 -1
- data/spec/plugin_spec.rb +0 -1
- data/spec/sequel_coverage.rb +0 -15
- data/spec/sequel_warning.rb +0 -4
- data/spec/spec_config.rb +0 -12
|
@@ -1,370 +0,0 @@
|
|
|
1
|
-
= Deprecated Features
|
|
2
|
-
|
|
3
|
-
* Dataset mutation is now deprecated. Users should switch to using
|
|
4
|
-
the non-mutating methods.
|
|
5
|
-
|
|
6
|
-
# Instead of:
|
|
7
|
-
dataset.where!(:foo)
|
|
8
|
-
# Switch to:
|
|
9
|
-
dataset = dataset.where(:foo)
|
|
10
|
-
|
|
11
|
-
* Support for the Cubrid, Firebird, Informix, and Progress databases
|
|
12
|
-
has been deprecated. Any users of this support should consider
|
|
13
|
-
creating an external adapter with the current code and maintaining
|
|
14
|
-
such support themselves.
|
|
15
|
-
|
|
16
|
-
* The do (DataObjects), swift, and jdbc/as400 adapters have been
|
|
17
|
-
deprecated. Any users of these adapters should consider creating an
|
|
18
|
-
external adapter with the current code and maintaining the adapter
|
|
19
|
-
themselves.
|
|
20
|
-
|
|
21
|
-
* Model transaction hooks (after_commit, after_rollback,
|
|
22
|
-
after_destroy_commit, after_destroy_rollback) are now deprecated.
|
|
23
|
-
Users should switch to calling the after_commit and after_rollback
|
|
24
|
-
database transaction hooks directly.
|
|
25
|
-
|
|
26
|
-
# Instead of:
|
|
27
|
-
def after_commit
|
|
28
|
-
super
|
|
29
|
-
do_something
|
|
30
|
-
end
|
|
31
|
-
# Switch to:
|
|
32
|
-
def after_save
|
|
33
|
-
super
|
|
34
|
-
db.after_commit{do_something}
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
* Passing a block to Database#from is now deprecated. For backwards
|
|
38
|
-
compatibility, this block affected the WHERE clause instead of the
|
|
39
|
-
FROM clause. In Sequel 5, Database#from blocks will be treated like
|
|
40
|
-
Dataset#from blocks, and will affect the FROM clause. This behavior
|
|
41
|
-
has been available for years by using the from_block extension.
|
|
42
|
-
|
|
43
|
-
# Instead of:
|
|
44
|
-
DB.from(:foo){a > b}
|
|
45
|
-
# Switch to:
|
|
46
|
-
DB.from(:foo).where{a > b}
|
|
47
|
-
|
|
48
|
-
* Passing non-hash arguments and multiple arguments to the
|
|
49
|
-
model association methods is now deprecated. Switch to using a
|
|
50
|
-
hash as an argument.
|
|
51
|
-
|
|
52
|
-
# Instead of:
|
|
53
|
-
model.association(true)
|
|
54
|
-
model.association(proc{|ds| ds.where(:foo)})
|
|
55
|
-
# Switch to:
|
|
56
|
-
model.association(:reload=>true)
|
|
57
|
-
model.association(:callback=>proc{|ds| ds.where(:foo)})
|
|
58
|
-
model.association{|ds| ds.where(:foo)}
|
|
59
|
-
|
|
60
|
-
* Passing procs as filter arguments is now deprecated. These should
|
|
61
|
-
now be passed as blocks instead of arguments.
|
|
62
|
-
|
|
63
|
-
# Instead of:
|
|
64
|
-
dataset.where(proc{foo > bar})
|
|
65
|
-
# Switch to:
|
|
66
|
-
dataset.where{foo > bar}
|
|
67
|
-
|
|
68
|
-
* Passing multiple arguments or an array as filter arguments when the
|
|
69
|
-
array/arguments does not represent a conditions specifier (array of
|
|
70
|
-
two element arrays, treated like a hash) is now deprecated. Switch
|
|
71
|
-
to calling the filter method separately with each argument or using
|
|
72
|
-
Sequel.& to combine the arguments:
|
|
73
|
-
|
|
74
|
-
# Instead of:
|
|
75
|
-
dataset.where(:foo, :bar)
|
|
76
|
-
dataset.where([:foo, :bar])
|
|
77
|
-
# Switch to:
|
|
78
|
-
dataset.where(:foo).where(:bar)
|
|
79
|
-
dataset.where(Sequel.&(:foo, :bar))
|
|
80
|
-
|
|
81
|
-
* Returning false from model before hooks to cancel an action is
|
|
82
|
-
now deprecated. Switch to calling cancel_action instead.
|
|
83
|
-
|
|
84
|
-
# Instead of:
|
|
85
|
-
def before_save
|
|
86
|
-
return false if something
|
|
87
|
-
super
|
|
88
|
-
end
|
|
89
|
-
# Switch to:
|
|
90
|
-
def before_save
|
|
91
|
-
cancel_action('something bad') if something
|
|
92
|
-
super
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
* Database#each_server has been deprecated. Switch to using
|
|
96
|
-
Database#servers and Database#with_server from server_block
|
|
97
|
-
extension:
|
|
98
|
-
|
|
99
|
-
# Instead of:
|
|
100
|
-
DB.each_server{|db| db.run("foo")}
|
|
101
|
-
# Switch to:
|
|
102
|
-
DB.extension :server_block
|
|
103
|
-
DB.servers.each{|s| DB.with_server(s){DB.run("foo")}}
|
|
104
|
-
|
|
105
|
-
* Calling Database#add_servers and Database#remove_servers on a
|
|
106
|
-
database that does not use the :servers option is now deprecated.
|
|
107
|
-
Currently, the calls to add_servers and remove_servers are
|
|
108
|
-
ignored for such databases, which can hide errors.
|
|
109
|
-
|
|
110
|
-
* Sequel::Postgres::PG_NAMED_TYPES is now deprecated. Switch to
|
|
111
|
-
calling Database#add_named_conversion_proc instead.
|
|
112
|
-
|
|
113
|
-
# Instead of:
|
|
114
|
-
require 'sequel/adapters/utils/pg_types'
|
|
115
|
-
Sequel::Postgres::PG_NAMED_TYPES[:foo] = lambda{|v| v}
|
|
116
|
-
DB = Sequel.connect('postgres://...')
|
|
117
|
-
# Switch to:
|
|
118
|
-
DB = Sequel.connect('postgres://...')
|
|
119
|
-
DB.add_named_conversion_proc(:foo){|v| v}
|
|
120
|
-
|
|
121
|
-
* Modifying the identifier mangling settings for a Database or
|
|
122
|
-
Dataset is now deprecated unless the identifier_mangling extension
|
|
123
|
-
is explicitly loaded into the Database instance.
|
|
124
|
-
|
|
125
|
-
* The Sequel::Database.single_threaded accessor is now deprecated.
|
|
126
|
-
Switch to using Sequel.single_threaded= and Sequel.single_threaded?.
|
|
127
|
-
|
|
128
|
-
* Sequel::Database.identifier_input_method,
|
|
129
|
-
Sequel::Database.identifier_output_method,
|
|
130
|
-
and Sequel::Database.quote_identifier accessors are now deprecated.
|
|
131
|
-
Switch to modifying the setting for each Database instance.
|
|
132
|
-
|
|
133
|
-
* Sequel.identifier_input_method=, Sequel.identifier_output_method=,
|
|
134
|
-
and Sequel.quote_identifer= setter methods are now deprecated.
|
|
135
|
-
Switch to modifying the setting for each Database instance.
|
|
136
|
-
|
|
137
|
-
* Calling Dataset#delete/update/truncate on datasets with limits
|
|
138
|
-
or offsets is now deprecated, unless the database will respect
|
|
139
|
-
the limit or offset. Currently, only MySQL and Microsoft SQL
|
|
140
|
-
Server have limited support for such deletes and updates. You
|
|
141
|
-
should either call unlimited or skip_limit_check before calling
|
|
142
|
-
delete/update/truncate.
|
|
143
|
-
|
|
144
|
-
* Deprecate having duplicate column names in subclass tables when
|
|
145
|
-
using the class_table_inheritance plugin. The documentation has
|
|
146
|
-
warned against this for a long time, but the code did not enforce
|
|
147
|
-
it.
|
|
148
|
-
|
|
149
|
-
* When using the association_pks plugin setter methods without the
|
|
150
|
-
:delay_pks association option set, a warning is now issued. In
|
|
151
|
-
Sequel 5, the default will be to assume that the :delay_pks
|
|
152
|
-
option is :always, and not to make modifications until the object
|
|
153
|
-
is saved. If you would like to keep the current behavior, set
|
|
154
|
-
the :delay_pks=>false association option.
|
|
155
|
-
|
|
156
|
-
The current :delay_pks=>true behavior will be removed in Sequel 5,
|
|
157
|
-
with it being treated like :delay_pks=>:always. If you are relying
|
|
158
|
-
on the current behavior of :delay_pks=>true (delay for new objects,
|
|
159
|
-
immediate for existing objects), you will need to update your code.
|
|
160
|
-
|
|
161
|
-
* Database#dup/clone are now deprecated. They have never been
|
|
162
|
-
handled correctly, since the default implementation from Kernel
|
|
163
|
-
has been used.
|
|
164
|
-
|
|
165
|
-
* Model.dup/clone are now deprecated. They have never been
|
|
166
|
-
handled correctly, as the default implemenation from Kernel/Module
|
|
167
|
-
has been used.
|
|
168
|
-
|
|
169
|
-
* Database#use on MySQL is now deprecated. Switch to creating a new
|
|
170
|
-
Database instance instead of modifying the database for an existing
|
|
171
|
-
instance.
|
|
172
|
-
|
|
173
|
-
* Database#database_name on MySQL is now deprecated. Switch to asking
|
|
174
|
-
the database server which database you are connected to:
|
|
175
|
-
|
|
176
|
-
# Instead of:
|
|
177
|
-
DB.database_name
|
|
178
|
-
# Switch to:
|
|
179
|
-
DB.get{DATABASE{}}
|
|
180
|
-
|
|
181
|
-
* In the lazy_attributes, nested_attributes, composition, and
|
|
182
|
-
serialization plugins, the *_module accessors are now deprecated.
|
|
183
|
-
These were implementation details that should not have been
|
|
184
|
-
exposed.
|
|
185
|
-
|
|
186
|
-
* The schema plugin is now deprecated. Switch to defining the schema
|
|
187
|
-
before creating the model class using the Database schema methods.
|
|
188
|
-
|
|
189
|
-
* The scissors plugin is deprecated. It existed for compatibility
|
|
190
|
-
with Sequel 3, but it is dangerous as it makes it easier to modify
|
|
191
|
-
all rows when the intent was to modify a single row.
|
|
192
|
-
|
|
193
|
-
* The prepared_statements_associations and prepared_statements_with_pk
|
|
194
|
-
plugins are now deprecated. These plugins generally make things
|
|
195
|
-
slower.
|
|
196
|
-
|
|
197
|
-
* Dataset#unbind, Sequel::Unbinder, and Sequel::UnbindDuplicate are
|
|
198
|
-
now deprecated. This mostly existed to support the
|
|
199
|
-
prepared_statements_associations and prepared_statements_with_pk
|
|
200
|
-
plugins.
|
|
201
|
-
|
|
202
|
-
* Sequel::Error::* exception class aliases are now deprecated. Switch
|
|
203
|
-
to using the exception classes in the Sequel namespace.
|
|
204
|
-
|
|
205
|
-
* Sequel::BeforeHookFailed is now deprecated. Switch to using
|
|
206
|
-
Sequel::HookFailed.
|
|
207
|
-
|
|
208
|
-
* Calling Sequel::Qualifier.new with 2 arguments is now deprecated.
|
|
209
|
-
Users should switch to calling it with a single argument (the
|
|
210
|
-
table used for qualifying unqualified identifiers).
|
|
211
|
-
|
|
212
|
-
* Treating unrecognized prepared statement types as :select is now
|
|
213
|
-
deprecated. Switch to using :select as the prepared statement
|
|
214
|
-
type.
|
|
215
|
-
|
|
216
|
-
* The @was_new instance variable available in model after_save hooks
|
|
217
|
-
is now deprecated. There is no deprecation warning associated
|
|
218
|
-
with this change.
|
|
219
|
-
|
|
220
|
-
# Instead of:
|
|
221
|
-
def after_save
|
|
222
|
-
super
|
|
223
|
-
if @was_new
|
|
224
|
-
do_something
|
|
225
|
-
else
|
|
226
|
-
do_something_else
|
|
227
|
-
end
|
|
228
|
-
end
|
|
229
|
-
# Switch to:
|
|
230
|
-
def after_create
|
|
231
|
-
super
|
|
232
|
-
do_something
|
|
233
|
-
end
|
|
234
|
-
def after_update
|
|
235
|
-
super
|
|
236
|
-
do_something_else
|
|
237
|
-
end
|
|
238
|
-
|
|
239
|
-
* The @columns_updated instance variable available in model
|
|
240
|
-
after_save and after_update hooks is deprecated. Switch to
|
|
241
|
-
using the new columns_updated plugin and calling the
|
|
242
|
-
columns_updated method.
|
|
243
|
-
|
|
244
|
-
* The Sequel.cache_anonymous_models accessor has been deprecated.
|
|
245
|
-
Switch to using Sequel::Model.cache_anonymous_models.
|
|
246
|
-
|
|
247
|
-
* Sequel::Model::ANONYMOUS_MODEL_CLASSES and
|
|
248
|
-
Sequel::Model::ANONYMOUS_MODEL_CLASSES_MUTEX have been
|
|
249
|
-
deprecated.
|
|
250
|
-
|
|
251
|
-
* Sequel::Database::ResetIdentifierMangling has been deprecated.
|
|
252
|
-
|
|
253
|
-
= New Features
|
|
254
|
-
|
|
255
|
-
* A validation_contexts plugin has been added, which adds support
|
|
256
|
-
for a :validation_context option to Model#save and Model#valid?.
|
|
257
|
-
The value for this option will be available via the
|
|
258
|
-
validation_context method inside the validation hooks and
|
|
259
|
-
validate method.
|
|
260
|
-
|
|
261
|
-
class Album < Sequel::Model
|
|
262
|
-
plugin :validation_contexts
|
|
263
|
-
|
|
264
|
-
def validate
|
|
265
|
-
super
|
|
266
|
-
if validation_context == :approve
|
|
267
|
-
errors.add(:status_id, 'not 42') unless status_id == 42
|
|
268
|
-
end
|
|
269
|
-
end
|
|
270
|
-
end
|
|
271
|
-
|
|
272
|
-
album = Album.first
|
|
273
|
-
album.status_id = 41
|
|
274
|
-
album.valid?(:validation_context=>:approve) # => false
|
|
275
|
-
album.status_id = 42
|
|
276
|
-
album.valid?(:validation_context=>:approve) # => true
|
|
277
|
-
|
|
278
|
-
* A columns_updated plugin has been added, allowing you to get
|
|
279
|
-
access to the hash used for updating a model instance via the
|
|
280
|
-
columns_updated method:
|
|
281
|
-
|
|
282
|
-
class Album < Sequel::Model
|
|
283
|
-
plugin :columns_updated
|
|
284
|
-
|
|
285
|
-
def after_update
|
|
286
|
-
super
|
|
287
|
-
if columns_updated.has_key?(:foo)
|
|
288
|
-
do_something(columns_updated[:foo])
|
|
289
|
-
end
|
|
290
|
-
end
|
|
291
|
-
end
|
|
292
|
-
|
|
293
|
-
* Dataset#delete on Microsoft SQL Server now respects limits. Note
|
|
294
|
-
that Microsoft SQL Server does not respect orders for deletes, only
|
|
295
|
-
limits, which makes this support not very useful. Currently a
|
|
296
|
-
deprecation warning will be issued when using a delete with an
|
|
297
|
-
order and a limit, and in Sequel 5 an exception will be raised.
|
|
298
|
-
|
|
299
|
-
* An odbc/oracle subadapter has been added.
|
|
300
|
-
|
|
301
|
-
* A Model.dataset_module_class accessor has been added, allowing
|
|
302
|
-
plugins to add support for custom behavior in dataset_module blocks.
|
|
303
|
-
|
|
304
|
-
* Support for deprecating constants on Ruby 2.3+ has been added.
|
|
305
|
-
Note that you will only get warnings for deprecated constant
|
|
306
|
-
use if you are running on Ruby 2.3+. If you are running on a
|
|
307
|
-
previous version of Ruby, you should scan your code manually for
|
|
308
|
-
deprecated constant use.
|
|
309
|
-
|
|
310
|
-
= Other Improvements
|
|
311
|
-
|
|
312
|
-
* Using Model#cancel_action inside validation hooks now works
|
|
313
|
-
correctly when Model#valid? is called.
|
|
314
|
-
|
|
315
|
-
* Model#[] now handles columns with false values correctly when using
|
|
316
|
-
the split_values plugin.
|
|
317
|
-
|
|
318
|
-
* When calling Dataset#union/intersect/except on a dataset with
|
|
319
|
-
an offset but no limit, the dataset is wrapped in a subquery, just
|
|
320
|
-
like a dataset with a limit.
|
|
321
|
-
|
|
322
|
-
* The dumping of 64-bit autoincrementing primary key columns by the
|
|
323
|
-
schema_dumper extension is now handled correctly when using the
|
|
324
|
-
:same_db option.
|
|
325
|
-
|
|
326
|
-
* The schema_dumper extension now supports the :schema option when
|
|
327
|
-
dumping schema.
|
|
328
|
-
|
|
329
|
-
* On Microsoft SQL Server and SQLAnywhere, ORDER BY clauses now come
|
|
330
|
-
after UNION/INTERSECT/EXCEPT instead of before, fixing issues when
|
|
331
|
-
the :from_self=>false option is used with union/intersect/except
|
|
332
|
-
and an order is applied afterward.
|
|
333
|
-
|
|
334
|
-
* On Microsoft SQL Server, if calling Dataset#union/intersect/except
|
|
335
|
-
on a dataset with an order and without a limit or offset, the order
|
|
336
|
-
is removed. When using UNION/INTERSECT/EXCEPT, Microsoft SQL
|
|
337
|
-
Server does not guarantee any ordering unless you specify an order
|
|
338
|
-
for the compound dataset. As a general rule, you should always
|
|
339
|
-
apply orders after compounds instead of before.
|
|
340
|
-
|
|
341
|
-
* On Microsoft SQL Server <2012, when using a dataset with an offset
|
|
342
|
-
without a limit in a UNION/INTERSECT/EXCEPT query, Sequel now uses
|
|
343
|
-
TOP (100) PERCENT to work around the limitation that using orders
|
|
344
|
-
in subqueries is not supported unless there is a limit (offsets
|
|
345
|
-
are emulated by a ROW_NUMBER window function with an order in this
|
|
346
|
-
case).
|
|
347
|
-
|
|
348
|
-
* Database#indexes on MySQL now handles qualified identifiers.
|
|
349
|
-
|
|
350
|
-
* Sequel now literalizes Sequel::SQLTime instances with 3 fractional
|
|
351
|
-
digits in the jdbc/postgresql adapter, fixing issues on JRuby
|
|
352
|
-
9.1.8.0+ (the first JRuby version to support greater than
|
|
353
|
-
millisecond precision).
|
|
354
|
-
|
|
355
|
-
= Backwards Compatibility
|
|
356
|
-
|
|
357
|
-
* When using the association_proxies plugin and passing a block when
|
|
358
|
-
loading the plugin, the :proxy_argument option in hash passed to
|
|
359
|
-
the block is now an empty hash instead of nil if no argument was
|
|
360
|
-
given to the association method.
|
|
361
|
-
|
|
362
|
-
* The private Model#_valid? method now takes a single options hash
|
|
363
|
-
argument, instead of 2 arguments.
|
|
364
|
-
|
|
365
|
-
* The pg_hstore extension no longer modifies PG_NAMED_TYPES. This
|
|
366
|
-
should not affect behavior if the pg_hstore extension is loaded
|
|
367
|
-
into the Database instance.
|
|
368
|
-
|
|
369
|
-
* Support for pg <0.8.0 has been dropped. pg 0.8.0 was released in
|
|
370
|
-
January 2008.
|