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,286 +0,0 @@
|
|
1
|
-
New Features
|
2
|
-
------------
|
3
|
-
|
4
|
-
* A real one_to_one association was added to Sequel, replacing the
|
5
|
-
previous :one_to_one option of the one_to_many association.
|
6
|
-
|
7
|
-
This is a fully backwards incompatible change, any code that uses
|
8
|
-
the :one_to_one option of one_to_many will be broken in Sequel
|
9
|
-
3.10.0, as that option now raises an exception. Keeping backwards
|
10
|
-
compatibility was not possible, as even the name of the association
|
11
|
-
needs to be changed. Here are the code changes you need to make:
|
12
|
-
|
13
|
-
* The association definition needs to change from one_to_many to
|
14
|
-
one_to_one, with no :one_to_one option, and with the association
|
15
|
-
name changed from the plural form to the singular form:
|
16
|
-
|
17
|
-
# Before
|
18
|
-
Lyric.one_to_many :songs, :one_to_one=>true
|
19
|
-
# After
|
20
|
-
Lyric.one_to_one :song
|
21
|
-
|
22
|
-
* All usage of the association when eager loading or when getting
|
23
|
-
reflections need to use the new singular association name:
|
24
|
-
|
25
|
-
# Before
|
26
|
-
Lyric.eager(:songs).all
|
27
|
-
Lyric.eager_graph(:songs).all
|
28
|
-
Lyric.association_reflection(:songs)
|
29
|
-
# After
|
30
|
-
Lyric.eager(:song).all
|
31
|
-
Lyric.eager_graph(:song).all
|
32
|
-
Lyric.association_reflection(:song)
|
33
|
-
|
34
|
-
Any Sequel plugins or extensions that deal with the internals of
|
35
|
-
associations need to be made aware of the one_to_one association,
|
36
|
-
and how it is different than one_to_many's previous :one_to_one
|
37
|
-
option. Here are some internal changes that may affect you:
|
38
|
-
|
39
|
-
* one_to_one associations are now cached like many_to_one
|
40
|
-
associations instead of like one_to_many associations. So the
|
41
|
-
cache includes the associated object or nil, instead of an array.
|
42
|
-
Note that this change means that all custom :eager_loader options
|
43
|
-
for one_to_one associations need to change to use this new
|
44
|
-
caching scheme.
|
45
|
-
|
46
|
-
* The one_to_one association setter method is now handled similarly
|
47
|
-
to the many_to_one setter method, instead of using the internal
|
48
|
-
one_to_many association add method.
|
49
|
-
|
50
|
-
* Instead of raising an error when multiple rows are returned,
|
51
|
-
one_to_one associations now use limit(1) to only return a single
|
52
|
-
row.
|
53
|
-
|
54
|
-
There were some other fixes made during these changes:
|
55
|
-
|
56
|
-
* The one_to_one setter now accepts nil to disassociate the record.
|
57
|
-
Previously, this raised an error.
|
58
|
-
|
59
|
-
* If the one_to_one association already had a separate object
|
60
|
-
associated, and you assigned a different object in the setter
|
61
|
-
method, Sequel now disassociates the old object before
|
62
|
-
associating the new object, fixing some potential issues if there
|
63
|
-
is a UNIQUE constraint on the foreign key column.
|
64
|
-
|
65
|
-
* Using the many_to_one association setter where the reciprocal
|
66
|
-
association is a one_to_one association with a currently
|
67
|
-
different cached associated object no longer raises an exception.
|
68
|
-
|
69
|
-
* The nested_attributes and association_dependencies plugins
|
70
|
-
both now correctly handle one_to_one associations.
|
71
|
-
|
72
|
-
If you need any help migrating, please post on the Sequel Google
|
73
|
-
Group or ask in the #sequel IRC channel.
|
74
|
-
|
75
|
-
* Both many_to_one and one_to_one associations now use before_set
|
76
|
-
and after_set callbacks instead of trying to make the one_to_many
|
77
|
-
and many_to_many associations' (before|after)_(add|remove)
|
78
|
-
callbacks work.
|
79
|
-
|
80
|
-
This change makes the code simpler, makes writing callbacks easier,
|
81
|
-
and no longer requires Sequel to send a query to the database to
|
82
|
-
get the currently associated object in the many_to_one association
|
83
|
-
setter method (you can still do so manually in a before_set
|
84
|
-
callback if you want to).
|
85
|
-
|
86
|
-
* Dataset#for_update was added as a default dataset method.
|
87
|
-
Previously, it was only supported on PostgreSQL. It has been
|
88
|
-
tested to work on PostgreSQL, MySQL, SQLite (where it is ignored),
|
89
|
-
H2, and MSSQL.
|
90
|
-
|
91
|
-
* Dataset#lock_style was added as a backbone for Dataset#for_update,
|
92
|
-
but allowing you to specify custom lock styles. These can either
|
93
|
-
be symbols recognized by the adapters, or strings which are treated
|
94
|
-
as literal SQL.
|
95
|
-
|
96
|
-
* Model#lock! was added, which uses Dataset#for_update to lock model
|
97
|
-
rows for specific instances. Combined with the Dataset#for_update,
|
98
|
-
Sequel now has an equivalent to ActiveRecord's pessimistic locking
|
99
|
-
support.
|
100
|
-
|
101
|
-
* A composition plugin was added, given similar functionality as
|
102
|
-
ActiveRecord's composed_of.
|
103
|
-
|
104
|
-
The composition plugin allows you to easily define getter and
|
105
|
-
setter instance methods for a class where the backing data is
|
106
|
-
composed of other getters and decomposed to other setters.
|
107
|
-
|
108
|
-
A simple example of this is when you have a database table with
|
109
|
-
separate columns for year, month, and day, but where you want to
|
110
|
-
deal with Date objects in your ruby code. This can be handled
|
111
|
-
with:
|
112
|
-
|
113
|
-
Model.composition :date, :mapping=>[:year, :month, :day]
|
114
|
-
|
115
|
-
The :mapping option is optional, but if not used, you need define
|
116
|
-
custom composition and decomposition procs via the :composer and
|
117
|
-
:decomposer options.
|
118
|
-
|
119
|
-
Note that when using the composition object, you should not modify
|
120
|
-
the underlying columns if you are also instantiating the
|
121
|
-
composition, as otherwise the composition object values will
|
122
|
-
override any underlying columns when the object is saved.
|
123
|
-
|
124
|
-
* An rcte_tree plugin was added, which uses recursive common table
|
125
|
-
expressions to load all ancestors and descendants in a single
|
126
|
-
query. If your database supports recursive common table
|
127
|
-
expressions (PostgreSQL 8.4+, MSSQL 2005+, newer versions of
|
128
|
-
Firebird), using recursive common table expressions to load
|
129
|
-
all ancestors and descendants is significantly faster than storing
|
130
|
-
trees as nested sets and using nested set queries. Usage:
|
131
|
-
|
132
|
-
Model.plugin :rcte_tree
|
133
|
-
|
134
|
-
# Lazy loading
|
135
|
-
model = Model.first
|
136
|
-
model.parent
|
137
|
-
model.children
|
138
|
-
model.ancestors # Populates :parent association as well
|
139
|
-
model.descendants # Populates :children association as well
|
140
|
-
|
141
|
-
# Eager loading - also populates the :parent and children
|
142
|
-
# associations for all ancestors and descendants
|
143
|
-
Model.filter(:id=>[1, 2]).eager(:ancestors, :descendants).all
|
144
|
-
|
145
|
-
# Eager loading children and grandchildren
|
146
|
-
Model.filter(:id=>[1, 2]).eager(:descendants=>2).all
|
147
|
-
# Eager loading children, grandchildren, and great grandchildren
|
148
|
-
Model.filter(:id=>[1, 2]).eager(:descendants=>3).all
|
149
|
-
|
150
|
-
* Dataset#first_source_table was added, giving you the unaliased
|
151
|
-
version of the table for the first source.
|
152
|
-
|
153
|
-
* Add Sequel::BasicObject.remove_methods!, useful on ruby 1.8 if you
|
154
|
-
require other libraries after Sequel that add methods to Object.
|
155
|
-
For example, if YAML is required after sequel, then the following
|
156
|
-
will raise an error:
|
157
|
-
|
158
|
-
DB[:a].filter{x > y}
|
159
|
-
|
160
|
-
because YAML adds the y method to all objects. Now, you can call
|
161
|
-
Sequel::BasicObject.remove_methods!, which will remove those
|
162
|
-
methods from Sequel::BasicObject, allowing them to be used as
|
163
|
-
intended in the above DSL.
|
164
|
-
|
165
|
-
* Sequel associations now accept an :eager_loader_key option, which
|
166
|
-
can be useful for associations to specify the column to use for the
|
167
|
-
key_hash for custom :eager_loaders.
|
168
|
-
|
169
|
-
* A JDBC subadapter for the AS400 database was added.
|
170
|
-
|
171
|
-
Other Improvements
|
172
|
-
------------------
|
173
|
-
|
174
|
-
* The one_to_one setter method and the one_to_many and many_to_many
|
175
|
-
remove_all methods now apply the association options (such as
|
176
|
-
filters) on the appropriate dataset:
|
177
|
-
|
178
|
-
Artist.one_to_many :good_albums, :class=>:Album,
|
179
|
-
:conditions=>{:good=>true}
|
180
|
-
a = Artist[10]
|
181
|
-
a.remove_all_good_albums
|
182
|
-
# Before: WHERE artist_id = 10
|
183
|
-
# After: WHERE artist_id = 10 AND good IS TRUE
|
184
|
-
|
185
|
-
* Plugin loading now works correctly when the plugin module name
|
186
|
-
is the same name as an already defined top level constant. This
|
187
|
-
means that the active_model plugin should now work correctly if
|
188
|
-
you require active_model before loading the Sequel plugin.
|
189
|
-
|
190
|
-
* The nested_attributes plugin now preserves nested attributes for
|
191
|
-
*_to_one associations on validation failures.
|
192
|
-
|
193
|
-
* Transactions now work correctly on Oracle when using the JDBC
|
194
|
-
adapter.
|
195
|
-
|
196
|
-
* Dataset#limit once again works correctly on MSSQL 2000. It was
|
197
|
-
broken in Sequel 3.9.0.
|
198
|
-
|
199
|
-
* many_to_one associations now use limit(1) to ensure only one
|
200
|
-
record is returned. If you don't want this (because maybe you
|
201
|
-
are using the :eager_graph association option), you need to
|
202
|
-
set the :key option to nil and use a custom :dataset option.
|
203
|
-
|
204
|
-
* many_to_one and one_to_many associations now work correctly
|
205
|
-
with the association :eager option to eagerly load associations
|
206
|
-
specified by :eager when lazy loading the association.
|
207
|
-
|
208
|
-
* The typecast_on_load plugin now correctly handles
|
209
|
-
reloading/refreshing the object, both explicitly and implicitly
|
210
|
-
on object creation.
|
211
|
-
|
212
|
-
* The schema parser and dumper now return tinyint columns as
|
213
|
-
booleans when connecting to mysql using the do adapter, since
|
214
|
-
DataObjects now returns the columns as booleans.
|
215
|
-
|
216
|
-
* The schema dumper now deals better with unusual or database
|
217
|
-
specific primary key types when using the :same_db option.
|
218
|
-
|
219
|
-
* On ruby 1.8, Sequel::BasicObject now undefs private methods in
|
220
|
-
addition to public and protected methods. So the following
|
221
|
-
code now works as expected:
|
222
|
-
|
223
|
-
DB[:a].filter{x > p} # WHERE x > p
|
224
|
-
|
225
|
-
* Sequel.connect with a block now returns the value of the block:
|
226
|
-
|
227
|
-
max_price = Sequel.connect('sqlite://items.db') do |db|
|
228
|
-
db[:items].max(:price)
|
229
|
-
end
|
230
|
-
|
231
|
-
* MSSQL emulated offset support now works correctly when Sequel's
|
232
|
-
core extensions are not loaded.
|
233
|
-
|
234
|
-
* Sequel::BasicObject now works correctly on rubinius, and almost
|
235
|
-
all Sequel specs now pass on rubinius.
|
236
|
-
|
237
|
-
* The nested_attributes plugin now uses a better exception message
|
238
|
-
no matching associated object is found.
|
239
|
-
|
240
|
-
* Sequel now raises a more informative error if you attempt to use
|
241
|
-
the native sqlite adapter with the sqlite3 gem instead of the
|
242
|
-
sqlite3-ruby gem.
|
243
|
-
|
244
|
-
* Multiple complex expressions with the same operator are now
|
245
|
-
combined for simpler SQL:
|
246
|
-
|
247
|
-
DB[:a].filter(:a=>1, :b=>2).filter(:c=>3)
|
248
|
-
# Before: (((a = 1) AND (b = 2)) AND (c = 3))
|
249
|
-
# After: ((a = 1) AND (b = 2) AND (c = 3))
|
250
|
-
|
251
|
-
* The Sequel::Model dataset methods (class methods proxied to the
|
252
|
-
model's dataset) and the Sequel::Dataset mutation methods
|
253
|
-
(methods that have a ! counterpart to modify the object in place)
|
254
|
-
have both been updated to use new dataset methods added in recent
|
255
|
-
versions.
|
256
|
-
|
257
|
-
Backwards Compatibility
|
258
|
-
-----------------------
|
259
|
-
|
260
|
-
* The :one_to_one option of the one_to_many associations now raises
|
261
|
-
an exception. Please see the section above about the new real
|
262
|
-
one_to_one association.
|
263
|
-
|
264
|
-
* The change to apply the association options to the one_to_many and
|
265
|
-
many_to_many remove_all methods has the potential to break some
|
266
|
-
code that uses the remove_all method on associations that use
|
267
|
-
association options. This is especially true for many_to_many
|
268
|
-
associations, as filters in many_to_many associations will often
|
269
|
-
reference columns in the associated table, while the dataset
|
270
|
-
used in the remove_all method only contains the join table. Such
|
271
|
-
cases should be handled by manually overriding the _remove_all
|
272
|
-
association instance method in the class. It was determined that
|
273
|
-
it was better to issue possibly invalid queries than to issue
|
274
|
-
queries that make unexpected modifications.
|
275
|
-
|
276
|
-
* Dataset#group_and_count now longer orders the dataset by the count.
|
277
|
-
Since it returns a modified dataset, if you want to order the
|
278
|
-
dataset, just call order on the returned dataset.
|
279
|
-
|
280
|
-
* many_to_one associations now require a working :class option.
|
281
|
-
Previously, if you provided a custom :dataset option, a working
|
282
|
-
:class option was not required in some cases.
|
283
|
-
|
284
|
-
* The MSSQL shared adapter dataset methods switched from using
|
285
|
-
the :table_options internal option key to using the :lock internal
|
286
|
-
option key.
|
@@ -1,254 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* A few new features were added to query logging. Sequel now
|
4
|
-
includes execution time when logging queries. Queries that
|
5
|
-
raise exceptions are now logged at ERROR level. You can now
|
6
|
-
set the log_warn_duration attribute on the Database instance
|
7
|
-
and queries that take longer than that will be logged at WARN
|
8
|
-
level. By using different log levels, you can now only log
|
9
|
-
queries that raise errors, or only log queries that take a long
|
10
|
-
time.
|
11
|
-
|
12
|
-
# The default - Log all successful queries at INFO level
|
13
|
-
DB.log_warn_duration = nil
|
14
|
-
|
15
|
-
# Log all successful queries at WARN level
|
16
|
-
DB.log_warn_duration = 0
|
17
|
-
|
18
|
-
# Log successful queries that take the database more than half a
|
19
|
-
# second at WARN level, other successful queries at INFO level
|
20
|
-
DB.log_warn_duration = 0.5
|
21
|
-
|
22
|
-
All adapters included with Sequel have been modified to support
|
23
|
-
the new logging API. The previous API is still available, so
|
24
|
-
any external adapters should still work, though switching to the
|
25
|
-
new logging API is encouraged.
|
26
|
-
|
27
|
-
* Sequel::Model now has a require_modification flag. If not set
|
28
|
-
explicitly, it is enabled by default if the dataset provides an
|
29
|
-
accurate number of rows matched by an update or delete statement.
|
30
|
-
When this setting is enabled, Sequel will raise an exception if
|
31
|
-
you attempt to update or delete a model object and it doesn't end
|
32
|
-
up affecting exactly one row. For example:
|
33
|
-
|
34
|
-
DB.create_table(:as){primary_key :id}
|
35
|
-
class A < Sequel::Model; end
|
36
|
-
a = A.create
|
37
|
-
|
38
|
-
# delete object from database
|
39
|
-
a.delete
|
40
|
-
|
41
|
-
a.require_modification = false
|
42
|
-
a.save # no error!
|
43
|
-
a.delete # no error!
|
44
|
-
|
45
|
-
a.require_modification = true
|
46
|
-
a.save # Sequel::NoExistingObject exception raised
|
47
|
-
a.delete # Sequel::NoExistingObject exception raised
|
48
|
-
|
49
|
-
Like many other Sequel::Model settings, this can be set on a
|
50
|
-
global, per class, and per instance level:
|
51
|
-
|
52
|
-
Sequel::Model.require_modification = false # global
|
53
|
-
Album.require_modification = true # class
|
54
|
-
album.require_modification = false # instance
|
55
|
-
|
56
|
-
* An instance_filters plugin was added to the list of built in
|
57
|
-
plugins, allowing you to add arbitrary filters when updating or
|
58
|
-
destroying an instance. This allows you to continue using models
|
59
|
-
when previously you would have had to drop down to using datasets
|
60
|
-
to get the desired behavior:
|
61
|
-
|
62
|
-
class Item < Sequel::Model
|
63
|
-
plugin :instance_filters
|
64
|
-
end
|
65
|
-
|
66
|
-
# These are two separate objects that represent the same
|
67
|
-
# database row.
|
68
|
-
i1 = Item.first(:id=>1, :delete_allowed=>false)
|
69
|
-
i2 = Item.first(:id=>1, :delete_allowed=>false)
|
70
|
-
|
71
|
-
# Add an instance filter to the object. This filter is in effect
|
72
|
-
# until the object is successfully updated or deleted.
|
73
|
-
i1.instance_filter(:delete_allowed=>true)
|
74
|
-
|
75
|
-
# Attempting to delete the object where the filter doesn't
|
76
|
-
# match any rows raises an error.
|
77
|
-
i1.delete # raises Sequel::Error
|
78
|
-
|
79
|
-
# The other object that represents the same row has no
|
80
|
-
# instance filters, and can be updated normally.
|
81
|
-
i2.update(:delete_allowed=>true)
|
82
|
-
|
83
|
-
# Even though the filter is now still in effect, since the
|
84
|
-
# database row has been updated to allow deleting,
|
85
|
-
# delete now works.
|
86
|
-
i1.delete
|
87
|
-
|
88
|
-
* An :after_connect database option is now supported. If provided,
|
89
|
-
the option value should be a proc that takes a single argument.
|
90
|
-
It will be called with the underlying connection object before
|
91
|
-
connection object is added to the connection pool, allowing you
|
92
|
-
to set per connection options in a thread-safe manner.
|
93
|
-
|
94
|
-
This is useful for customizations you want set on every connection
|
95
|
-
that Sequel doesn't already support. For example, on PostgreSQL
|
96
|
-
if you wanted to set the schema search_path on every connection:
|
97
|
-
|
98
|
-
DB = Sequel.postgres('dbname', :after_connect=>(proc do |conn|
|
99
|
-
conn.execute('SET search_path TO schema1,schema2')
|
100
|
-
end))
|
101
|
-
|
102
|
-
* A :test database option is now supported. If set to true, it
|
103
|
-
automatically calls test_connection to make sure a connection can
|
104
|
-
be made before returning a Database instance. For backwards
|
105
|
-
compatibility reasons, this is not set to true by default, but it
|
106
|
-
is possible that the default will change in a future version of
|
107
|
-
Sequel.
|
108
|
-
|
109
|
-
* The Dataset#select_append method was added, which always appends
|
110
|
-
to the existing selected columns. It operates identically to
|
111
|
-
select_more, except in the case that no columns are currently
|
112
|
-
selected:
|
113
|
-
|
114
|
-
ds = DB[:a]
|
115
|
-
# SELECT * FROM items
|
116
|
-
ds.select_more({:id=>DB[:b].select(:a_id)}.as(:in_b))
|
117
|
-
# SELECT id IN (SELECT a_id FROM b) AS in_b FROM a
|
118
|
-
ds.select_append({:id=>DB[:b].select(:a_id)}.as(:in_b))
|
119
|
-
# SELECT *, id IN (SELECT a_id FROM b) AS in_b FROM a
|
120
|
-
|
121
|
-
* The Dataset#provides_accurate_rows_matched? method was added which
|
122
|
-
allows you to see if the dataset will return the actual number of
|
123
|
-
rows matched/affected by an update or delete call.
|
124
|
-
|
125
|
-
* Sequel will now emulate DISTINCT ON support using GROUP BY on
|
126
|
-
MySQL. On MySQL, GROUP BY is similar to DISTINCT ON, except that
|
127
|
-
the order of returned rows is not deterministic.
|
128
|
-
|
129
|
-
* Support for connecting to Microsoft SQL Server using the JTDS JDBC
|
130
|
-
driver was added to the jdbc adapter.
|
131
|
-
|
132
|
-
* JDNI connection strings are now supported in the JDBC adapter.
|
133
|
-
|
134
|
-
* The JDBC adapter should now work in situations where driver
|
135
|
-
auto-loading has problems, just as when using Tomcat or Trinidad.
|
136
|
-
|
137
|
-
* Sequel's JDBC adapter schema parsing now supports a :scale option,
|
138
|
-
useful for numeric/decimal columns.
|
139
|
-
|
140
|
-
* Sequel's schema parsing on Microsoft SQL Server now supports
|
141
|
-
:column_size and :scale options.
|
142
|
-
|
143
|
-
* When connecting to SQLite, a Database#sqlite_version method is
|
144
|
-
available that gives you the SQLite version as an integer (e.g.
|
145
|
-
30613 for 3.6.13).
|
146
|
-
|
147
|
-
= Other Improvements
|
148
|
-
|
149
|
-
* Sequel no longer raises an error if you give Dataset#filter or
|
150
|
-
related method an empty argument such as {}, [], or ''. This allows
|
151
|
-
code such as the following to work:
|
152
|
-
|
153
|
-
h = {}
|
154
|
-
h[:name] = name if name
|
155
|
-
h[:number] = number if number
|
156
|
-
ds = ds.filter(h)
|
157
|
-
|
158
|
-
Before, this would raise an error if both name and number were
|
159
|
-
nil.
|
160
|
-
|
161
|
-
* Numeric and decimal columns with a 0 scale are now treated as
|
162
|
-
integer columns by the model typecasting code, since such columns
|
163
|
-
cannot store non-integer values.
|
164
|
-
|
165
|
-
* Calling Database#disconnect when using the single threaded
|
166
|
-
connection pool no longer raises an error if there is no current
|
167
|
-
connection.
|
168
|
-
|
169
|
-
* When using the :ignore_index_errors options to
|
170
|
-
Database#create_table, correctly swallow errors raised by Sequel
|
171
|
-
due to the adapter not supporting the given index type.
|
172
|
-
|
173
|
-
* The JDBC adapter no longer leaks ResultSets when retrieving
|
174
|
-
metadata.
|
175
|
-
|
176
|
-
* You can now connect to PostgreSQL when using ruby 1.9 with the
|
177
|
-
-Ku switch.
|
178
|
-
|
179
|
-
* When using the native MySQL adapter, only tinyint(1) columns are
|
180
|
-
now returned as booleans when using the convert_tinyint_to_bool
|
181
|
-
setting (the default). Previously, all tinyint columns would
|
182
|
-
be converted to booleans if the setting was enabled.
|
183
|
-
|
184
|
-
* Correctly handle inserts returning the autogenerated keys when
|
185
|
-
using MySQL JDBC Driver version 5.1.12 with the jdbc adapter.
|
186
|
-
|
187
|
-
* The native MySQL adapter now supports :config_default_group and
|
188
|
-
:config_local_infile options.
|
189
|
-
|
190
|
-
* When connecting to SQLite, you can provide the :auto_vacuum,
|
191
|
-
:foreign_keys, :synchronous, and :temp_store options for
|
192
|
-
making the appropriate PRAGMA setting on the database in a
|
193
|
-
thread-safe manner. The previous thread-unsafe PRAGMA setting
|
194
|
-
methods are available, but their use is discouraged.
|
195
|
-
|
196
|
-
* Sequel will not enable savepoints when connecting to SQLite
|
197
|
-
unless the version is 3.6.8 or greater.
|
198
|
-
|
199
|
-
* Using limit with distinct now works correctly on Microsoft SQL
|
200
|
-
Server.
|
201
|
-
|
202
|
-
* Database#rename_table now works correctly on Microsoft SQL Server.
|
203
|
-
|
204
|
-
* If you specify an explicit :provider when using the ADO adapter,
|
205
|
-
transactions will now work correctly. The default :provider uses
|
206
|
-
a new native connection for each query, so it cannot work with
|
207
|
-
transactions, or things like temporary tables.
|
208
|
-
|
209
|
-
* If you specify an explicit :provider when connecting to Microsoft
|
210
|
-
SQL Server using the ADO adapter (e.g. SQLNCLI10 or SQLNCLI),
|
211
|
-
Sequel is now able to provide an accurate number of rows modified
|
212
|
-
and deleted.
|
213
|
-
|
214
|
-
* Using set_column_allow_null with a decimal column with a precision
|
215
|
-
and scale now works correctly when connecting to Microsoft SQL
|
216
|
-
Server.
|
217
|
-
|
218
|
-
* You can now connect to Microsoft SQL Server using the dbi adapter.
|
219
|
-
|
220
|
-
* Sequel now recognizes the NUMBER database type as a synonym for
|
221
|
-
NUMERIC and DECIMAL, which may help some Oracle users.
|
222
|
-
|
223
|
-
* Transactions can now be rolled back correctly when connecting to
|
224
|
-
Oracle via JDBC.
|
225
|
-
|
226
|
-
* The active_model plugin now supports ActiveModel 3.0.0beta2.
|
227
|
-
|
228
|
-
* Many documentation improvements were made, including the addition
|
229
|
-
of a dataset basics guide, an association basics guide, an expanded
|
230
|
-
virtual row guide, and the separation of the Sequel::Dataset RDoc
|
231
|
-
page into sections. Additional, the RDoc class/method
|
232
|
-
documentation now contains links to the appropriate guides.
|
233
|
-
|
234
|
-
= Backwards Compatibility
|
235
|
-
|
236
|
-
* When connecting to SQLite, Sequel now automatically sets the
|
237
|
-
foreign_keys PRAGMA to true, which will make SQLite 3.6.19+ use
|
238
|
-
database enforced foreign key constraints. If you do not want
|
239
|
-
the database to enforce the foreign key constraints, you should
|
240
|
-
use the :foreign_keys=>false option when connecting to the
|
241
|
-
database.
|
242
|
-
|
243
|
-
* Sequel no longer creates #{plugin_name}_opts class, instance, and
|
244
|
-
dataset methods for each plugin loaded. No built-in plugin used
|
245
|
-
them, and I couldn't find an external plugin that did either.
|
246
|
-
|
247
|
-
* The Model#associations method is no longer available if the
|
248
|
-
default Associations plugin is not loaded due to the
|
249
|
-
SEQUEL_NO_ASSOCIATIONS constant or environment variable being set.
|
250
|
-
|
251
|
-
* DISTINCT ON support is turned off by default, and only enabled when
|
252
|
-
using PostgreSQL, since that appears to be the only database that
|
253
|
-
supports it. Previously, it was enabled by default and most common
|
254
|
-
adapters turned it off.
|