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,68 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* Delayed evaluation blocks can now accept the dataset literalizing
|
4
|
-
the delayed evaluation as an argument. This makes it so the
|
5
|
-
delayed evaluation result can depend on the dataset doing the
|
6
|
-
literalization:
|
7
|
-
|
8
|
-
ds = DB[:a].where(Sequel.delay do |ds|
|
9
|
-
{Sequel.qualify(ds.first_source, :col)=>1}
|
10
|
-
end)
|
11
|
-
ds.sql # SELECT * FROM a WHERE (a.col = 1)
|
12
|
-
ds.from(:b).sql # SELECT * FROM b WHERE (b.col = 1)
|
13
|
-
|
14
|
-
* Database#create_trigger on PostgreSQL now supports a :when option
|
15
|
-
to create a filter for the trigger, so that it is only triggered
|
16
|
-
when the filter condition is true.
|
17
|
-
|
18
|
-
* You can now override the cache key prefix in the caching plugin
|
19
|
-
by overriding the cache_key_prefix class method. This can be
|
20
|
-
useful when using a table inheritance plugin.
|
21
|
-
|
22
|
-
= Other Improvements
|
23
|
-
|
24
|
-
* You can now pass arbitrary types to Dataset#where and related
|
25
|
-
methods. Previously, if a type was not explicitly handled, an
|
26
|
-
exception would be raised. Now you can pass any object that can
|
27
|
-
be literalized. The only exception is that you can't pass
|
28
|
-
Numeric objects, since #where and similar methods should
|
29
|
-
only deal with boolean expressions.
|
30
|
-
|
31
|
-
* association_join and related methods now work correctly if the
|
32
|
-
dataset already has an explicit selection.
|
33
|
-
|
34
|
-
* A regression has been fixed in the class_table_inheritance plugin
|
35
|
-
when using a hierarchy of more than 2 levels, when using the
|
36
|
-
superclass to load a subclass instance more than 2 levels below,
|
37
|
-
and later attempting to load a column contained in one of the
|
38
|
-
middle tables.
|
39
|
-
|
40
|
-
* When using _delete or _remove keys in the nested_attributes plugin
|
41
|
-
to remove existing associated objects, the associated objects are
|
42
|
-
now deleted from the cached association array at time of call.
|
43
|
-
This is for consistency when adding new associated objects, where
|
44
|
-
the new associated objects are added to the cached association
|
45
|
-
array at time of call.
|
46
|
-
|
47
|
-
* The nested_attributes plugin now handles composite primary keys
|
48
|
-
correctly when working around validation issues for one_to_one
|
49
|
-
and one_to_many associations.
|
50
|
-
|
51
|
-
* If exception A is raised during a transaction, and exception B
|
52
|
-
is raised while attempting to rollback the transaction, the
|
53
|
-
transaction code will now raise exception A instead of exception B.
|
54
|
-
|
55
|
-
* An additional serialization failure is now detected on PostgreSQL.
|
56
|
-
|
57
|
-
* An additional disconnect error is now recognized in the jdbc/jtds
|
58
|
-
adapter.
|
59
|
-
|
60
|
-
* The code examples in the RDoc are now syntax highlighted, and
|
61
|
-
many minor fixes to the code examples in the RDoc were made.
|
62
|
-
Additionally, many other improvements were made to the RDoc.
|
63
|
-
|
64
|
-
= Backwards Compatibility
|
65
|
-
|
66
|
-
* Dataset#delayed_evaluation_sql_append now accepts the delayed
|
67
|
-
evaluation as an argument, instead of the callable contained by the
|
68
|
-
delayed evaluation.
|
@@ -1,56 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* fdbsql and jdbc/fdbsql adapters have been added, for connecting to
|
4
|
-
FoundationDB SQL Layer.
|
5
|
-
|
6
|
-
* A split_values plugin has been added, for moving non-column entries
|
7
|
-
from the values hash into a separate hash. This allows you to
|
8
|
-
select additional columns (e.g. computed columns) when retrieving
|
9
|
-
model instances, and be able to save those instances without
|
10
|
-
removing the additional columns.
|
11
|
-
|
12
|
-
* A Sequel::Model.cache_associations accessor has been added, which
|
13
|
-
can be set to false to not cache any association metadata. This
|
14
|
-
can fix issues in a development environment that uses code
|
15
|
-
reloading.
|
16
|
-
|
17
|
-
* The active_model plugin now supports activemodel 4.2.0beta1.
|
18
|
-
|
19
|
-
* More PostgreSQL array types are handled automatically by the
|
20
|
-
pg_array extension, such as xml[] and uuid[].
|
21
|
-
|
22
|
-
* Creating foreign tables is now supported on PostgreSQL via the
|
23
|
-
:foreign and :options create_table options.
|
24
|
-
|
25
|
-
* The :nolog Database option is now supported in the informix
|
26
|
-
adapter, where it disables the use of transactions.
|
27
|
-
|
28
|
-
* PlaceholderLiteralizer#with_dataset has been added, allowing you
|
29
|
-
to create another PlaceholderLiteralizer with a modified dataset,
|
30
|
-
useful if you want to change the row_proc or any non-SQL dataset
|
31
|
-
options.
|
32
|
-
|
33
|
-
= Other Improvements
|
34
|
-
|
35
|
-
* The tactical_eager_loading plugin once again works correctly with
|
36
|
-
limited associations.
|
37
|
-
|
38
|
-
* A bug in older versions of MySQL is now worked around when schema
|
39
|
-
dumping a table with multiple timestamp columns.
|
40
|
-
|
41
|
-
* On PostgreSQL, create_view(:view_name, dataset, :materialized=>true)
|
42
|
-
is now reversible.
|
43
|
-
|
44
|
-
* Postgres::{JSON,JSONB}Op#to_record and #to_recordset no longer take
|
45
|
-
an optional argument. This was supported in PostgreSQL 9.4beta1,
|
46
|
-
but removed before PostgreSQL 9.4beta2.
|
47
|
-
|
48
|
-
* Dataset#insert now returns the last inserted id in the informix
|
49
|
-
adapter.
|
50
|
-
|
51
|
-
* Sequel no longer raises an exception in
|
52
|
-
AssociationReflection#reciprocal if the associated class has an
|
53
|
-
association that does not have a valid associated class.
|
54
|
-
|
55
|
-
* Sequel now raises an exception if a primary key is necessary to use
|
56
|
-
an association, but the model does not have a primary key.
|
@@ -1,36 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* Model#qualified_pk_hash has been added, which is similar to
|
4
|
-
Model#pk_hash, but uses qualified keys.
|
5
|
-
|
6
|
-
* Dataset#distinct now accepts a virtual row block.
|
7
|
-
|
8
|
-
* Database#drop_table with :foreign=>true option now drops foreign
|
9
|
-
tables on PostgreSQL. Database#create_table with :foreign option
|
10
|
-
is now reversible on PostgreSQL.
|
11
|
-
|
12
|
-
= Other Improvements
|
13
|
-
|
14
|
-
* Sequel::Model.cache_associations = false now skips the database's
|
15
|
-
schema cache when loading the schema for a model. This fixes
|
16
|
-
some issues in environments that use code reloading.
|
17
|
-
|
18
|
-
* Database#create_table? and #create_join_table? no longer use
|
19
|
-
IF NOT EXISTS if indexes are being created.
|
20
|
-
|
21
|
-
* Model.primary_key_hash and .qualified_primary_key_hash have been
|
22
|
-
optimized.
|
23
|
-
|
24
|
-
* validates_unique in the validation_helpers plugin now uses a
|
25
|
-
qualified primary key if the model's dataset is joined. This fixes
|
26
|
-
a case when the auto_validations and class_table_inheritance
|
27
|
-
plugins are used together.
|
28
|
-
|
29
|
-
* Disconnect errors are now recognized in the postgres adapter when
|
30
|
-
SSL is used for connecting.
|
31
|
-
|
32
|
-
* Empty string default values are no longer converted to nil default
|
33
|
-
values on MySQL.
|
34
|
-
|
35
|
-
* Database#foreign_key_list now works correctly on Microsoft SQL
|
36
|
-
Server 2005.
|
@@ -1,38 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* A :preconnect Database option has been added, for automatically
|
4
|
-
creating the maximum number of connections to the database on
|
5
|
-
instantiation. This is useful when there is high latency for
|
6
|
-
initial connection setup, where Sequel's usual approach of
|
7
|
-
connecting as needed can cause pauses at runtime.
|
8
|
-
|
9
|
-
* Database#sharded? has been added for checking whether the Database
|
10
|
-
object uses multiple servers.
|
11
|
-
|
12
|
-
* Dataset#server? has been added, for returning a cloned dataset
|
13
|
-
associated with the given server/shard if the dataset does not
|
14
|
-
already have a server set. This returns the receiver if the
|
15
|
-
server has already been set or the Database is not sharded.
|
16
|
-
|
17
|
-
= Other Improvements
|
18
|
-
|
19
|
-
* Sequel now uses the correct shard when deleting model instances.
|
20
|
-
Previously, the correct shard was only used in the unoptimized
|
21
|
-
case, not in the optimized case.
|
22
|
-
|
23
|
-
* Sequel now uses the correct shard when using Dataset#insert_select
|
24
|
-
on PostgreSQL. This was first broken in the 4.13.0 release.
|
25
|
-
|
26
|
-
* Sequel now correctly handles Sequel::SQL::Blob instances used in
|
27
|
-
bound variables in the postgres adapter. Previously this resulted
|
28
|
-
in duplicate apostrophes being used.
|
29
|
-
|
30
|
-
* When using the jdbc/sqlite3 adapter with jdbc-sqlite3 3.8.7, Sequel
|
31
|
-
now handles date objects and empty blobs correctly, working around
|
32
|
-
bugs in the driver.
|
33
|
-
|
34
|
-
= Backwards Compatibility
|
35
|
-
|
36
|
-
* In the update_or_create plugin, Model.update_or_create now always
|
37
|
-
returns the object. Previously it would not return the object if
|
38
|
-
the object already existed but no updates were necessary.
|
@@ -1,36 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* An :auto_increment key has been added to the schema information for
|
4
|
-
primary key columns on JDBC, PostgreSQL, MySQL, MSSQL, DB2, and
|
5
|
-
SQLite. This fixes issues in the schema_dumper extension where
|
6
|
-
non-auto-incrementing integer primary keys are no longer dumped as
|
7
|
-
auto-incrementing.
|
8
|
-
|
9
|
-
For adapters that don't have specific support for detecting
|
10
|
-
auto incrementing primary keys, Sequel now assumes a primary key
|
11
|
-
is auto incrementing only if it is not a composite primary key
|
12
|
-
and the type contains int (e.g. int, integer, bigint).
|
13
|
-
|
14
|
-
= Other Improvements
|
15
|
-
|
16
|
-
* Dataset#empty? now ignores any order on the dataset. Previously,
|
17
|
-
calling empty? on a dataset ordered by an alias in the SELECT list
|
18
|
-
could raise an exception.
|
19
|
-
|
20
|
-
* Schema qualified tables are now handled correctly in
|
21
|
-
many_through_many associations.
|
22
|
-
|
23
|
-
* Using a hash as the value for the :eager association option now
|
24
|
-
works correctly.
|
25
|
-
|
26
|
-
* All PG::ConnectionBad exceptions are now treated as disconnect
|
27
|
-
errors in the postgres adapter. This should be more robust than
|
28
|
-
the previous method of trying to recognize disconnect errors by
|
29
|
-
trying to parse the exception message.
|
30
|
-
|
31
|
-
* Sequel now skips a hash allocation when issuing queries through
|
32
|
-
datasets if sharding is not used.
|
33
|
-
|
34
|
-
* Sequel no longer uses the JDBC schema parsing in the jdbc/sqlserver
|
35
|
-
adapter. Instead, it uses the MSSQL schema parsing, which should
|
36
|
-
be more accurate than the generic JDBC schema parsing.
|
@@ -1,45 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* Model#get_column_value and #set_column_value have been added for
|
4
|
-
getting/setting column values. Historically, to get column
|
5
|
-
values, you would just send the column name, and to set column
|
6
|
-
values you would send the column name suffixed by =. However,
|
7
|
-
this doesn't work when such methods are already defined by
|
8
|
-
ruby or Sequel itself (e.g. class, model, object_id).
|
9
|
-
|
10
|
-
Both #get_column_value and #set_column_value are just aliases to
|
11
|
-
#send, but you can safely override the methods to handle column
|
12
|
-
names that conflict with existing method names. Both the core
|
13
|
-
model code and all of the plugins that ship with Sequel have
|
14
|
-
been updated to use these new methods. External plugins are
|
15
|
-
strongly encouraged to switch to these new methods.
|
16
|
-
|
17
|
-
* A column_conflicts plugin has been added to automatically handle
|
18
|
-
columns that conflict with existing method names. So if you
|
19
|
-
have a column named "model" in your table, you can just load the
|
20
|
-
column_conflicts plugin and Sequel will handle things correctly.
|
21
|
-
|
22
|
-
* A accessed_columns plugin has been added, which records which
|
23
|
-
columns have been accessed for a model instance. This is useful
|
24
|
-
in development when you are planning on restricted the columns
|
25
|
-
selected by the dataset that retrieved the instance. SELECTing
|
26
|
-
only the columns you need can result in significant performance
|
27
|
-
increases, and the accessed_columns plugin makes that easier.
|
28
|
-
|
29
|
-
* Model#cancel_action has been added for canceling actions in
|
30
|
-
before hooks, instead of having the before hook methods return
|
31
|
-
false (which is still supported). In addition to being easier to
|
32
|
-
use, this also makes it possible to use custom exception messages
|
33
|
-
for hook failures, if you are using the default behavior of raising
|
34
|
-
exceptions on save failures.
|
35
|
-
|
36
|
-
= Other Improvements
|
37
|
-
|
38
|
-
* Dataset#union, #intersect, and #except now automatically handle
|
39
|
-
datasets with raw SQL, by wrapping such datasets in subqueries.
|
40
|
-
|
41
|
-
* The integer migrator now stores the correct migration number
|
42
|
-
when migrating with allow_missing_migration_files set.
|
43
|
-
|
44
|
-
* A :timeout=>nil Database option on MySQL no longer sets a
|
45
|
-
wait_timeout.
|
data/doc/release_notes/4.2.0.txt
DELETED
@@ -1,129 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* LATERAL subqueries are now supported on PostgreSQL 9.3+, HSQLDB,
|
4
|
-
and DB2 via Dataset#lateral:
|
5
|
-
|
6
|
-
DB.from(:a, DB[:b].where(:c=>:a__d).lateral)
|
7
|
-
# SELECT * FROM a,
|
8
|
-
# LATERAL (SELECT * FROM b WHERE (c = a.d)) AS t1
|
9
|
-
|
10
|
-
You can use a similar syntax when joining tables:
|
11
|
-
|
12
|
-
DB[:a].cross_join(DB[:b].where(:c=>:a__d).lateral)
|
13
|
-
# SELECT * FROM a
|
14
|
-
# CROSS JOIN LATERAL (SELECT * FROM b WHERE (c = a.d)) AS t1
|
15
|
-
|
16
|
-
If you are using Microsoft SQL Server, you can use the new
|
17
|
-
mssql_emulate_lateral_with_apply extension to emulate LATERAL
|
18
|
-
subqueries via CROSS/OUTER APPLY.
|
19
|
-
|
20
|
-
* The static_cache plugin now supports a :frozen=>false option. When
|
21
|
-
this option is used, instead of returning the frozen cached values,
|
22
|
-
the model now returns new, unfrozen objects that can be modified.
|
23
|
-
Note that if you make any database modifications, you are
|
24
|
-
responsible for updating the cache manually.
|
25
|
-
|
26
|
-
* A pg_static_cache_updater extension has been added. This extension
|
27
|
-
can automatically update the caches used by the static_cache plugin,
|
28
|
-
whenever the underlying database table is updated, using PostgreSQL's
|
29
|
-
notification channels.
|
30
|
-
|
31
|
-
This works by defining triggers on the underlying model tables that
|
32
|
-
use NOTIFY, and spinning up a thread in your application processes
|
33
|
-
that uses LISTEN, and refreshes the cache for the related model
|
34
|
-
whenever it receives a notification that the underlying table has
|
35
|
-
been modified.
|
36
|
-
|
37
|
-
This extension should make it possible to use the static_cache plugin
|
38
|
-
with the :frozen=>false option for any table that is small and not
|
39
|
-
frequently updated.
|
40
|
-
|
41
|
-
* A from_block extension has been added that makes Database#from operate
|
42
|
-
like Dataset#from in regards to a passed block, allowing you to write
|
43
|
-
code like:
|
44
|
-
|
45
|
-
DB.from{table_returning_function(arg1, arg2)}
|
46
|
-
|
47
|
-
* Database#supports_partial_indexes? has been added for checking for
|
48
|
-
partial index support. Partial indexes are now supported on SQLite
|
49
|
-
3.8.0+.
|
50
|
-
|
51
|
-
* A pg_loose_count extension has been added for fast approximate counts
|
52
|
-
of PostgreSQL tables. This uses the system tables and should be
|
53
|
-
fairly accurate if the table statistics are up to date:
|
54
|
-
|
55
|
-
DB.loose_count(:table)
|
56
|
-
|
57
|
-
* The Dataset#use_cursor method in the postgres adapter now supports
|
58
|
-
a :cursor_name option. You can set this option if you want to
|
59
|
-
use nested cursors.
|
60
|
-
|
61
|
-
* The mysql2 adapter now supports a :flags Database option allowing to
|
62
|
-
set custom mysql2 flags (e.g. ::Mysql2::Client::MULTI_STATEMENTS).
|
63
|
-
|
64
|
-
= Other Improvements
|
65
|
-
|
66
|
-
* Dataset#freeze has been implemented. Previously, it was not
|
67
|
-
implemented, so Object#freeze was used, which resulted in a dataset
|
68
|
-
that wasn't cloneable. Dataset#freeze now works as expected,
|
69
|
-
resulting in a cloneable dataset, but it doesn't allow methods to
|
70
|
-
be called that mutate the receiver.
|
71
|
-
|
72
|
-
* Dataset#dup has been implemented. Previously, it was not
|
73
|
-
implemented, so Object#dup was used, which resulted in a dataset
|
74
|
-
that shared an options hash with the receiver, so modifying the
|
75
|
-
dup's opts could also change the original dataset. Now dup works
|
76
|
-
similarly to clone, except that the returned object will not be
|
77
|
-
frozen.
|
78
|
-
|
79
|
-
* Model#dup has been implemented. Previously, it was not implemented,
|
80
|
-
so Object#dup was used, which resulted in a model instance that
|
81
|
-
shared the values hash with the receiver, so modifying the dup's
|
82
|
-
values also changed the original's values. Now, dup does a shallow
|
83
|
-
copy of some of the internal data structures as well, so the copy
|
84
|
-
is more independent.
|
85
|
-
|
86
|
-
Note that you still need to be careful if you mutate objects:
|
87
|
-
|
88
|
-
m = Model.new(:a=>'a')
|
89
|
-
m2 = m.dup
|
90
|
-
m.a.gsub!('a', 'b') # also changes m2
|
91
|
-
|
92
|
-
* Model#clone has been implemented. Previously, it had the same
|
93
|
-
issues as dup. Now, it calls the new Model#dup, but also
|
94
|
-
freezes the returned object if the receiver is frozen.
|
95
|
-
|
96
|
-
* Placeholder literal strings with an empty parameter hash are now
|
97
|
-
handled correctly.
|
98
|
-
|
99
|
-
= Backwards Compatibility
|
100
|
-
|
101
|
-
* The static_cache plugin now disallows saving/destroying instances
|
102
|
-
unless the :frozen=>false option is used. As the cached objects
|
103
|
-
returned by the model were frozen anyway, this affects creating
|
104
|
-
new instances or saving/destroying instances returned from the
|
105
|
-
underlying dataset.
|
106
|
-
|
107
|
-
* Model#set_values has been removed (it was deprecated starting in
|
108
|
-
Sequel 4.0).
|
109
|
-
|
110
|
-
* The following Model class methods are no longer defined:
|
111
|
-
insert_multiple, set, to_csv, paginate, query, set_overrides,
|
112
|
-
set_defaults. By default, these methods used call the
|
113
|
-
dataset method of the same name, but as those methods are no
|
114
|
-
longer defined on datasets by default, they also resulted in a
|
115
|
-
NoMethodError.
|
116
|
-
|
117
|
-
* Dataset#query!, #set_defaults!, and #set_overrides! are no longer
|
118
|
-
defined on all datasets. They are now only defined on datasets
|
119
|
-
that use the query or set_overrides extensions.
|
120
|
-
|
121
|
-
* Partial indexes are no longer returned by Database#indexes on MSSQL,
|
122
|
-
for consistency with PostgreSQL. Note that the same change was
|
123
|
-
desired for SQLite, but SQLite currently does not offer reflection
|
124
|
-
support for determining which indexes are partial.
|
125
|
-
|
126
|
-
* Database#foreign_key_list on MSSQL now will return a
|
127
|
-
SQL::QualifiedIdentifier instead of a symbol for the :table entry if
|
128
|
-
the schema of the referenced table does not match the schema of the
|
129
|
-
referencing table.
|
@@ -1,79 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* A :before_retry option has been added to Database#transaction, which
|
4
|
-
specifies a proc to call when retrying if the :retry_on option
|
5
|
-
is used. This can be used to implement additional logging, sleeping
|
6
|
-
between retries, or other things.
|
7
|
-
|
8
|
-
* The to_json method :root option in the json_serializer plugin can now
|
9
|
-
be a string value to specify the name for the object key, instead of
|
10
|
-
using the underscored model name.
|
11
|
-
|
12
|
-
* Dataset#paged_each now returns an enumerator if not passed a block.
|
13
|
-
|
14
|
-
* You can now set the :instance_specific association option to false.
|
15
|
-
Previously, it was automatically set to true in some cases. If you
|
16
|
-
know the association does not depend on anything instance-specific
|
17
|
-
other than the foreign/primary key, setting this option can allow
|
18
|
-
Sequel to perform some additional optimizations.
|
19
|
-
|
20
|
-
= Other Improvements
|
21
|
-
|
22
|
-
* Eager loading queries are now skipped if there are no matching keys.
|
23
|
-
There was code to check this previously, but it was accidently
|
24
|
-
removed in an earlier refactoring.
|
25
|
-
|
26
|
-
* Eager loading an association with a limit and an eager block and
|
27
|
-
cascaded associations now works correctly when the window_function
|
28
|
-
limit strategy is used (the default on databases that support
|
29
|
-
window functions).
|
30
|
-
|
31
|
-
* Eager loading an association with a limit with an eager block now
|
32
|
-
works correctly on databases do not support window functions but do
|
33
|
-
support correlated subqueries.
|
34
|
-
|
35
|
-
* The parent association is now set on associated objects when loading
|
36
|
-
descendants in the rcte_tree plugin. This allows the parent method
|
37
|
-
on any of the descendants to work without issuing a database query.
|
38
|
-
|
39
|
-
* The prepared_statements_associations plugin now only uses prepared
|
40
|
-
statements if association metadata is being cached. Previously, it
|
41
|
-
would use prepared statements even if association metadata was not
|
42
|
-
cached, which could leak the prepared statements.
|
43
|
-
|
44
|
-
* Model#dup now duplicates the associations hash for the object.
|
45
|
-
|
46
|
-
* Model#freeze no longer validates an object if the the errors for the
|
47
|
-
object are already frozen. The static_cache plugin now freezes the
|
48
|
-
errors before freezing the object, so that it doesn't validate the
|
49
|
-
object. This can skip many database queries when the
|
50
|
-
auto_validations plugin is used and there is a unique constraint or
|
51
|
-
index on the related table.
|
52
|
-
|
53
|
-
* AUTOINCREMENT is now used again on SQLite by default for primary
|
54
|
-
keys. It was removed when :auto_increment was added to the schema
|
55
|
-
hashes, but the removal changed SQLite's behavior. This restores
|
56
|
-
the previous behavior.
|
57
|
-
|
58
|
-
* Microsoft SQL Server's bit type is now recognized as a boolean type
|
59
|
-
by the schema dumper.
|
60
|
-
|
61
|
-
* The pg_enum extension's create_enum method can now be used in
|
62
|
-
reversible migrations.
|
63
|
-
|
64
|
-
* set_column_type with the :auto_increment=>true option once again
|
65
|
-
works on MySQL. It had been broken since Sequel started adding
|
66
|
-
:auto_increment to the schema hashes.
|
67
|
-
|
68
|
-
* The mysql2 adapter now recognizes the :charset option as a synonym
|
69
|
-
for :encoding.
|
70
|
-
|
71
|
-
* The swift adapter now respects database and application timezone
|
72
|
-
settings.
|
73
|
-
|
74
|
-
= Backwards Compatibility
|
75
|
-
|
76
|
-
* AssociationReflection#apply_ruby_eager_limit_strategy no longer
|
77
|
-
checks that the strategy is :ruby, callers are now expected to
|
78
|
-
check the value themselves. This should only matter if you are
|
79
|
-
using custom association types.
|
@@ -1,94 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* SQL::GenericExpression#=~ has been added as an alternative method
|
4
|
-
of specifying equality/inclusion/identity. Previously, you had to
|
5
|
-
use a hash. This led to some slightly weird looking syntax when
|
6
|
-
used inside virtual rows:
|
7
|
-
|
8
|
-
DB[:items].where{{function(:column)=>0}}
|
9
|
-
# SELECT FROM items WHERE function(column) = 0
|
10
|
-
|
11
|
-
You can now use =~ as an equivalent:
|
12
|
-
|
13
|
-
DB[:items].where{function(:column) =~ 0}
|
14
|
-
# SELECT FROM items WHERE function(column) = 0
|
15
|
-
|
16
|
-
Like when using a hash, this works also for inclusion:
|
17
|
-
|
18
|
-
DB[:items].where{function(:column) =~ [1,2,3]}
|
19
|
-
# SELECT FROM items WHERE function(column) IN (1, 2, 3)
|
20
|
-
|
21
|
-
for identity:
|
22
|
-
|
23
|
-
DB[:items].where{function(:column) =~ nil}
|
24
|
-
# SELECT FROM items WHERE function(column) IS NULL
|
25
|
-
|
26
|
-
and for matching (on MySQL/PostgreSQL):
|
27
|
-
|
28
|
-
DB[:items].where{function(:column) =~ /foo/i}
|
29
|
-
# SELECT FROM items WHERE function(column) ~* 'foo'
|
30
|
-
|
31
|
-
This new syntax makes more complex conditions simpler to express:
|
32
|
-
|
33
|
-
DB[:items].where{(function(:column) =~ 0) | (column =~ 1)}
|
34
|
-
# SELECT FROM items WHERE function(column) = 0 OR column = 1
|
35
|
-
|
36
|
-
compared to previous versions of Sequel:
|
37
|
-
|
38
|
-
DB[:items].where{Sequel.|({function(:column) => 0}, {:column => 1})}
|
39
|
-
|
40
|
-
On ruby 1.9+, you can also use SQL::GenericExpression#!~ to invert
|
41
|
-
the condition:
|
42
|
-
|
43
|
-
DB[:items].where{function(:column) !~ 0}
|
44
|
-
# SELECT FROM items WHERE function(column) != 0
|
45
|
-
|
46
|
-
DB[:items].where{function(:column) !~ [1,2,3]}
|
47
|
-
# SELECT FROM items WHERE function(column) NOT IN (1, 2, 3)
|
48
|
-
|
49
|
-
DB[:items].where{function(:column) !~ nil}
|
50
|
-
# SELECT FROM items WHERE function(column) IS NOT NULL
|
51
|
-
|
52
|
-
DB[:items].where{function(:column) !~ /foo/i}
|
53
|
-
# SELECT FROM items WHERE function(column) !~* 'foo'
|
54
|
-
|
55
|
-
This makes it simpler to write inverted conditions. Ruby 1.8
|
56
|
-
doesn't support overriding the !~ method, but you can still use the
|
57
|
-
unary ~ method to invert:
|
58
|
-
|
59
|
-
DB[:items].where{~(function(:column) =~ 0)}
|
60
|
-
|
61
|
-
* Database#add_named_conversion_proc has been added on PostgreSQL to
|
62
|
-
make it easier to add conversion procs by name instead of by OID:
|
63
|
-
|
64
|
-
DB.add_named_conversion_proc(:citext){|s| s}
|
65
|
-
|
66
|
-
* Database#full_text_search on PostgreSQL now supports :tsquery and
|
67
|
-
:tsvector options for using existing tsquery and/or tsvector
|
68
|
-
arguments, instead of assuming the arguments are query terms or
|
69
|
-
the text to be search.
|
70
|
-
|
71
|
-
= Other Improvements
|
72
|
-
|
73
|
-
* Database#transaction now works inside after_commit and
|
74
|
-
after_rollback hooks. Previously, it didn't work correctly as it
|
75
|
-
thought it was already inside the previously committed/rolled back
|
76
|
-
transaction.
|
77
|
-
|
78
|
-
* Sequel.pg_jsonb now returns JSONBOp instances instead of JSONOp
|
79
|
-
instances when passed other than Array or Hash.
|
80
|
-
|
81
|
-
* The tinytds adapter no longer tries to cancel a query on a closed
|
82
|
-
connection, which was causing an exception to be raised.
|
83
|
-
|
84
|
-
= Backwards Compatibility
|
85
|
-
|
86
|
-
* The default root name used in the JSON serializer is now demodulized
|
87
|
-
before being underscored. This changes the behavior when the model
|
88
|
-
is namespaced. For example, if the model class name is Mod::Model,
|
89
|
-
the previous default root name would be "mod/model", the new default
|
90
|
-
root name is "model".
|
91
|
-
|
92
|
-
* If you were calling =~ or !~ on SQL::GenericExpression objects and
|
93
|
-
expecting the default ruby behavior of returning nil for =~ and
|
94
|
-
true for !~, you'll have to update your code.
|
@@ -1,72 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* A csv_serializer plugin has been added, for serializing model
|
4
|
-
objects and datasets to CSV, or parsing CSV into a model
|
5
|
-
object or array of model objects. Behavior and API is similar to
|
6
|
-
the existing xml_serializer and json_serializer plugins.
|
7
|
-
|
8
|
-
* Sequel::MassAssignmentRestriction is now raised for mass assignment
|
9
|
-
errors in strict mode (the default). Previously the generic
|
10
|
-
Sequel::Error was used.
|
11
|
-
|
12
|
-
= Other Improvements
|
13
|
-
|
14
|
-
* On Ruby 1.9+, Sequel now uses condition variables instead of busy
|
15
|
-
waiting for connections in the threaded conection pools. This
|
16
|
-
can significantly decrease overhead when waiting for connections,
|
17
|
-
which can improve performance on machines that are compute
|
18
|
-
bottlenecked. This also makes the connection pool checkouts more
|
19
|
-
fair, reducing the chance that a request for a connection will
|
20
|
-
fail with a PoolTimeout when under heavy resource contention.
|
21
|
-
|
22
|
-
* Sequel now attempts to avoid hash allocations and rehashing in
|
23
|
-
performance sensitive code. This can speed up Dataset#clone,
|
24
|
-
Model#clone, and #Model#dup by about 60%, and speed up method
|
25
|
-
chains such as:
|
26
|
-
|
27
|
-
ds.select(:a).where(:a=>1).order(1)
|
28
|
-
|
29
|
-
by almost 20%.
|
30
|
-
|
31
|
-
* Symbol#to_proc is used instead of explicit blocks across the
|
32
|
-
the library, which should improve performance slightly on Ruby 1.9+.
|
33
|
-
|
34
|
-
* When Model#cancel_action is used in association before hooks,
|
35
|
-
Sequel will now return false if raise_on_save_failure = false,
|
36
|
-
instead of raising an exception. This mirrors the behavior
|
37
|
-
when Model#cancel_action is used inside model save hooks when
|
38
|
-
raise_on_save_failure = false.
|
39
|
-
|
40
|
-
* Dataset#to_hash and #to_hash_groups now work correctly on model
|
41
|
-
datasets when given a single array argument.
|
42
|
-
|
43
|
-
* The auto_validations plugin now works correctly on columns that
|
44
|
-
have a default value, but where the default value is not parseable
|
45
|
-
into a ruby object by the adapter.
|
46
|
-
|
47
|
-
* The tree plugin now correctly sets the reciprocal association
|
48
|
-
in the children association it creates.
|
49
|
-
|
50
|
-
* In the pg_array extension, if the :default value when creating a
|
51
|
-
column is set to a ruby array, Sequel will now convert it to a
|
52
|
-
PostgreSQL array.
|
53
|
-
|
54
|
-
* Sequel no longer adds a :max_length entry to the schema for
|
55
|
-
varchar(max) columns on Microsoft SQL Server.
|
56
|
-
|
57
|
-
* Adapters now are specified to set the :default schema entry for
|
58
|
-
columns to nil if the adapter can determine the :default is nil.
|
59
|
-
Adapters that ship with Sequel already did this, but previously
|
60
|
-
it was unspecified behavior.
|
61
|
-
|
62
|
-
* Sequel no longer silently ignores the :jdbc_properties Database
|
63
|
-
option in the jdbc adapter. Previously, it only used the
|
64
|
-
:jdbc_properties option if it was not able to connect without it.
|
65
|
-
|
66
|
-
* Bit types are now converted to boolean values in the ODBC adapter.
|
67
|
-
|
68
|
-
= Backwards Compatibility
|
69
|
-
|
70
|
-
* The db2, dbi, fdbsql, firebird, jdbc/fdbsql, informix, and openbase
|
71
|
-
adapters are now deprecated and will be removed in a future version
|
72
|
-
of Sequel.
|