sequel 4.36.0 → 5.61.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 +5 -5
- data/CHANGELOG +548 -5749
- data/MIT-LICENSE +1 -1
- data/README.rdoc +265 -159
- data/bin/sequel +34 -12
- data/doc/advanced_associations.rdoc +228 -187
- data/doc/association_basics.rdoc +281 -291
- data/doc/bin_sequel.rdoc +5 -3
- data/doc/cheat_sheet.rdoc +86 -51
- data/doc/code_order.rdoc +25 -19
- data/doc/core_extensions.rdoc +104 -63
- data/doc/dataset_basics.rdoc +12 -21
- data/doc/dataset_filtering.rdoc +99 -86
- data/doc/extensions.rdoc +3 -10
- data/doc/fork_safety.rdoc +84 -0
- data/doc/mass_assignment.rdoc +74 -31
- data/doc/migration.rdoc +59 -51
- data/doc/model_dataset_method_design.rdoc +129 -0
- data/doc/model_hooks.rdoc +15 -25
- data/doc/model_plugins.rdoc +12 -12
- data/doc/mssql_stored_procedures.rdoc +3 -3
- data/doc/object_model.rdoc +58 -68
- data/doc/opening_databases.rdoc +85 -95
- data/doc/postgresql.rdoc +263 -38
- data/doc/prepared_statements.rdoc +29 -24
- data/doc/querying.rdoc +189 -167
- data/doc/reflection.rdoc +5 -6
- data/doc/release_notes/5.0.0.txt +159 -0
- data/doc/release_notes/5.1.0.txt +31 -0
- data/doc/release_notes/5.10.0.txt +84 -0
- data/doc/release_notes/5.11.0.txt +83 -0
- data/doc/release_notes/5.12.0.txt +141 -0
- data/doc/release_notes/5.13.0.txt +27 -0
- data/doc/release_notes/5.14.0.txt +63 -0
- data/doc/release_notes/5.15.0.txt +39 -0
- data/doc/release_notes/5.16.0.txt +110 -0
- data/doc/release_notes/5.17.0.txt +31 -0
- data/doc/release_notes/5.18.0.txt +69 -0
- data/doc/release_notes/5.19.0.txt +28 -0
- data/doc/release_notes/5.2.0.txt +33 -0
- data/doc/release_notes/5.20.0.txt +89 -0
- 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.3.0.txt +121 -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.4.0.txt +80 -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/release_notes/5.5.0.txt +61 -0
- data/doc/release_notes/5.50.0.txt +78 -0
- data/doc/release_notes/5.51.0.txt +47 -0
- data/doc/release_notes/5.52.0.txt +87 -0
- data/doc/release_notes/5.53.0.txt +23 -0
- data/doc/release_notes/5.54.0.txt +27 -0
- data/doc/release_notes/5.55.0.txt +21 -0
- data/doc/release_notes/5.56.0.txt +51 -0
- data/doc/release_notes/5.57.0.txt +23 -0
- data/doc/release_notes/5.58.0.txt +31 -0
- data/doc/release_notes/5.59.0.txt +73 -0
- data/doc/release_notes/5.6.0.txt +31 -0
- data/doc/release_notes/5.60.0.txt +22 -0
- data/doc/release_notes/5.61.0.txt +43 -0
- data/doc/release_notes/5.7.0.txt +108 -0
- data/doc/release_notes/5.8.0.txt +170 -0
- data/doc/release_notes/5.9.0.txt +99 -0
- data/doc/schema_modification.rdoc +95 -75
- data/doc/security.rdoc +109 -80
- data/doc/sharding.rdoc +74 -47
- data/doc/sql.rdoc +147 -122
- data/doc/testing.rdoc +43 -20
- data/doc/thread_safety.rdoc +2 -4
- data/doc/transactions.rdoc +97 -18
- data/doc/validations.rdoc +52 -50
- data/doc/virtual_rows.rdoc +90 -109
- data/lib/sequel/adapters/ado/access.rb +15 -17
- data/lib/sequel/adapters/ado/mssql.rb +6 -15
- data/lib/sequel/adapters/ado.rb +150 -20
- data/lib/sequel/adapters/amalgalite.rb +11 -23
- data/lib/sequel/adapters/ibmdb.rb +47 -55
- data/lib/sequel/adapters/jdbc/db2.rb +29 -39
- data/lib/sequel/adapters/jdbc/derby.rb +58 -54
- data/lib/sequel/adapters/jdbc/h2.rb +93 -35
- data/lib/sequel/adapters/jdbc/hsqldb.rb +24 -31
- data/lib/sequel/adapters/jdbc/jtds.rb +2 -10
- data/lib/sequel/adapters/jdbc/mssql.rb +3 -11
- data/lib/sequel/adapters/jdbc/mysql.rb +17 -20
- data/lib/sequel/adapters/jdbc/oracle.rb +22 -18
- data/lib/sequel/adapters/jdbc/postgresql.rb +69 -71
- data/lib/sequel/adapters/jdbc/sqlanywhere.rb +11 -23
- data/lib/sequel/adapters/jdbc/sqlite.rb +47 -11
- data/lib/sequel/adapters/jdbc/sqlserver.rb +34 -9
- data/lib/sequel/adapters/jdbc/transactions.rb +22 -38
- data/lib/sequel/adapters/jdbc.rb +145 -130
- data/lib/sequel/adapters/mock.rb +100 -111
- data/lib/sequel/adapters/mysql.rb +114 -122
- data/lib/sequel/adapters/mysql2.rb +147 -63
- data/lib/sequel/adapters/odbc/db2.rb +1 -1
- data/lib/sequel/adapters/odbc/mssql.rb +8 -14
- data/lib/sequel/adapters/odbc/oracle.rb +11 -0
- data/lib/sequel/adapters/odbc.rb +20 -25
- data/lib/sequel/adapters/oracle.rb +50 -56
- data/lib/sequel/adapters/postgres.rb +305 -327
- data/lib/sequel/adapters/postgresql.rb +1 -1
- data/lib/sequel/adapters/shared/access.rb +74 -78
- data/lib/sequel/adapters/shared/db2.rb +118 -71
- data/lib/sequel/adapters/shared/mssql.rb +301 -220
- data/lib/sequel/adapters/shared/mysql.rb +299 -217
- data/lib/sequel/adapters/shared/oracle.rb +226 -65
- data/lib/sequel/adapters/shared/postgres.rb +935 -395
- data/lib/sequel/adapters/shared/sqlanywhere.rb +105 -126
- data/lib/sequel/adapters/shared/sqlite.rb +447 -173
- data/lib/sequel/adapters/sqlanywhere.rb +48 -35
- data/lib/sequel/adapters/sqlite.rb +156 -111
- data/lib/sequel/adapters/tinytds.rb +30 -38
- data/lib/sequel/adapters/utils/columns_limit_1.rb +22 -0
- data/lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb +3 -6
- data/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +2 -2
- data/lib/sequel/adapters/utils/mysql_mysql2.rb +87 -0
- data/lib/sequel/adapters/utils/mysql_prepared_statements.rb +56 -0
- data/lib/sequel/adapters/utils/replace.rb +1 -4
- data/lib/sequel/adapters/utils/stored_procedures.rb +7 -22
- data/lib/sequel/adapters/utils/unmodified_identifiers.rb +28 -0
- data/lib/sequel/ast_transformer.rb +17 -89
- data/lib/sequel/connection_pool/sharded_single.rb +18 -15
- data/lib/sequel/connection_pool/sharded_threaded.rb +130 -111
- data/lib/sequel/connection_pool/single.rb +18 -13
- data/lib/sequel/connection_pool/threaded.rb +121 -120
- data/lib/sequel/connection_pool.rb +48 -29
- data/lib/sequel/core.rb +351 -301
- data/lib/sequel/database/connecting.rb +69 -57
- data/lib/sequel/database/dataset.rb +13 -5
- data/lib/sequel/database/dataset_defaults.rb +18 -102
- data/lib/sequel/database/features.rb +18 -4
- data/lib/sequel/database/logging.rb +12 -11
- data/lib/sequel/database/misc.rb +180 -122
- data/lib/sequel/database/query.rb +47 -27
- data/lib/sequel/database/schema_generator.rb +178 -84
- data/lib/sequel/database/schema_methods.rb +172 -97
- data/lib/sequel/database/transactions.rb +205 -44
- data/lib/sequel/database.rb +17 -2
- data/lib/sequel/dataset/actions.rb +339 -155
- data/lib/sequel/dataset/dataset_module.rb +46 -0
- data/lib/sequel/dataset/features.rb +90 -35
- data/lib/sequel/dataset/graph.rb +80 -58
- data/lib/sequel/dataset/misc.rb +137 -47
- data/lib/sequel/dataset/placeholder_literalizer.rb +63 -25
- data/lib/sequel/dataset/prepared_statements.rb +188 -85
- data/lib/sequel/dataset/query.rb +530 -222
- data/lib/sequel/dataset/sql.rb +590 -368
- data/lib/sequel/dataset.rb +26 -16
- data/lib/sequel/deprecated.rb +12 -2
- data/lib/sequel/exceptions.rb +46 -16
- data/lib/sequel/extensions/_model_constraint_validations.rb +16 -0
- data/lib/sequel/extensions/_model_pg_row.rb +43 -0
- data/lib/sequel/extensions/_pretty_table.rb +2 -5
- data/lib/sequel/extensions/any_not_empty.rb +45 -0
- data/lib/sequel/extensions/arbitrary_servers.rb +10 -10
- data/lib/sequel/extensions/async_thread_pool.rb +438 -0
- data/lib/sequel/extensions/auto_literal_strings.rb +74 -0
- data/lib/sequel/extensions/blank.rb +8 -0
- data/lib/sequel/extensions/caller_logging.rb +79 -0
- data/lib/sequel/extensions/columns_introspection.rb +4 -3
- data/lib/sequel/extensions/connection_expiration.rb +20 -10
- data/lib/sequel/extensions/connection_validator.rb +11 -10
- data/lib/sequel/extensions/constant_sql_override.rb +65 -0
- data/lib/sequel/extensions/constraint_validations.rb +62 -39
- data/lib/sequel/extensions/core_extensions.rb +42 -48
- data/lib/sequel/extensions/core_refinements.rb +80 -59
- data/lib/sequel/extensions/current_datetime_timestamp.rb +1 -4
- data/lib/sequel/extensions/date_arithmetic.rb +98 -39
- data/lib/sequel/extensions/date_parse_input_handler.rb +67 -0
- data/lib/sequel/extensions/datetime_parse_to_time.rb +41 -0
- data/lib/sequel/extensions/duplicate_columns_handler.rb +21 -14
- data/lib/sequel/extensions/empty_array_consider_nulls.rb +2 -2
- data/lib/sequel/extensions/escaped_like.rb +100 -0
- data/lib/sequel/extensions/eval_inspect.rb +12 -15
- data/lib/sequel/extensions/exclude_or_null.rb +68 -0
- data/lib/sequel/extensions/fiber_concurrency.rb +24 -0
- data/lib/sequel/extensions/freeze_datasets.rb +3 -0
- data/lib/sequel/extensions/from_block.rb +1 -34
- data/lib/sequel/extensions/graph_each.rb +4 -4
- data/lib/sequel/extensions/identifier_mangling.rb +180 -0
- data/lib/sequel/extensions/implicit_subquery.rb +48 -0
- data/lib/sequel/extensions/index_caching.rb +109 -0
- data/lib/sequel/extensions/inflector.rb +13 -5
- data/lib/sequel/extensions/integer64.rb +32 -0
- data/lib/sequel/extensions/is_distinct_from.rb +141 -0
- data/lib/sequel/extensions/looser_typecasting.rb +17 -8
- data/lib/sequel/extensions/migration.rb +119 -78
- data/lib/sequel/extensions/named_timezones.rb +88 -23
- data/lib/sequel/extensions/no_auto_literal_strings.rb +2 -82
- data/lib/sequel/extensions/null_dataset.rb +8 -8
- data/lib/sequel/extensions/pagination.rb +32 -29
- data/lib/sequel/extensions/pg_array.rb +221 -287
- data/lib/sequel/extensions/pg_array_ops.rb +17 -9
- data/lib/sequel/extensions/pg_enum.rb +63 -23
- data/lib/sequel/extensions/pg_extended_date_support.rb +241 -0
- data/lib/sequel/extensions/pg_hstore.rb +45 -54
- data/lib/sequel/extensions/pg_hstore_ops.rb +58 -6
- data/lib/sequel/extensions/pg_inet.rb +31 -12
- data/lib/sequel/extensions/pg_inet_ops.rb +2 -2
- data/lib/sequel/extensions/pg_interval.rb +56 -29
- data/lib/sequel/extensions/pg_json.rb +417 -140
- data/lib/sequel/extensions/pg_json_ops.rb +270 -18
- data/lib/sequel/extensions/pg_loose_count.rb +4 -2
- data/lib/sequel/extensions/pg_multirange.rb +372 -0
- data/lib/sequel/extensions/pg_range.rb +131 -191
- data/lib/sequel/extensions/pg_range_ops.rb +42 -13
- data/lib/sequel/extensions/pg_row.rb +48 -81
- data/lib/sequel/extensions/pg_row_ops.rb +33 -14
- data/lib/sequel/extensions/pg_static_cache_updater.rb +2 -2
- data/lib/sequel/extensions/pg_timestamptz.rb +28 -0
- data/lib/sequel/extensions/query.rb +9 -7
- data/lib/sequel/extensions/round_timestamps.rb +0 -6
- data/lib/sequel/extensions/run_transaction_hooks.rb +72 -0
- data/lib/sequel/extensions/s.rb +60 -0
- data/lib/sequel/extensions/schema_caching.rb +10 -1
- data/lib/sequel/extensions/schema_dumper.rb +71 -48
- data/lib/sequel/extensions/select_remove.rb +4 -4
- data/lib/sequel/extensions/sequel_4_dataset_methods.rb +85 -0
- data/lib/sequel/extensions/server_block.rb +51 -27
- data/lib/sequel/extensions/split_array_nil.rb +4 -4
- data/lib/sequel/extensions/sql_comments.rb +119 -7
- data/lib/sequel/extensions/sql_expr.rb +2 -1
- data/lib/sequel/extensions/sql_log_normalizer.rb +108 -0
- data/lib/sequel/extensions/sqlite_json_ops.rb +255 -0
- data/lib/sequel/extensions/string_agg.rb +11 -8
- data/lib/sequel/extensions/string_date_time.rb +19 -23
- data/lib/sequel/extensions/symbol_aref.rb +55 -0
- data/lib/sequel/extensions/symbol_aref_refinement.rb +43 -0
- data/lib/sequel/extensions/symbol_as.rb +23 -0
- data/lib/sequel/extensions/symbol_as_refinement.rb +37 -0
- data/lib/sequel/extensions/synchronize_sql.rb +45 -0
- data/lib/sequel/extensions/to_dot.rb +10 -4
- data/lib/sequel/extensions/virtual_row_method_block.rb +44 -0
- data/lib/sequel/model/associations.rb +1006 -284
- data/lib/sequel/model/base.rb +560 -805
- data/lib/sequel/model/dataset_module.rb +11 -10
- data/lib/sequel/model/default_inflections.rb +1 -1
- data/lib/sequel/model/errors.rb +10 -3
- data/lib/sequel/model/exceptions.rb +8 -10
- data/lib/sequel/model/inflections.rb +7 -20
- data/lib/sequel/model/plugins.rb +114 -0
- data/lib/sequel/model.rb +32 -82
- data/lib/sequel/plugins/active_model.rb +30 -14
- data/lib/sequel/plugins/after_initialize.rb +1 -1
- data/lib/sequel/plugins/association_dependencies.rb +25 -18
- 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 +147 -70
- data/lib/sequel/plugins/association_proxies.rb +33 -9
- data/lib/sequel/plugins/async_thread_pool.rb +39 -0
- data/lib/sequel/plugins/auto_restrict_eager_graph.rb +62 -0
- data/lib/sequel/plugins/auto_validations.rb +95 -28
- data/lib/sequel/plugins/auto_validations_constraint_validations_presence_message.rb +68 -0
- data/lib/sequel/plugins/before_after_save.rb +0 -42
- data/lib/sequel/plugins/blacklist_security.rb +21 -12
- data/lib/sequel/plugins/boolean_readers.rb +5 -5
- data/lib/sequel/plugins/boolean_subsets.rb +13 -8
- data/lib/sequel/plugins/caching.rb +25 -16
- data/lib/sequel/plugins/class_table_inheritance.rb +179 -100
- data/lib/sequel/plugins/column_conflicts.rb +16 -3
- data/lib/sequel/plugins/column_encryption.rb +728 -0
- data/lib/sequel/plugins/column_select.rb +7 -5
- data/lib/sequel/plugins/columns_updated.rb +42 -0
- data/lib/sequel/plugins/composition.rb +42 -26
- data/lib/sequel/plugins/concurrent_eager_loading.rb +174 -0
- data/lib/sequel/plugins/constraint_validations.rb +20 -14
- data/lib/sequel/plugins/csv_serializer.rb +56 -35
- data/lib/sequel/plugins/dataset_associations.rb +40 -17
- data/lib/sequel/plugins/def_dataset_method.rb +90 -0
- data/lib/sequel/plugins/defaults_setter.rb +65 -10
- data/lib/sequel/plugins/delay_add_association.rb +1 -1
- data/lib/sequel/plugins/dirty.rb +62 -24
- data/lib/sequel/plugins/eager_each.rb +3 -3
- data/lib/sequel/plugins/eager_graph_eager.rb +139 -0
- data/lib/sequel/plugins/empty_failure_backtraces.rb +38 -0
- data/lib/sequel/plugins/enum.rb +124 -0
- data/lib/sequel/plugins/error_splitter.rb +17 -12
- data/lib/sequel/plugins/finder.rb +246 -0
- data/lib/sequel/plugins/forbid_lazy_load.rb +216 -0
- data/lib/sequel/plugins/force_encoding.rb +7 -12
- data/lib/sequel/plugins/hook_class_methods.rb +37 -54
- data/lib/sequel/plugins/input_transformer.rb +18 -10
- data/lib/sequel/plugins/insert_conflict.rb +76 -0
- data/lib/sequel/plugins/insert_returning_select.rb +2 -2
- data/lib/sequel/plugins/instance_filters.rb +10 -8
- data/lib/sequel/plugins/instance_hooks.rb +34 -17
- data/lib/sequel/plugins/instance_specific_default.rb +113 -0
- data/lib/sequel/plugins/inverted_subsets.rb +22 -13
- data/lib/sequel/plugins/json_serializer.rb +124 -64
- data/lib/sequel/plugins/lazy_attributes.rb +21 -14
- data/lib/sequel/plugins/list.rb +35 -21
- data/lib/sequel/plugins/many_through_many.rb +134 -21
- data/lib/sequel/plugins/modification_detection.rb +15 -5
- data/lib/sequel/plugins/mssql_optimistic_locking.rb +6 -5
- data/lib/sequel/plugins/nested_attributes.rb +61 -31
- data/lib/sequel/plugins/optimistic_locking.rb +3 -3
- data/lib/sequel/plugins/pg_array_associations.rb +103 -53
- data/lib/sequel/plugins/pg_auto_constraint_validations.rb +350 -0
- data/lib/sequel/plugins/pg_row.rb +5 -51
- data/lib/sequel/plugins/prepared_statements.rb +60 -72
- data/lib/sequel/plugins/prepared_statements_safe.rb +9 -4
- data/lib/sequel/plugins/rcte_tree.rb +68 -82
- data/lib/sequel/plugins/require_valid_schema.rb +67 -0
- data/lib/sequel/plugins/serialization.rb +43 -46
- data/lib/sequel/plugins/serialization_modification_detection.rb +3 -2
- data/lib/sequel/plugins/sharding.rb +15 -10
- data/lib/sequel/plugins/single_table_inheritance.rb +67 -28
- data/lib/sequel/plugins/skip_create_refresh.rb +3 -3
- data/lib/sequel/plugins/skip_saving_columns.rb +108 -0
- data/lib/sequel/plugins/split_values.rb +11 -6
- data/lib/sequel/plugins/sql_comments.rb +189 -0
- data/lib/sequel/plugins/static_cache.rb +77 -53
- data/lib/sequel/plugins/static_cache_cache.rb +53 -0
- data/lib/sequel/plugins/string_stripper.rb +3 -3
- data/lib/sequel/plugins/subclasses.rb +43 -10
- data/lib/sequel/plugins/subset_conditions.rb +15 -5
- data/lib/sequel/plugins/table_select.rb +2 -2
- data/lib/sequel/plugins/tactical_eager_loading.rb +96 -12
- data/lib/sequel/plugins/throw_failures.rb +110 -0
- data/lib/sequel/plugins/timestamps.rb +20 -8
- data/lib/sequel/plugins/touch.rb +19 -8
- data/lib/sequel/plugins/tree.rb +62 -32
- data/lib/sequel/plugins/typecast_on_load.rb +12 -4
- data/lib/sequel/plugins/unlimited_update.rb +1 -7
- data/lib/sequel/plugins/unused_associations.rb +521 -0
- data/lib/sequel/plugins/update_or_create.rb +4 -4
- data/lib/sequel/plugins/update_primary_key.rb +1 -1
- data/lib/sequel/plugins/update_refresh.rb +26 -15
- data/lib/sequel/plugins/uuid.rb +7 -11
- data/lib/sequel/plugins/validate_associated.rb +18 -0
- data/lib/sequel/plugins/validation_class_methods.rb +38 -19
- data/lib/sequel/plugins/validation_contexts.rb +49 -0
- data/lib/sequel/plugins/validation_helpers.rb +57 -41
- data/lib/sequel/plugins/whitelist_security.rb +122 -0
- data/lib/sequel/plugins/xml_serializer.rb +30 -31
- data/lib/sequel/sql.rb +471 -331
- data/lib/sequel/timezones.rb +78 -47
- data/lib/sequel/version.rb +7 -2
- data/lib/sequel.rb +1 -1
- metadata +217 -521
- data/Rakefile +0 -164
- data/doc/active_record.rdoc +0 -928
- data/doc/release_notes/1.0.txt +0 -38
- data/doc/release_notes/1.1.txt +0 -143
- data/doc/release_notes/1.3.txt +0 -101
- data/doc/release_notes/1.4.0.txt +0 -53
- data/doc/release_notes/1.5.0.txt +0 -155
- data/doc/release_notes/2.0.0.txt +0 -298
- data/doc/release_notes/2.1.0.txt +0 -271
- data/doc/release_notes/2.10.0.txt +0 -328
- data/doc/release_notes/2.11.0.txt +0 -215
- data/doc/release_notes/2.12.0.txt +0 -534
- data/doc/release_notes/2.2.0.txt +0 -253
- data/doc/release_notes/2.3.0.txt +0 -88
- data/doc/release_notes/2.4.0.txt +0 -106
- data/doc/release_notes/2.5.0.txt +0 -137
- data/doc/release_notes/2.6.0.txt +0 -157
- data/doc/release_notes/2.7.0.txt +0 -166
- data/doc/release_notes/2.8.0.txt +0 -171
- data/doc/release_notes/2.9.0.txt +0 -97
- data/doc/release_notes/3.0.0.txt +0 -221
- data/doc/release_notes/3.1.0.txt +0 -406
- data/doc/release_notes/3.10.0.txt +0 -286
- data/doc/release_notes/3.11.0.txt +0 -254
- data/doc/release_notes/3.12.0.txt +0 -304
- data/doc/release_notes/3.13.0.txt +0 -210
- data/doc/release_notes/3.14.0.txt +0 -118
- data/doc/release_notes/3.15.0.txt +0 -78
- data/doc/release_notes/3.16.0.txt +0 -45
- data/doc/release_notes/3.17.0.txt +0 -58
- data/doc/release_notes/3.18.0.txt +0 -120
- data/doc/release_notes/3.19.0.txt +0 -67
- data/doc/release_notes/3.2.0.txt +0 -268
- data/doc/release_notes/3.20.0.txt +0 -41
- data/doc/release_notes/3.21.0.txt +0 -87
- data/doc/release_notes/3.22.0.txt +0 -39
- data/doc/release_notes/3.23.0.txt +0 -172
- data/doc/release_notes/3.24.0.txt +0 -420
- data/doc/release_notes/3.25.0.txt +0 -88
- data/doc/release_notes/3.26.0.txt +0 -88
- data/doc/release_notes/3.27.0.txt +0 -82
- data/doc/release_notes/3.28.0.txt +0 -304
- data/doc/release_notes/3.29.0.txt +0 -459
- data/doc/release_notes/3.3.0.txt +0 -192
- data/doc/release_notes/3.30.0.txt +0 -135
- data/doc/release_notes/3.31.0.txt +0 -146
- data/doc/release_notes/3.32.0.txt +0 -202
- data/doc/release_notes/3.33.0.txt +0 -157
- data/doc/release_notes/3.34.0.txt +0 -671
- data/doc/release_notes/3.35.0.txt +0 -144
- data/doc/release_notes/3.36.0.txt +0 -245
- data/doc/release_notes/3.37.0.txt +0 -338
- data/doc/release_notes/3.38.0.txt +0 -234
- data/doc/release_notes/3.39.0.txt +0 -237
- data/doc/release_notes/3.4.0.txt +0 -325
- data/doc/release_notes/3.40.0.txt +0 -73
- data/doc/release_notes/3.41.0.txt +0 -155
- data/doc/release_notes/3.42.0.txt +0 -74
- data/doc/release_notes/3.43.0.txt +0 -105
- data/doc/release_notes/3.44.0.txt +0 -152
- data/doc/release_notes/3.45.0.txt +0 -179
- data/doc/release_notes/3.46.0.txt +0 -122
- data/doc/release_notes/3.47.0.txt +0 -270
- data/doc/release_notes/3.48.0.txt +0 -477
- data/doc/release_notes/3.5.0.txt +0 -510
- data/doc/release_notes/3.6.0.txt +0 -366
- data/doc/release_notes/3.7.0.txt +0 -179
- data/doc/release_notes/3.8.0.txt +0 -151
- data/doc/release_notes/3.9.0.txt +0 -233
- 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.4.0.txt +0 -92
- 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/lib/sequel/adapters/cubrid.rb +0 -144
- data/lib/sequel/adapters/do/mysql.rb +0 -66
- data/lib/sequel/adapters/do/postgres.rb +0 -44
- data/lib/sequel/adapters/do/sqlite3.rb +0 -42
- data/lib/sequel/adapters/do.rb +0 -158
- data/lib/sequel/adapters/jdbc/as400.rb +0 -84
- data/lib/sequel/adapters/jdbc/cubrid.rb +0 -64
- data/lib/sequel/adapters/jdbc/firebirdsql.rb +0 -36
- data/lib/sequel/adapters/jdbc/informix-sqli.rb +0 -33
- data/lib/sequel/adapters/jdbc/jdbcprogress.rb +0 -33
- data/lib/sequel/adapters/odbc/progress.rb +0 -10
- data/lib/sequel/adapters/shared/cubrid.rb +0 -245
- data/lib/sequel/adapters/shared/firebird.rb +0 -247
- data/lib/sequel/adapters/shared/informix.rb +0 -54
- data/lib/sequel/adapters/shared/mysql_prepared_statements.rb +0 -152
- data/lib/sequel/adapters/shared/progress.rb +0 -40
- data/lib/sequel/adapters/swift/mysql.rb +0 -49
- data/lib/sequel/adapters/swift/postgres.rb +0 -47
- data/lib/sequel/adapters/swift/sqlite.rb +0 -49
- data/lib/sequel/adapters/swift.rb +0 -160
- data/lib/sequel/adapters/utils/pg_types.rb +0 -70
- data/lib/sequel/dataset/mutation.rb +0 -111
- data/lib/sequel/extensions/empty_array_ignore_nulls.rb +0 -5
- data/lib/sequel/extensions/filter_having.rb +0 -63
- data/lib/sequel/extensions/hash_aliases.rb +0 -49
- data/lib/sequel/extensions/meta_def.rb +0 -35
- data/lib/sequel/extensions/query_literals.rb +0 -84
- data/lib/sequel/extensions/ruby18_symbol_extensions.rb +0 -24
- data/lib/sequel/extensions/sequel_3_dataset_methods.rb +0 -122
- data/lib/sequel/extensions/set_overrides.rb +0 -76
- data/lib/sequel/no_core_ext.rb +0 -3
- data/lib/sequel/plugins/association_autoreloading.rb +0 -9
- data/lib/sequel/plugins/identifier_columns.rb +0 -47
- data/lib/sequel/plugins/many_to_one_pk_lookup.rb +0 -9
- data/lib/sequel/plugins/pg_typecast_on_load.rb +0 -81
- data/lib/sequel/plugins/prepared_statements_associations.rb +0 -119
- data/lib/sequel/plugins/prepared_statements_with_pk.rb +0 -61
- data/lib/sequel/plugins/schema.rb +0 -82
- data/lib/sequel/plugins/scissors.rb +0 -35
- data/spec/adapter_spec.rb +0 -4
- data/spec/adapters/db2_spec.rb +0 -160
- data/spec/adapters/firebird_spec.rb +0 -411
- data/spec/adapters/informix_spec.rb +0 -100
- data/spec/adapters/mssql_spec.rb +0 -733
- data/spec/adapters/mysql_spec.rb +0 -1319
- data/spec/adapters/oracle_spec.rb +0 -313
- data/spec/adapters/postgres_spec.rb +0 -3790
- data/spec/adapters/spec_helper.rb +0 -49
- data/spec/adapters/sqlanywhere_spec.rb +0 -170
- data/spec/adapters/sqlite_spec.rb +0 -688
- data/spec/bin_spec.rb +0 -258
- data/spec/core/connection_pool_spec.rb +0 -1045
- data/spec/core/database_spec.rb +0 -2636
- data/spec/core/dataset_spec.rb +0 -5175
- data/spec/core/deprecated_spec.rb +0 -70
- data/spec/core/expression_filters_spec.rb +0 -1247
- data/spec/core/mock_adapter_spec.rb +0 -464
- data/spec/core/object_graph_spec.rb +0 -303
- data/spec/core/placeholder_literalizer_spec.rb +0 -163
- data/spec/core/schema_generator_spec.rb +0 -203
- data/spec/core/schema_spec.rb +0 -1676
- data/spec/core/spec_helper.rb +0 -34
- data/spec/core/version_spec.rb +0 -7
- data/spec/core_extensions_spec.rb +0 -699
- data/spec/core_model_spec.rb +0 -2
- data/spec/core_spec.rb +0 -1
- data/spec/extensions/accessed_columns_spec.rb +0 -51
- data/spec/extensions/active_model_spec.rb +0 -85
- data/spec/extensions/after_initialize_spec.rb +0 -24
- data/spec/extensions/arbitrary_servers_spec.rb +0 -109
- data/spec/extensions/association_dependencies_spec.rb +0 -117
- data/spec/extensions/association_pks_spec.rb +0 -405
- data/spec/extensions/association_proxies_spec.rb +0 -86
- data/spec/extensions/auto_validations_spec.rb +0 -192
- data/spec/extensions/before_after_save_spec.rb +0 -40
- data/spec/extensions/blacklist_security_spec.rb +0 -88
- 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 -270
- data/spec/extensions/class_table_inheritance_spec.rb +0 -444
- data/spec/extensions/column_conflicts_spec.rb +0 -60
- data/spec/extensions/column_select_spec.rb +0 -108
- data/spec/extensions/columns_introspection_spec.rb +0 -91
- data/spec/extensions/composition_spec.rb +0 -242
- data/spec/extensions/connection_expiration_spec.rb +0 -121
- data/spec/extensions/connection_validator_spec.rb +0 -127
- data/spec/extensions/constraint_validations_plugin_spec.rb +0 -288
- data/spec/extensions/constraint_validations_spec.rb +0 -389
- data/spec/extensions/core_refinements_spec.rb +0 -519
- data/spec/extensions/csv_serializer_spec.rb +0 -180
- data/spec/extensions/current_datetime_timestamp_spec.rb +0 -27
- data/spec/extensions/dataset_associations_spec.rb +0 -343
- data/spec/extensions/dataset_source_alias_spec.rb +0 -51
- data/spec/extensions/date_arithmetic_spec.rb +0 -167
- data/spec/extensions/defaults_setter_spec.rb +0 -102
- data/spec/extensions/delay_add_association_spec.rb +0 -74
- data/spec/extensions/dirty_spec.rb +0 -180
- data/spec/extensions/duplicate_columns_handler_spec.rb +0 -110
- data/spec/extensions/eager_each_spec.rb +0 -66
- 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/eval_inspect_spec.rb +0 -73
- data/spec/extensions/filter_having_spec.rb +0 -40
- data/spec/extensions/force_encoding_spec.rb +0 -114
- data/spec/extensions/from_block_spec.rb +0 -21
- data/spec/extensions/graph_each_spec.rb +0 -119
- data/spec/extensions/hash_aliases_spec.rb +0 -24
- data/spec/extensions/hook_class_methods_spec.rb +0 -429
- data/spec/extensions/identifier_columns_spec.rb +0 -17
- data/spec/extensions/inflector_spec.rb +0 -183
- data/spec/extensions/input_transformer_spec.rb +0 -54
- data/spec/extensions/insert_returning_select_spec.rb +0 -46
- data/spec/extensions/instance_filters_spec.rb +0 -79
- data/spec/extensions/instance_hooks_spec.rb +0 -276
- data/spec/extensions/inverted_subsets_spec.rb +0 -33
- data/spec/extensions/json_serializer_spec.rb +0 -304
- data/spec/extensions/lazy_attributes_spec.rb +0 -170
- data/spec/extensions/list_spec.rb +0 -278
- data/spec/extensions/looser_typecasting_spec.rb +0 -43
- data/spec/extensions/many_through_many_spec.rb +0 -2172
- data/spec/extensions/meta_def_spec.rb +0 -21
- data/spec/extensions/migration_spec.rb +0 -728
- data/spec/extensions/modification_detection_spec.rb +0 -80
- data/spec/extensions/mssql_optimistic_locking_spec.rb +0 -91
- data/spec/extensions/named_timezones_spec.rb +0 -108
- data/spec/extensions/nested_attributes_spec.rb +0 -697
- data/spec/extensions/no_auto_literal_strings_spec.rb +0 -65
- data/spec/extensions/null_dataset_spec.rb +0 -85
- data/spec/extensions/optimistic_locking_spec.rb +0 -128
- data/spec/extensions/pagination_spec.rb +0 -118
- data/spec/extensions/pg_array_associations_spec.rb +0 -736
- data/spec/extensions/pg_array_ops_spec.rb +0 -143
- data/spec/extensions/pg_array_spec.rb +0 -390
- data/spec/extensions/pg_enum_spec.rb +0 -92
- data/spec/extensions/pg_hstore_ops_spec.rb +0 -236
- data/spec/extensions/pg_hstore_spec.rb +0 -206
- data/spec/extensions/pg_inet_ops_spec.rb +0 -101
- data/spec/extensions/pg_inet_spec.rb +0 -52
- data/spec/extensions/pg_interval_spec.rb +0 -76
- data/spec/extensions/pg_json_ops_spec.rb +0 -275
- data/spec/extensions/pg_json_spec.rb +0 -218
- data/spec/extensions/pg_loose_count_spec.rb +0 -17
- data/spec/extensions/pg_range_ops_spec.rb +0 -58
- data/spec/extensions/pg_range_spec.rb +0 -473
- data/spec/extensions/pg_row_ops_spec.rb +0 -60
- data/spec/extensions/pg_row_plugin_spec.rb +0 -62
- data/spec/extensions/pg_row_spec.rb +0 -360
- data/spec/extensions/pg_static_cache_updater_spec.rb +0 -92
- data/spec/extensions/pg_typecast_on_load_spec.rb +0 -63
- data/spec/extensions/prepared_statements_associations_spec.rb +0 -159
- data/spec/extensions/prepared_statements_safe_spec.rb +0 -61
- data/spec/extensions/prepared_statements_spec.rb +0 -103
- data/spec/extensions/prepared_statements_with_pk_spec.rb +0 -31
- data/spec/extensions/pretty_table_spec.rb +0 -92
- data/spec/extensions/query_literals_spec.rb +0 -183
- data/spec/extensions/query_spec.rb +0 -102
- data/spec/extensions/rcte_tree_spec.rb +0 -392
- data/spec/extensions/round_timestamps_spec.rb +0 -43
- data/spec/extensions/schema_caching_spec.rb +0 -41
- data/spec/extensions/schema_dumper_spec.rb +0 -814
- data/spec/extensions/schema_spec.rb +0 -117
- data/spec/extensions/scissors_spec.rb +0 -26
- data/spec/extensions/select_remove_spec.rb +0 -38
- data/spec/extensions/sequel_3_dataset_methods_spec.rb +0 -101
- data/spec/extensions/serialization_modification_detection_spec.rb +0 -98
- data/spec/extensions/serialization_spec.rb +0 -362
- data/spec/extensions/server_block_spec.rb +0 -90
- data/spec/extensions/server_logging_spec.rb +0 -45
- data/spec/extensions/set_overrides_spec.rb +0 -61
- data/spec/extensions/sharding_spec.rb +0 -198
- data/spec/extensions/shared_caching_spec.rb +0 -175
- data/spec/extensions/single_table_inheritance_spec.rb +0 -297
- data/spec/extensions/singular_table_names_spec.rb +0 -22
- data/spec/extensions/skip_create_refresh_spec.rb +0 -17
- data/spec/extensions/spec_helper.rb +0 -71
- data/spec/extensions/split_array_nil_spec.rb +0 -24
- data/spec/extensions/split_values_spec.rb +0 -22
- data/spec/extensions/sql_comments_spec.rb +0 -27
- data/spec/extensions/sql_expr_spec.rb +0 -60
- data/spec/extensions/static_cache_spec.rb +0 -361
- data/spec/extensions/string_agg_spec.rb +0 -85
- 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 -66
- data/spec/extensions/subset_conditions_spec.rb +0 -38
- data/spec/extensions/table_select_spec.rb +0 -71
- data/spec/extensions/tactical_eager_loading_spec.rb +0 -136
- data/spec/extensions/thread_local_timezones_spec.rb +0 -67
- data/spec/extensions/timestamps_spec.rb +0 -175
- data/spec/extensions/to_dot_spec.rb +0 -154
- data/spec/extensions/touch_spec.rb +0 -203
- data/spec/extensions/tree_spec.rb +0 -274
- data/spec/extensions/typecast_on_load_spec.rb +0 -80
- data/spec/extensions/unlimited_update_spec.rb +0 -20
- data/spec/extensions/update_or_create_spec.rb +0 -87
- data/spec/extensions/update_primary_key_spec.rb +0 -100
- data/spec/extensions/update_refresh_spec.rb +0 -53
- data/spec/extensions/uuid_spec.rb +0 -106
- data/spec/extensions/validate_associated_spec.rb +0 -52
- data/spec/extensions/validation_class_methods_spec.rb +0 -1027
- data/spec/extensions/validation_helpers_spec.rb +0 -554
- data/spec/extensions/xml_serializer_spec.rb +0 -207
- 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 -55
- data/spec/integration/associations_test.rb +0 -2506
- data/spec/integration/database_test.rb +0 -113
- data/spec/integration/dataset_test.rb +0 -1858
- data/spec/integration/eager_loader_test.rb +0 -687
- data/spec/integration/migrator_test.rb +0 -262
- data/spec/integration/model_test.rb +0 -230
- data/spec/integration/plugin_test.rb +0 -2297
- data/spec/integration/prepared_statement_test.rb +0 -467
- data/spec/integration/schema_test.rb +0 -815
- data/spec/integration/spec_helper.rb +0 -56
- data/spec/integration/timezone_test.rb +0 -86
- data/spec/integration/transaction_test.rb +0 -406
- data/spec/integration/type_test.rb +0 -133
- data/spec/model/association_reflection_spec.rb +0 -565
- data/spec/model/associations_spec.rb +0 -4589
- data/spec/model/base_spec.rb +0 -759
- data/spec/model/class_dataset_methods_spec.rb +0 -150
- data/spec/model/dataset_methods_spec.rb +0 -149
- data/spec/model/eager_loading_spec.rb +0 -2197
- data/spec/model/hooks_spec.rb +0 -604
- data/spec/model/inflector_spec.rb +0 -26
- data/spec/model/model_spec.rb +0 -1097
- data/spec/model/plugins_spec.rb +0 -299
- data/spec/model/record_spec.rb +0 -2162
- data/spec/model/spec_helper.rb +0 -46
- data/spec/model/validations_spec.rb +0 -193
- 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/spec_config.rb +0 -10
@@ -1,534 +0,0 @@
|
|
1
|
-
Overview
|
2
|
-
--------
|
3
|
-
|
4
|
-
Sequel 2.12 is really just a stepping stone to Sequel 3.0, which will
|
5
|
-
be released next month. All major changes currently planned for 3.0
|
6
|
-
have been made in 2.12, but 2.12 contains many features that have
|
7
|
-
been deprecated and will be removed or moved into extensions or
|
8
|
-
plugins in 3.0.
|
9
|
-
|
10
|
-
Deprecation Logging
|
11
|
-
-------------------
|
12
|
-
|
13
|
-
If you use a deprecated method or feature, Sequel will by default
|
14
|
-
print a deprecation message and 10 lines of backtrace to standard
|
15
|
-
error to easily allow you to figure out which code needs to be
|
16
|
-
updated. You can change where the deprecation messages go and how
|
17
|
-
many lines of backtrace are given using the following:
|
18
|
-
|
19
|
-
# Log deprecation information to a file
|
20
|
-
Sequel::Deprecation.output = File.open('deprecated.txt', 'wb')
|
21
|
-
|
22
|
-
# Use 5 lines of backtrace when logging deprecation messages
|
23
|
-
Sequel::Deprecation.backtraces = 5
|
24
|
-
|
25
|
-
# Use all backtrace lines when logging deprecation messages
|
26
|
-
Sequel::Deprecation.backtraces = true
|
27
|
-
|
28
|
-
# Don't include backtraces in the deprecation logging
|
29
|
-
Sequel.Deprecation.backtraces = false
|
30
|
-
|
31
|
-
# Turn off all deprecation logging
|
32
|
-
Sequel::Deprecation.output = nil
|
33
|
-
|
34
|
-
Deprecated Features Moving to Extensions
|
35
|
-
----------------------------------------
|
36
|
-
|
37
|
-
* Migrations are being moved into sequel/extensions/migration. There
|
38
|
-
isn't any reason that they should be loaded in normal use since
|
39
|
-
they are used so rarely. The sequel command line tool uses this
|
40
|
-
extension to run the migrations.
|
41
|
-
|
42
|
-
* Adding the blank? method to all objects has been moved into
|
43
|
-
sequel/extensions/blank.
|
44
|
-
|
45
|
-
* Dataset#print and Sequel::PrettyTable have been moved into
|
46
|
-
sequel/extensions/pretty_table.
|
47
|
-
|
48
|
-
* Dataset#query and related methods have been moved into
|
49
|
-
sequel/extensions/query.
|
50
|
-
|
51
|
-
* Dataset#paginate and related methods have been moved into
|
52
|
-
sequel/extensions/pagination.
|
53
|
-
|
54
|
-
* String inflection methods (e.g. "people".singularize) have been
|
55
|
-
moved into sequel/extensions/inflector.
|
56
|
-
|
57
|
-
* String date/time conversion methods (e.g. '2000-01-01'.to_date)
|
58
|
-
have been moved into sequel/extensions/string_date_time.
|
59
|
-
|
60
|
-
Deprecated Model Features Moving to Plugins
|
61
|
-
-------------------------------------------
|
62
|
-
|
63
|
-
* Model validation class methods have been moved to a plugin. Sequel
|
64
|
-
users are encouraged to write their own validate instance method
|
65
|
-
instead. A new validation_helpers plugin has been added to make
|
66
|
-
this easier, it's explained in the New Features section. If you
|
67
|
-
want to continue using the validation class methods:
|
68
|
-
|
69
|
-
Sequel::Model.plugin :validation_class_methods
|
70
|
-
|
71
|
-
* Model hook class methods have been moved to a plugin. Sequel users
|
72
|
-
are encouraged to write their own hook instance methods, and call
|
73
|
-
super to get hooks specified in superclasses or plugins. If you
|
74
|
-
want to continue using the hook class methods:
|
75
|
-
|
76
|
-
Sequel::Model.plugin :hook_class_methods
|
77
|
-
|
78
|
-
* Model schema methods (e.g. Model.set_schema, Model.create_table,
|
79
|
-
Model.drop_table) have been moved to a plugin. The use of these
|
80
|
-
methods has been discouraged for a long time. If you want to use
|
81
|
-
them:
|
82
|
-
|
83
|
-
Sequel::Model.plugin :schema
|
84
|
-
|
85
|
-
* Model.set_sti_key has been moved to a plugin. So you should
|
86
|
-
change:
|
87
|
-
|
88
|
-
MyModel.set_sti_key :key_column
|
89
|
-
|
90
|
-
to:
|
91
|
-
|
92
|
-
MyModel.plugin :single_table_inheritance, :key_column
|
93
|
-
|
94
|
-
* Model.set_cache has been moved to a plugin. So you should change:
|
95
|
-
|
96
|
-
MyModel.set_cache cache_store, opts
|
97
|
-
|
98
|
-
to:
|
99
|
-
|
100
|
-
MyModel.plugin :caching, cache_store, opts
|
101
|
-
|
102
|
-
* Model.serialize has been moved to a plugin. So you should change:
|
103
|
-
|
104
|
-
MyModel.serialize :column, :format=>:yaml
|
105
|
-
|
106
|
-
to:
|
107
|
-
|
108
|
-
MyModel.plugin :serialization, :yaml, :column
|
109
|
-
|
110
|
-
Because the previous serialization support depended on dataset
|
111
|
-
transforms, the new serialization support is implemented
|
112
|
-
differently, and behavior may not be identical in all cases.
|
113
|
-
However, this should be a drop in replacement for most users.
|
114
|
-
|
115
|
-
Deprecated Features To Be Removed in Sequel 3.0
|
116
|
-
-----------------------------------------------
|
117
|
-
|
118
|
-
* Dataset#transform is deprecated without any replacement planned.
|
119
|
-
It was announced on the Sequel mailing list that transforms would
|
120
|
-
be removed unless someone said they needed them, and nobody said
|
121
|
-
that they did.
|
122
|
-
|
123
|
-
* Dataset#multi_insert and Dataset#import are no longer aliases
|
124
|
-
of each other. Dataset#multi_insert now takes an array of hashes,
|
125
|
-
and Dataset#import now takes an array of columns and an array
|
126
|
-
of arrays of values. Using multi_insert with import's API or
|
127
|
-
vice-versa is deprecated.
|
128
|
-
|
129
|
-
* Calling Dataset#[] with no arguments or an integer argument is
|
130
|
-
deprecated.
|
131
|
-
|
132
|
-
* Calling Dataset#map with both an argument and a block is
|
133
|
-
deprecated.
|
134
|
-
|
135
|
-
* Database#multi_threaded? and Database#logger are both deprecated.
|
136
|
-
|
137
|
-
* Calling Database#transaction with a symbol to specify which server
|
138
|
-
to use is deprecated. You should now call it with an option hash
|
139
|
-
with a :server key.
|
140
|
-
|
141
|
-
* Array#extract_options! and Object#is_one_of? are both deprecated.
|
142
|
-
|
143
|
-
* The metaprogramming methods taken from metaid are deprecated and
|
144
|
-
have been moved into Sequel::Metaprogramming. If you want them
|
145
|
-
available to specific objects/classes, just include or extend with
|
146
|
-
Sequel::Metaprogramming. If you want all objects to have access to
|
147
|
-
the metaprogramming methods, install metaid. Note that the
|
148
|
-
class_def method from metaid doesn't exist in
|
149
|
-
Sequel::Metaprogramming, since it really isn't different from
|
150
|
-
define_method (except it is public instead of private).
|
151
|
-
|
152
|
-
* Module#class_attr_overridable, #class_attr_reader, and
|
153
|
-
#metaalias are deprecated.
|
154
|
-
|
155
|
-
* Using Model#set or #update when the columns for the model are not
|
156
|
-
set and you provide a hash with symbol keys is deprecated.
|
157
|
-
Basically, you must have setter methods now for any columns used in
|
158
|
-
#set or #update.
|
159
|
-
|
160
|
-
* Model#set_with_params and #update_with_params are deprecated, use
|
161
|
-
#set and #update instead.
|
162
|
-
|
163
|
-
* Model#save! is deprecated, use #save(:validate=>false).
|
164
|
-
|
165
|
-
* Model.is and Model.is_a are deprecated, use Model.plugin.
|
166
|
-
|
167
|
-
* Model.str_columns, Model#str_columns, #set_values, and
|
168
|
-
#update_values are deprecated. You should use #set and
|
169
|
-
#update instead of #set_values and #update_values, though they
|
170
|
-
operate differently.
|
171
|
-
|
172
|
-
* Model.delete_all, Model.destroy_all, Model.size, and Model.uniq
|
173
|
-
are deprecated, use .delete, .destroy, .count, and .distinct.
|
174
|
-
|
175
|
-
* Model.belongs_to, Model.has_many, and Model.has_and_belongs_to_many
|
176
|
-
are deprecated, use .many_to_one, .one_to_many, and .many_to_many.
|
177
|
-
|
178
|
-
* Model#dataset is deprecated, use Model.dataset.
|
179
|
-
|
180
|
-
* SQL::CastMethods#cast_as is deprecated, use #cast.
|
181
|
-
|
182
|
-
* Calling Database#schema without a table argument is deprecated.
|
183
|
-
|
184
|
-
* Dataset#uniq is deprecated, use Dataset#distinct.
|
185
|
-
|
186
|
-
* Dataset#symbol_to_column_ref is deprecated, use #literal.
|
187
|
-
|
188
|
-
* Dataset#quote_column_ref is deprecated, use #quote_identifier.
|
189
|
-
|
190
|
-
* Dataset#size is deprecated, use #count.
|
191
|
-
|
192
|
-
* Passing options to Dataset#each, #all, #single_record,
|
193
|
-
#single_value, #sql, #select_sql, #update, #update_sql, #delete,
|
194
|
-
#delete_sql, and #exists is deprecated. Modify the options first
|
195
|
-
using clone or a related method, then call one of the above
|
196
|
-
methods.
|
197
|
-
|
198
|
-
* Dataset#create_view and #create_or_replace_view are deprecated,
|
199
|
-
use the database methods instead.
|
200
|
-
|
201
|
-
* Dataset.dataset_classes, #model_classes, #polymorphic_key, and
|
202
|
-
#set_model are deprecated.
|
203
|
-
|
204
|
-
* Database#>> is deprecated.
|
205
|
-
|
206
|
-
* String#to_blob and SQL::Blob#to_blob are deprecated, use
|
207
|
-
#to_sequel_blob.
|
208
|
-
|
209
|
-
* The use of Symbol#| to create array subscripts is deprecated,
|
210
|
-
use Symbol#sql_subscript.
|
211
|
-
|
212
|
-
* Symbol#to_column_ref is deprecated, use Dataset#literal.
|
213
|
-
|
214
|
-
* String#expr is deprecated, use String#lit.
|
215
|
-
|
216
|
-
* Array#to_sql, String#to_sql, and String#split_sql are deprecated.
|
217
|
-
|
218
|
-
* Passing an array to Database#<< is deprecated.
|
219
|
-
|
220
|
-
* Range#interval is deprecated.
|
221
|
-
|
222
|
-
* Enumerable#send_each is deprecated.
|
223
|
-
|
224
|
-
* When using ruby 1.8, Hash#key is deprecated.
|
225
|
-
|
226
|
-
* Sequel.open is deprecated, use Sequel.connect.
|
227
|
-
|
228
|
-
* Sequel.use_parse_tree and Sequel.use_parse_tree= are deprecated.
|
229
|
-
|
230
|
-
* All upcase_identifier methods and the :upcase_identifiers database
|
231
|
-
option are deprecated, use identifier_input_method = :upcase
|
232
|
-
instead.
|
233
|
-
|
234
|
-
* Using a virtual row block without an argument is deprecated, see
|
235
|
-
Sequel.virtual_row_instance_eval= under New Features.
|
236
|
-
|
237
|
-
* When using the JDBC adapter, Java::JavaSQL::Timestamp#usec is
|
238
|
-
deprecated. Sequel has returned Java::JavaSQL::Timestamp as
|
239
|
-
DateTime or Time for a few versions, so this shouldn't affect most
|
240
|
-
people.
|
241
|
-
|
242
|
-
* Sequel will no longer require bigdecimal/util, enumerator, or yaml
|
243
|
-
in 3.0. If you need them in your code, make sure you require
|
244
|
-
them yourself. Using features added by requiring these standard
|
245
|
-
libaries will not bring up a deprecation warning, for obvious
|
246
|
-
reasons.
|
247
|
-
|
248
|
-
* Sequel::Error::InvalidTransform, Sequel::Error::NoExistingFilter,
|
249
|
-
and Sequel::Error::InvalidStatement exceptions will be removed in
|
250
|
-
Sequel 3.0. You will not get a deprecation message if you reference
|
251
|
-
them in 2.12.
|
252
|
-
|
253
|
-
* Sequel::Model::Validation::Errors is deprecated, use
|
254
|
-
Sequel::Model::Errors instead. Referencing the old name will not
|
255
|
-
bring up a deprecation message.
|
256
|
-
|
257
|
-
New Features
|
258
|
-
------------
|
259
|
-
|
260
|
-
* Sequel.virtual_row_instance_eval= was added, which lets you give
|
261
|
-
Sequel 2.12 the behavior that will be the standard in 3.0.
|
262
|
-
It changes blocks passed to Dataset#filter, #select, or #order that
|
263
|
-
don't accept arguments (or accept any number of arguments) to
|
264
|
-
instance eval the block in the context of a new VirtualRow
|
265
|
-
instance instead of passing a new VirtualRow instance to the block.
|
266
|
-
It allows you to change code that looks like this:
|
267
|
-
|
268
|
-
dataset.filter{|o| (o.number > 10) & (o.name > 'M')}
|
269
|
-
|
270
|
-
to:
|
271
|
-
|
272
|
-
dataset.filter{(number > 10) & (name > 'M')}
|
273
|
-
|
274
|
-
When instance_eval is used, only local variables are available
|
275
|
-
to the block. Any calls to instance methods will be interpreted
|
276
|
-
as calling VirtualRow#method_missing, which generates identifiers
|
277
|
-
or functions. When virtual_row_instance_eval is enabled, the
|
278
|
-
following type of code will break:
|
279
|
-
|
280
|
-
# amount is a instance method
|
281
|
-
dataset.filter{:number + amount > 0}
|
282
|
-
|
283
|
-
Just like this example, the only type of code that should break is
|
284
|
-
when a virtual row block was used when it wasn't necessary (since
|
285
|
-
it doesn't use the VirtualRow argument).
|
286
|
-
|
287
|
-
When Sequel.virtual_row_instance_eval = false, using a virtual row
|
288
|
-
block that doesn't accept an argument will cause a deprecation
|
289
|
-
message.
|
290
|
-
|
291
|
-
Here's a regular expression that should catch most places where you
|
292
|
-
are using a virtual row block without an argument.
|
293
|
-
|
294
|
-
egrep -nr '[^A-Za-z0-9_](filter|select|select_more|order|order_more|get|where|having|from|first|and|or|exclude|find|subset|constraint|check)( *(\([^)]*\) *)?){*[^|]' *
|
295
|
-
|
296
|
-
An RDoc page explaining virtual row blocks was added as well.
|
297
|
-
|
298
|
-
* A validation_helpers model plugin was added that allows you to do
|
299
|
-
validations similar to the old class level validations inside
|
300
|
-
the Model#validate instance method. The API has changed, but it's
|
301
|
-
capable of most of the same validations. It doesn't handle
|
302
|
-
acceptance_of or confirmation_of validations, as those shouldn't be
|
303
|
-
handled in the model.
|
304
|
-
|
305
|
-
# Old class level validations
|
306
|
-
validates_format_of :col, :with=>/.../
|
307
|
-
validates_length_of :col, :maximum=>5
|
308
|
-
validates_length_of :col, :minimum=>3
|
309
|
-
validates_length_of :col, :is=>4
|
310
|
-
validates_length_of :col, :within=>3..5
|
311
|
-
validates_not_string :col
|
312
|
-
validates_numericality_of :col
|
313
|
-
validates_numericality_of :col, :only_integer=>true
|
314
|
-
validates_presence_of :col
|
315
|
-
validates_inclusion_of :col, :in=>[3, 4, 5]
|
316
|
-
validates_uniqueness_of :col, :col2
|
317
|
-
validates_uniqueness_of([:col, :col2])
|
318
|
-
|
319
|
-
# New instance level validations
|
320
|
-
def validate
|
321
|
-
validates_format /.../, :col
|
322
|
-
validates_max_length 5, :col
|
323
|
-
validates_min_length 3, :col
|
324
|
-
validates_exact_length 4, :col
|
325
|
-
validates_length_range 3..5, :col
|
326
|
-
validates_not_string :col
|
327
|
-
validates_numeric :col
|
328
|
-
validates_integer :col
|
329
|
-
validates_presence :col
|
330
|
-
validates_includes([3,4,5], :col)
|
331
|
-
validates_unique :col, :col2
|
332
|
-
validates_unique([:col, :col2])
|
333
|
-
end
|
334
|
-
|
335
|
-
Another change made is to specify the same type of validation on
|
336
|
-
multiple attributes, you must use an array:
|
337
|
-
|
338
|
-
# Old
|
339
|
-
validates_length_of :name, :password, :within=>3..5
|
340
|
-
|
341
|
-
# New
|
342
|
-
def validate
|
343
|
-
validates_length_range 3..5, [:name, :password]
|
344
|
-
end
|
345
|
-
|
346
|
-
The :message, :allow_blank, :allow_missing, and :allow_nil options
|
347
|
-
are still respected. The :tag option is not needed as instance level
|
348
|
-
validations work with code reloading without workarounds. The :if
|
349
|
-
option is also not needed for instance level validations:
|
350
|
-
|
351
|
-
# Old
|
352
|
-
validates_presence_of :name, :if=>:new?
|
353
|
-
validates_presence_of :pass, :if=>{flag > 3}
|
354
|
-
|
355
|
-
# New
|
356
|
-
def validate
|
357
|
-
validates_presence(:name) if new?
|
358
|
-
validates_presence(:pass) if flag > 3
|
359
|
-
end
|
360
|
-
|
361
|
-
The validates_each also doesn't have an equivalent instance method,
|
362
|
-
since it is much easier to just write your own validation:
|
363
|
-
|
364
|
-
# Old
|
365
|
-
validates_each(:date) do |o,a,v|
|
366
|
-
o.errors.add(a, '...') unless v > Date.today
|
367
|
-
end
|
368
|
-
|
369
|
-
# New
|
370
|
-
def validate
|
371
|
-
errors.add(:date, '...') unless date > Date.today
|
372
|
-
end
|
373
|
-
|
374
|
-
* MySQL adapter datasets now have on_duplicate_key_update and
|
375
|
-
insert_ignore methods which modify the SQL used to support
|
376
|
-
ON DUPLICATE KEY UPDATE and INSERT INGORE syntax in multi_insert
|
377
|
-
and import.
|
378
|
-
|
379
|
-
* If you use the MySQL native adapter, you can set:
|
380
|
-
|
381
|
-
Sequel::MySQL.convert_invalid_date_time = nil
|
382
|
-
|
383
|
-
to return dates like "0000-00-00" and times like "25:00:00" as
|
384
|
-
nil values instead of raising an error. You can also set it
|
385
|
-
to :string to return the values as strings.
|
386
|
-
|
387
|
-
* You can now use Sequel without modifying any core classes, by
|
388
|
-
defining a SEQUEL_NO_CORE_EXTENSIONS constant or environment
|
389
|
-
variable. In 2.12, this may still add some deprecated methods to
|
390
|
-
the core classes, but in 3.0 no methods will be added to the core
|
391
|
-
classes if you use this.
|
392
|
-
|
393
|
-
* You can now use Sequel::Model without the associations
|
394
|
-
implementation by defining a SEQUEL_NO_ASSOCIATIONS constant or
|
395
|
-
environment variable.
|
396
|
-
|
397
|
-
Other Improvements
|
398
|
-
------------------
|
399
|
-
|
400
|
-
* Model column accessors have been made faster and the overhead of
|
401
|
-
creating them has been reduced significantly.
|
402
|
-
|
403
|
-
* ~{:bool_col=>true} now generates an bool_col IS NOT TRUE filter
|
404
|
-
instead of bool_col != TRUE. This makes it return records with
|
405
|
-
NULL values. If you only want to have false records, you should
|
406
|
-
use {:bool_col=>false}. This works better with SQL's 3 valued
|
407
|
-
boolean logic.
|
408
|
-
|
409
|
-
It is slightly inconsistent with ~{:col=>1}, since that won't
|
410
|
-
return values where col is NULL, but it gives the user the ability
|
411
|
-
to create an IS [NOT] (TRUE|FALSE) filter, which Sequel previously
|
412
|
-
did not support.
|
413
|
-
|
414
|
-
If you really want the old behavior, you can change it to
|
415
|
-
~{true=>:bool_col}.
|
416
|
-
|
417
|
-
* Model.use_transactions was added for setting whether model objects
|
418
|
-
should use transactions when destroying or saving records. Like
|
419
|
-
most Sequel options, it's settable on a global, per model, and
|
420
|
-
per object basis:
|
421
|
-
|
422
|
-
Sequel::Model.use_transactions = false
|
423
|
-
MyModel.use_transactions = true
|
424
|
-
my_model.use_transactions = false
|
425
|
-
|
426
|
-
You can also turn it on or off for specific save calls:
|
427
|
-
|
428
|
-
my_model.save(:transaction=>true)
|
429
|
-
|
430
|
-
* The Oracle adapter now supports schema parsing.
|
431
|
-
|
432
|
-
* When using Model.db=, all current dataset options are copied to
|
433
|
-
a new dataset created with the new db.
|
434
|
-
|
435
|
-
* Model::Errors#count was refactored to improve performance.
|
436
|
-
|
437
|
-
* Most exception classes that were located under Sequel::Error are
|
438
|
-
now located directly under Sequel. The old names are not
|
439
|
-
deprecated (unless mentioned above), but their use is now
|
440
|
-
discouraged. The exceptions have the same name except that
|
441
|
-
Sequel::Error::PoolTimeoutError changed to Sequel::PoolTimeout.
|
442
|
-
|
443
|
-
* Dataset#where now always affects the WHERE clause. Before, it
|
444
|
-
was just an alias of filter, so it modified the HAVING clause
|
445
|
-
if the dataset already had a HAVING clause.
|
446
|
-
|
447
|
-
* The optimization of Model.[] introduced in 2.11.0 broke on
|
448
|
-
databases that didn't support LIMIT. The optimization now works
|
449
|
-
on those databases.
|
450
|
-
|
451
|
-
* All of the the RDoc documentation was reviewed and many updates
|
452
|
-
were made, resulting in significantly improved documentation
|
453
|
-
quality.
|
454
|
-
|
455
|
-
* Model.def_dataset_method now works when the model doesn't have an
|
456
|
-
associated dataset, as it will add the method to a dataset
|
457
|
-
given to set_dataset in the future.
|
458
|
-
|
459
|
-
* Database#get and #select now take a block that is passed to
|
460
|
-
the dataset they create.
|
461
|
-
|
462
|
-
* You can disable the use of INSERT RETURNING in the shared
|
463
|
-
PostgreSQL adapter using disable_insert_returning. This is mostly
|
464
|
-
useful if you are inserting a large number of records.
|
465
|
-
|
466
|
-
* A bug relating to aliasing columns in the JDBC adapter has been
|
467
|
-
fixed.
|
468
|
-
|
469
|
-
* Sequel can now create and drop schema-qualified views.
|
470
|
-
|
471
|
-
* Performance of Dataset#destroy for model datasets was improved.
|
472
|
-
|
473
|
-
* The specs now run on Rspec 1.2.
|
474
|
-
|
475
|
-
* Internal dependence on the methods that Sequel adds to core
|
476
|
-
classes has been eliminated, any internal use of methods that
|
477
|
-
Sequel adds to the core classes is now considered a bug.
|
478
|
-
|
479
|
-
* A possible bug where Database#rename_table would not remove a
|
480
|
-
cached schema entry has been fixed.
|
481
|
-
|
482
|
-
* The Oracle and MySQL adapters now raise an error as soon as you
|
483
|
-
call distinct on a dataset, instead of waiting until the SQL is
|
484
|
-
generated.
|
485
|
-
|
486
|
-
Backwards Compatibilty
|
487
|
-
----------------------
|
488
|
-
|
489
|
-
* Saving a newly inserted record in an after_create or after_save
|
490
|
-
hook is no longer broken. It broke in 2.10 as a side effect of
|
491
|
-
allowing the hook to check whether or not the record was a new
|
492
|
-
record. The code has been changed so that a @was_new instance
|
493
|
-
variable will be defined to true if the record was just created.
|
494
|
-
|
495
|
-
Similarly, instead of not modifying changed_columns until after
|
496
|
-
the after hooks run, a @columns_updated instance variable will
|
497
|
-
be available in the after hooks that is a hash of exactly what
|
498
|
-
attribute keys and values were used in the update.
|
499
|
-
|
500
|
-
These changes break compatibility with 2.11.0 and 2.10.0, but
|
501
|
-
restore compatibility with 2.9.0 and previous versions.
|
502
|
-
|
503
|
-
* PostgreSQL no longer uses savepoints for nested transactions by
|
504
|
-
default. If you want to use a savepoint, you have to pass the
|
505
|
-
:savepoint option to the transaction method. Using savepoints
|
506
|
-
by default broke expectations when a method raised Rollback to
|
507
|
-
rollback the transaction, and it only rolled back to the last
|
508
|
-
savepoint.
|
509
|
-
|
510
|
-
* The anonymous model classes created by Sequel::Model() are now
|
511
|
-
stored in Model::ANONYMOUS_MODEL_CLASSES instead of the @models
|
512
|
-
class instance variable of the main module.
|
513
|
-
|
514
|
-
* The mappings of adapter schemes to classes are now stored in
|
515
|
-
Sequel::ADAPTER_MAP instead of the Database @@adapters class
|
516
|
-
variable.
|
517
|
-
|
518
|
-
* Model instances no longer contain a reference to their class's
|
519
|
-
@db_schema.
|
520
|
-
|
521
|
-
* Database schema sql methods (e.g. alter_table_sql) are now private.
|
522
|
-
|
523
|
-
* Database#[] no longer accepts a block. It's not possible to call
|
524
|
-
it with a block in general usage, anyway.
|
525
|
-
|
526
|
-
* The Sequel::Schema::SQL module no longer exists, the methods it
|
527
|
-
included were placed directly in the Sequel::Database class.
|
528
|
-
|
529
|
-
* The Sequel::SQL::SpecificExpression class has been removed,
|
530
|
-
subclasses now inherit from Sequel::SQL::Expression.
|
531
|
-
|
532
|
-
* Sequel now requires its own files with an absolute path.
|
533
|
-
|
534
|
-
* The file hierarchy of the sequel library changed significantly.
|