sequel 5.29.0 → 5.30.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 +8 -1922
- data/doc/release_notes/5.30.0.txt +20 -0
- data/lib/sequel/adapters/shared/sqlite.rb +7 -1
- data/lib/sequel/database/transactions.rb +5 -9
- data/lib/sequel/version.rb +1 -1
- metadata +4 -368
- 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 -828
- data/spec/adapters/mysql_spec.rb +0 -1060
- data/spec/adapters/oracle_spec.rb +0 -371
- data/spec/adapters/postgres_spec.rb +0 -4476
- 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 -2915
- data/spec/core/dataset_spec.rb +0 -5544
- data/spec/core/deprecated_spec.rb +0 -70
- data/spec/core/expression_filters_spec.rb +0 -1498
- 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 -1844
- 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/any_not_empty_spec.rb +0 -23
- data/spec/extensions/arbitrary_servers_spec.rb +0 -109
- data/spec/extensions/association_dependencies_spec.rb +0 -125
- data/spec/extensions/association_multi_add_remove_spec.rb +0 -1041
- 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 -222
- 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/empty_failure_backtraces_spec.rb +0 -60
- 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/exclude_or_null_spec.rb +0 -15
- 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_conflict_spec.rb +0 -103
- 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 -346
- 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 -218
- data/spec/extensions/nested_attributes_spec.rb +0 -815
- 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 -209
- 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 -356
- data/spec/extensions/pg_json_spec.rb +0 -451
- 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 -600
- 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 -387
- 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 -135
- data/spec/extensions/server_logging_spec.rb +0 -45
- data/spec/extensions/sharding_spec.rb +0 -197
- 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 -70
- 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_cache_spec.rb +0 -35
- 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 -2037
- 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 -2423
- data/spec/integration/prepared_statement_test.rb +0 -405
- data/spec/integration/schema_test.rb +0 -903
- data/spec/integration/spec_helper.rb +0 -71
- 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 -5
- data/spec/spec_config.rb +0 -12
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* A modification_detection plugin has been added, for automatic
|
|
4
|
-
detection of in-place column value modifications. This makes
|
|
5
|
-
it so you don't have to call Model#modified! manually when
|
|
6
|
-
changing a value in place.
|
|
7
|
-
|
|
8
|
-
* A column_select plugin has been added, for automatically
|
|
9
|
-
selecting explicitly qualified columns in model datasets.
|
|
10
|
-
Example:
|
|
11
|
-
|
|
12
|
-
Sequel::Model.plugin :column_select
|
|
13
|
-
class Album < Sequel::Model
|
|
14
|
-
end
|
|
15
|
-
Album.dataset.sql
|
|
16
|
-
# SELECT albums.id, albums.name, albums.artist_id
|
|
17
|
-
# FROM albums
|
|
18
|
-
|
|
19
|
-
* An insert_returning_select plugin has been added, for automatically
|
|
20
|
-
setting up RETURNING clauses for models that select explicit
|
|
21
|
-
columns. This is useful when using the column_select or
|
|
22
|
-
lazy_attributes plugins.
|
|
23
|
-
|
|
24
|
-
* A pg_enum extension has been added, for easier dealing with
|
|
25
|
-
PostgreSQL enum types. The possible values for the type
|
|
26
|
-
are then returned in the schema hashes under the :enum_values
|
|
27
|
-
key. It also adds create_enum, drop_enum, and add_enum_value
|
|
28
|
-
Database methods for migration support.
|
|
29
|
-
|
|
30
|
-
* A round_timestamps extension has been added, for automatically
|
|
31
|
-
rounding timestamps to database supported precision when
|
|
32
|
-
literalizing.
|
|
33
|
-
|
|
34
|
-
* A dataset_source_alias extension has been added, for automatically
|
|
35
|
-
aliasing datasets to their first source, instead of using t1, t2.
|
|
36
|
-
Example:
|
|
37
|
-
|
|
38
|
-
DB.from(:a, DB[:b]).sql
|
|
39
|
-
# SELECT * FROM a, (SELECT * FROM b) AS t1
|
|
40
|
-
|
|
41
|
-
DB.extension(:dataset_source_alias)
|
|
42
|
-
DB.from(:a, DB[:b]).sql
|
|
43
|
-
# SELECT * FROM a, (SELECT * FROM b) AS b
|
|
44
|
-
|
|
45
|
-
* On Microsoft SQL Server, Sequel now emulates RETURNING support
|
|
46
|
-
using the OUTPUT clause, as long as only simple column references
|
|
47
|
-
are used.
|
|
48
|
-
|
|
49
|
-
= Other Improvements
|
|
50
|
-
|
|
51
|
-
* A regression has been fixed in the timestamps and table
|
|
52
|
-
inheritance plugins, where column values would not be
|
|
53
|
-
saved when skipping validations. This was first broken in
|
|
54
|
-
4.11.0.
|
|
55
|
-
|
|
56
|
-
* A regression has been fixed on JRuby and Rubinius when using
|
|
57
|
-
Sequel::Model(dataset) if the dataset needs to literalize a
|
|
58
|
-
symbol (and most do). This was first broken in 4.10.0.
|
|
59
|
-
|
|
60
|
-
* Primary keys are now automatically setup for models even if
|
|
61
|
-
the models select specific columns.
|
|
62
|
-
|
|
63
|
-
* The lazy_attributes plugin now uses qualified columns in its
|
|
64
|
-
selection, instead of unqualified columns.
|
|
65
|
-
|
|
66
|
-
* When looking up model instances by primary key, Sequel now uses a
|
|
67
|
-
qualified primary key if the model uses a joined dataset.
|
|
68
|
-
|
|
69
|
-
* For associations that require joins, Sequel will now use the
|
|
70
|
-
associated model's selection directly (instead of
|
|
71
|
-
associated_table.*) if the associated model's selection consists
|
|
72
|
-
solely of qualified columns.
|
|
73
|
-
|
|
74
|
-
Among other things, this means that a many_to_many association to
|
|
75
|
-
a model that uses lazy attributes will not eagerly load the lazy
|
|
76
|
-
attributes by default.
|
|
77
|
-
|
|
78
|
-
* Model#save now uses insert_select if there is an existing
|
|
79
|
-
RETURNING clause used by the underlying dataset, even if the model
|
|
80
|
-
selects specific columns.
|
|
81
|
-
|
|
82
|
-
* In Dataset#insert, aliased tables are now automatically unaliased.
|
|
83
|
-
This allows you to use a dataset with an aliased table and have
|
|
84
|
-
full SELECT/INSERT/UPDATE/DELETE support, assuming the database
|
|
85
|
-
supports aliased tables in UPDATE and DELETE.
|
|
86
|
-
|
|
87
|
-
* Dataset#graph now qualifies columns correctly if the current
|
|
88
|
-
dataset is a joined dataset and it moves the current dataset to
|
|
89
|
-
a subselect.
|
|
90
|
-
|
|
91
|
-
* Dataset#joined_dataset? is now a public method, and can be used to
|
|
92
|
-
determine whether the dataset uses a join, either explicitly via
|
|
93
|
-
JOIN or implicitly via multiple FROM tables.
|
|
94
|
-
|
|
95
|
-
* The Dataset#unqualified_column_for helper method has been added,
|
|
96
|
-
returning the unqualified version of a possibly qualified column.
|
|
97
|
-
|
|
98
|
-
* The composition and serialization plugins now support validations
|
|
99
|
-
on the underlying columns. Previously, they didn't update the
|
|
100
|
-
underlying columns until after validations were performed. This
|
|
101
|
-
works better when using the auto_validations plugin.
|
|
102
|
-
|
|
103
|
-
* The class_table_inheritance plugin now uses JOIN ON instead of
|
|
104
|
-
JOIN USING, which makes it work on all databases that Sequel
|
|
105
|
-
supports. Additionally, the plugin now explicitly selects
|
|
106
|
-
qualified columns from all of the tables.
|
|
107
|
-
|
|
108
|
-
* The list plugin now adds an after_destroy hook that will renumber
|
|
109
|
-
rows after the current row, similar to how moving existing values
|
|
110
|
-
in the list works.
|
|
111
|
-
|
|
112
|
-
* The pg_json extension is now faster when json column value is a
|
|
113
|
-
plain string, number, true, false, or nil, if the underlying json
|
|
114
|
-
library handles such values natively.
|
|
115
|
-
|
|
116
|
-
* External jdbc, odbc, and do subadapters can now be loaded
|
|
117
|
-
automatically without requiring them first, assuming proper
|
|
118
|
-
support in the external subadapter.
|
|
119
|
-
|
|
120
|
-
* When using create_table on MySQL, correctly handle the :key
|
|
121
|
-
option to when calling foreign_key with a column reference.
|
|
122
|
-
|
|
123
|
-
* On Oracle, use all_tab_cols instead of user_tab_cols for getting
|
|
124
|
-
default values when parsing the schema. This makes it work if the
|
|
125
|
-
user does not own the table.
|
|
126
|
-
|
|
127
|
-
* On Oracle, use all_tables and all_views for Database#tables and
|
|
128
|
-
Database#views. This works better for users with limited rights.
|
|
129
|
-
|
|
130
|
-
* Additional disconnect errors are now recognized in the postgres and
|
|
131
|
-
jdbc/mysql adapters.
|
|
132
|
-
|
|
133
|
-
* Sequel::Model now uses copy constructors (e.g. initialize_copy)
|
|
134
|
-
instead of overriding #dup and #clone.
|
|
135
|
-
|
|
136
|
-
* The rake default task now runs plugin specs in addition to
|
|
137
|
-
core and model specs.
|
|
138
|
-
|
|
139
|
-
= bin/sequel Improvements
|
|
140
|
-
|
|
141
|
-
* Add the sequel lib directory to the front of the load path
|
|
142
|
-
instead of the end, fixing cases where you end up requiring an
|
|
143
|
-
old version of the sequel gem (e.g. by using sequel_pg).
|
|
144
|
-
|
|
145
|
-
* Add the sequel lib directory as an absolute path, fixing cases
|
|
146
|
-
where you later change the current directory.
|
|
147
|
-
|
|
148
|
-
* Require sequel later in the code, so that bin/sequel -h doesn't
|
|
149
|
-
need to require sequel, and full backtrace is not printed if
|
|
150
|
-
requiring sequel raises an error (unless -t is used).
|
|
151
|
-
|
|
152
|
-
* If an exception is raised, put a newline between the exception
|
|
153
|
-
message and backtrace.
|
|
154
|
-
|
|
155
|
-
* Don't allow usage of -C with any of -cdDmS.
|
|
156
|
-
|
|
157
|
-
* If sequel -v is given along with a database or code string to
|
|
158
|
-
execute, print the Sequel version but also continue, similar
|
|
159
|
-
to how ruby -v works.
|
|
160
|
-
|
|
161
|
-
= Backwards Compatibility
|
|
162
|
-
|
|
163
|
-
* The switch from JOIN ON to JOIN USING in the
|
|
164
|
-
class_table_inheritance can break certain usage, such as querying
|
|
165
|
-
using unqualified primary key. Users should switch to using a
|
|
166
|
-
qualified primary key instead.
|
|
167
|
-
|
|
168
|
-
* Calling Dataset#returning when the underlying database does not
|
|
169
|
-
support it now raises an Error.
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* Delayed evaluation blocks can now accept the dataset literalizing
|
|
4
|
-
the delayed evaluation as an argument. This makes it so the
|
|
5
|
-
delayed evaluation result can depend on the dataset doing the
|
|
6
|
-
literalization:
|
|
7
|
-
|
|
8
|
-
ds = DB[:a].where(Sequel.delay do |ds|
|
|
9
|
-
{Sequel.qualify(ds.first_source, :col)=>1}
|
|
10
|
-
end)
|
|
11
|
-
ds.sql # SELECT * FROM a WHERE (a.col = 1)
|
|
12
|
-
ds.from(:b).sql # SELECT * FROM b WHERE (b.col = 1)
|
|
13
|
-
|
|
14
|
-
* Database#create_trigger on PostgreSQL now supports a :when option
|
|
15
|
-
to create a filter for the trigger, so that it is only triggered
|
|
16
|
-
when the filter condition is true.
|
|
17
|
-
|
|
18
|
-
* You can now override the cache key prefix in the caching plugin
|
|
19
|
-
by overriding the cache_key_prefix class method. This can be
|
|
20
|
-
useful when using a table inheritance plugin.
|
|
21
|
-
|
|
22
|
-
= Other Improvements
|
|
23
|
-
|
|
24
|
-
* You can now pass arbitrary types to Dataset#where and related
|
|
25
|
-
methods. Previously, if a type was not explicitly handled, an
|
|
26
|
-
exception would be raised. Now you can pass any object that can
|
|
27
|
-
be literalized. The only exception is that you can't pass
|
|
28
|
-
Numeric objects, since #where and similar methods should
|
|
29
|
-
only deal with boolean expressions.
|
|
30
|
-
|
|
31
|
-
* association_join and related methods now work correctly if the
|
|
32
|
-
dataset already has an explicit selection.
|
|
33
|
-
|
|
34
|
-
* A regression has been fixed in the class_table_inheritance plugin
|
|
35
|
-
when using a hierarchy of more than 2 levels, when using the
|
|
36
|
-
superclass to load a subclass instance more than 2 levels below,
|
|
37
|
-
and later attempting to load a column contained in one of the
|
|
38
|
-
middle tables.
|
|
39
|
-
|
|
40
|
-
* When using _delete or _remove keys in the nested_attributes plugin
|
|
41
|
-
to remove existing associated objects, the associated objects are
|
|
42
|
-
now deleted from the cached association array at time of call.
|
|
43
|
-
This is for consistency when adding new associated objects, where
|
|
44
|
-
the new associated objects are added to the cached association
|
|
45
|
-
array at time of call.
|
|
46
|
-
|
|
47
|
-
* The nested_attributes plugin now handles composite primary keys
|
|
48
|
-
correctly when working around validation issues for one_to_one
|
|
49
|
-
and one_to_many associations.
|
|
50
|
-
|
|
51
|
-
* If exception A is raised during a transaction, and exception B
|
|
52
|
-
is raised while attempting to rollback the transaction, the
|
|
53
|
-
transaction code will now raise exception A instead of exception B.
|
|
54
|
-
|
|
55
|
-
* An additional serialization failure is now detected on PostgreSQL.
|
|
56
|
-
|
|
57
|
-
* An additional disconnect error is now recognized in the jdbc/jtds
|
|
58
|
-
adapter.
|
|
59
|
-
|
|
60
|
-
* The code examples in the RDoc are now syntax highlighted, and
|
|
61
|
-
many minor fixes to the code examples in the RDoc were made.
|
|
62
|
-
Additionally, many other improvements were made to the RDoc.
|
|
63
|
-
|
|
64
|
-
= Backwards Compatibility
|
|
65
|
-
|
|
66
|
-
* Dataset#delayed_evaluation_sql_append now accepts the delayed
|
|
67
|
-
evaluation as an argument, instead of the callable contained by the
|
|
68
|
-
delayed evaluation.
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* fdbsql and jdbc/fdbsql adapters have been added, for connecting to
|
|
4
|
-
FoundationDB SQL Layer.
|
|
5
|
-
|
|
6
|
-
* A split_values plugin has been added, for moving non-column entries
|
|
7
|
-
from the values hash into a separate hash. This allows you to
|
|
8
|
-
select additional columns (e.g. computed columns) when retrieving
|
|
9
|
-
model instances, and be able to save those instances without
|
|
10
|
-
removing the additional columns.
|
|
11
|
-
|
|
12
|
-
* A Sequel::Model.cache_associations accessor has been added, which
|
|
13
|
-
can be set to false to not cache any association metadata. This
|
|
14
|
-
can fix issues in a development environment that uses code
|
|
15
|
-
reloading.
|
|
16
|
-
|
|
17
|
-
* The active_model plugin now supports activemodel 4.2.0beta1.
|
|
18
|
-
|
|
19
|
-
* More PostgreSQL array types are handled automatically by the
|
|
20
|
-
pg_array extension, such as xml[] and uuid[].
|
|
21
|
-
|
|
22
|
-
* Creating foreign tables is now supported on PostgreSQL via the
|
|
23
|
-
:foreign and :options create_table options.
|
|
24
|
-
|
|
25
|
-
* The :nolog Database option is now supported in the informix
|
|
26
|
-
adapter, where it disables the use of transactions.
|
|
27
|
-
|
|
28
|
-
* PlaceholderLiteralizer#with_dataset has been added, allowing you
|
|
29
|
-
to create another PlaceholderLiteralizer with a modified dataset,
|
|
30
|
-
useful if you want to change the row_proc or any non-SQL dataset
|
|
31
|
-
options.
|
|
32
|
-
|
|
33
|
-
= Other Improvements
|
|
34
|
-
|
|
35
|
-
* The tactical_eager_loading plugin once again works correctly with
|
|
36
|
-
limited associations.
|
|
37
|
-
|
|
38
|
-
* A bug in older versions of MySQL is now worked around when schema
|
|
39
|
-
dumping a table with multiple timestamp columns.
|
|
40
|
-
|
|
41
|
-
* On PostgreSQL, create_view(:view_name, dataset, :materialized=>true)
|
|
42
|
-
is now reversible.
|
|
43
|
-
|
|
44
|
-
* Postgres::{JSON,JSONB}Op#to_record and #to_recordset no longer take
|
|
45
|
-
an optional argument. This was supported in PostgreSQL 9.4beta1,
|
|
46
|
-
but removed before PostgreSQL 9.4beta2.
|
|
47
|
-
|
|
48
|
-
* Dataset#insert now returns the last inserted id in the informix
|
|
49
|
-
adapter.
|
|
50
|
-
|
|
51
|
-
* Sequel no longer raises an exception in
|
|
52
|
-
AssociationReflection#reciprocal if the associated class has an
|
|
53
|
-
association that does not have a valid associated class.
|
|
54
|
-
|
|
55
|
-
* Sequel now raises an exception if a primary key is necessary to use
|
|
56
|
-
an association, but the model does not have a primary key.
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* Model#qualified_pk_hash has been added, which is similar to
|
|
4
|
-
Model#pk_hash, but uses qualified keys.
|
|
5
|
-
|
|
6
|
-
* Dataset#distinct now accepts a virtual row block.
|
|
7
|
-
|
|
8
|
-
* Database#drop_table with :foreign=>true option now drops foreign
|
|
9
|
-
tables on PostgreSQL. Database#create_table with :foreign option
|
|
10
|
-
is now reversible on PostgreSQL.
|
|
11
|
-
|
|
12
|
-
= Other Improvements
|
|
13
|
-
|
|
14
|
-
* Sequel::Model.cache_associations = false now skips the database's
|
|
15
|
-
schema cache when loading the schema for a model. This fixes
|
|
16
|
-
some issues in environments that use code reloading.
|
|
17
|
-
|
|
18
|
-
* Database#create_table? and #create_join_table? no longer use
|
|
19
|
-
IF NOT EXISTS if indexes are being created.
|
|
20
|
-
|
|
21
|
-
* Model.primary_key_hash and .qualified_primary_key_hash have been
|
|
22
|
-
optimized.
|
|
23
|
-
|
|
24
|
-
* validates_unique in the validation_helpers plugin now uses a
|
|
25
|
-
qualified primary key if the model's dataset is joined. This fixes
|
|
26
|
-
a case when the auto_validations and class_table_inheritance
|
|
27
|
-
plugins are used together.
|
|
28
|
-
|
|
29
|
-
* Disconnect errors are now recognized in the postgres adapter when
|
|
30
|
-
SSL is used for connecting.
|
|
31
|
-
|
|
32
|
-
* Empty string default values are no longer converted to nil default
|
|
33
|
-
values on MySQL.
|
|
34
|
-
|
|
35
|
-
* Database#foreign_key_list now works correctly on Microsoft SQL
|
|
36
|
-
Server 2005.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* A :preconnect Database option has been added, for automatically
|
|
4
|
-
creating the maximum number of connections to the database on
|
|
5
|
-
instantiation. This is useful when there is high latency for
|
|
6
|
-
initial connection setup, where Sequel's usual approach of
|
|
7
|
-
connecting as needed can cause pauses at runtime.
|
|
8
|
-
|
|
9
|
-
* Database#sharded? has been added for checking whether the Database
|
|
10
|
-
object uses multiple servers.
|
|
11
|
-
|
|
12
|
-
* Dataset#server? has been added, for returning a cloned dataset
|
|
13
|
-
associated with the given server/shard if the dataset does not
|
|
14
|
-
already have a server set. This returns the receiver if the
|
|
15
|
-
server has already been set or the Database is not sharded.
|
|
16
|
-
|
|
17
|
-
= Other Improvements
|
|
18
|
-
|
|
19
|
-
* Sequel now uses the correct shard when deleting model instances.
|
|
20
|
-
Previously, the correct shard was only used in the unoptimized
|
|
21
|
-
case, not in the optimized case.
|
|
22
|
-
|
|
23
|
-
* Sequel now uses the correct shard when using Dataset#insert_select
|
|
24
|
-
on PostgreSQL. This was first broken in the 4.13.0 release.
|
|
25
|
-
|
|
26
|
-
* Sequel now correctly handles Sequel::SQL::Blob instances used in
|
|
27
|
-
bound variables in the postgres adapter. Previously this resulted
|
|
28
|
-
in duplicate apostrophes being used.
|
|
29
|
-
|
|
30
|
-
* When using the jdbc/sqlite3 adapter with jdbc-sqlite3 3.8.7, Sequel
|
|
31
|
-
now handles date objects and empty blobs correctly, working around
|
|
32
|
-
bugs in the driver.
|
|
33
|
-
|
|
34
|
-
= Backwards Compatibility
|
|
35
|
-
|
|
36
|
-
* In the update_or_create plugin, Model.update_or_create now always
|
|
37
|
-
returns the object. Previously it would not return the object if
|
|
38
|
-
the object already existed but no updates were necessary.
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* An :auto_increment key has been added to the schema information for
|
|
4
|
-
primary key columns on JDBC, PostgreSQL, MySQL, MSSQL, DB2, and
|
|
5
|
-
SQLite. This fixes issues in the schema_dumper extension where
|
|
6
|
-
non-auto-incrementing integer primary keys are no longer dumped as
|
|
7
|
-
auto-incrementing.
|
|
8
|
-
|
|
9
|
-
For adapters that don't have specific support for detecting
|
|
10
|
-
auto incrementing primary keys, Sequel now assumes a primary key
|
|
11
|
-
is auto incrementing only if it is not a composite primary key
|
|
12
|
-
and the type contains int (e.g. int, integer, bigint).
|
|
13
|
-
|
|
14
|
-
= Other Improvements
|
|
15
|
-
|
|
16
|
-
* Dataset#empty? now ignores any order on the dataset. Previously,
|
|
17
|
-
calling empty? on a dataset ordered by an alias in the SELECT list
|
|
18
|
-
could raise an exception.
|
|
19
|
-
|
|
20
|
-
* Schema qualified tables are now handled correctly in
|
|
21
|
-
many_through_many associations.
|
|
22
|
-
|
|
23
|
-
* Using a hash as the value for the :eager association option now
|
|
24
|
-
works correctly.
|
|
25
|
-
|
|
26
|
-
* All PG::ConnectionBad exceptions are now treated as disconnect
|
|
27
|
-
errors in the postgres adapter. This should be more robust than
|
|
28
|
-
the previous method of trying to recognize disconnect errors by
|
|
29
|
-
trying to parse the exception message.
|
|
30
|
-
|
|
31
|
-
* Sequel now skips a hash allocation when issuing queries through
|
|
32
|
-
datasets if sharding is not used.
|
|
33
|
-
|
|
34
|
-
* Sequel no longer uses the JDBC schema parsing in the jdbc/sqlserver
|
|
35
|
-
adapter. Instead, it uses the MSSQL schema parsing, which should
|
|
36
|
-
be more accurate than the generic JDBC schema parsing.
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* Model#get_column_value and #set_column_value have been added for
|
|
4
|
-
getting/setting column values. Historically, to get column
|
|
5
|
-
values, you would just send the column name, and to set column
|
|
6
|
-
values you would send the column name suffixed by =. However,
|
|
7
|
-
this doesn't work when such methods are already defined by
|
|
8
|
-
ruby or Sequel itself (e.g. class, model, object_id).
|
|
9
|
-
|
|
10
|
-
Both #get_column_value and #set_column_value are just aliases to
|
|
11
|
-
#send, but you can safely override the methods to handle column
|
|
12
|
-
names that conflict with existing method names. Both the core
|
|
13
|
-
model code and all of the plugins that ship with Sequel have
|
|
14
|
-
been updated to use these new methods. External plugins are
|
|
15
|
-
strongly encouraged to switch to these new methods.
|
|
16
|
-
|
|
17
|
-
* A column_conflicts plugin has been added to automatically handle
|
|
18
|
-
columns that conflict with existing method names. So if you
|
|
19
|
-
have a column named "model" in your table, you can just load the
|
|
20
|
-
column_conflicts plugin and Sequel will handle things correctly.
|
|
21
|
-
|
|
22
|
-
* A accessed_columns plugin has been added, which records which
|
|
23
|
-
columns have been accessed for a model instance. This is useful
|
|
24
|
-
in development when you are planning on restricted the columns
|
|
25
|
-
selected by the dataset that retrieved the instance. SELECTing
|
|
26
|
-
only the columns you need can result in significant performance
|
|
27
|
-
increases, and the accessed_columns plugin makes that easier.
|
|
28
|
-
|
|
29
|
-
* Model#cancel_action has been added for canceling actions in
|
|
30
|
-
before hooks, instead of having the before hook methods return
|
|
31
|
-
false (which is still supported). In addition to being easier to
|
|
32
|
-
use, this also makes it possible to use custom exception messages
|
|
33
|
-
for hook failures, if you are using the default behavior of raising
|
|
34
|
-
exceptions on save failures.
|
|
35
|
-
|
|
36
|
-
= Other Improvements
|
|
37
|
-
|
|
38
|
-
* Dataset#union, #intersect, and #except now automatically handle
|
|
39
|
-
datasets with raw SQL, by wrapping such datasets in subqueries.
|
|
40
|
-
|
|
41
|
-
* The integer migrator now stores the correct migration number
|
|
42
|
-
when migrating with allow_missing_migration_files set.
|
|
43
|
-
|
|
44
|
-
* A :timeout=>nil Database option on MySQL no longer sets a
|
|
45
|
-
wait_timeout.
|