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
data/doc/release_notes/3.9.0.txt
DELETED
@@ -1,233 +0,0 @@
|
|
1
|
-
New Features
|
2
|
-
------------
|
3
|
-
|
4
|
-
* The ConnectionPool classes were refactored from 2 separate
|
5
|
-
classes to a 5 class hierarchy, with one main class and 4
|
6
|
-
subclasses, one for each combination of sharding and threading.
|
7
|
-
|
8
|
-
The primary reason for this refactoring is to make it so that
|
9
|
-
the user doesn't have to pay a performance penalty for sharding
|
10
|
-
if they aren't using it. A connection pool that supports sharding
|
11
|
-
is automatically used if the :servers option is used when setting
|
12
|
-
up the database connection.
|
13
|
-
|
14
|
-
In addition, the default connection pool no longer contains
|
15
|
-
the code to schedule future disconnections of currently allocated
|
16
|
-
connections. The sharded connection pool must be used if that
|
17
|
-
feature is desired.
|
18
|
-
|
19
|
-
The unsharded connection pools are about 25-30% faster than the
|
20
|
-
sharded versions.
|
21
|
-
|
22
|
-
* An optimistic_locking plugin was added to Sequel::Model. This
|
23
|
-
plugin implements a simple database-independent locking mechanism
|
24
|
-
to ensure that concurrent updates do not override changes:
|
25
|
-
|
26
|
-
class Person < Sequel::Model
|
27
|
-
plugin :optimistic_locking
|
28
|
-
end
|
29
|
-
p1 = Person[1]
|
30
|
-
p2 = Person[1]
|
31
|
-
# works
|
32
|
-
p1.update(:name=>'Jim')
|
33
|
-
# raises Sequel::Plugins::OptimisticLocking::Error
|
34
|
-
p2.update(:name=>'Bob')
|
35
|
-
|
36
|
-
In order for this plugin to work, you need to make sure that the
|
37
|
-
database table has a lock_version column (or other column you name
|
38
|
-
via the lock_column class level accessor) that defaults to 0.
|
39
|
-
|
40
|
-
The optimistic_locking plugin does not work with the
|
41
|
-
class_table_inheritance plugin.
|
42
|
-
|
43
|
-
* Dataset#unused_table_alias was added, which takes a symbol and
|
44
|
-
returns either that symbol or a new symbol which can be used as
|
45
|
-
a table alias when joining a table to the dataset. The symbol
|
46
|
-
returned is guaranteed to not already be used by the dataset:
|
47
|
-
|
48
|
-
DB[:test].unused_table_alias(:blah) # => :blah
|
49
|
-
DB[:test].unused_table_alias(:test) # => :test_0
|
50
|
-
|
51
|
-
The use case is when you need to join a table to a dataset, where
|
52
|
-
the table may already be used inside the dataset, and you want
|
53
|
-
to generate a unique alias:
|
54
|
-
|
55
|
-
ds.join(:table.as(ds.unused_table_alias(:table)), ...)
|
56
|
-
|
57
|
-
* The Sequel::ValidationFailed exception now has an errors accessor
|
58
|
-
which returns the Sequel::Model::Errors instance with the
|
59
|
-
validation errors. This can be helpful in situations where a
|
60
|
-
generalized rescue is done where the model object reference is
|
61
|
-
not available.
|
62
|
-
|
63
|
-
* bin/sequel now works without an argument, which is useful for
|
64
|
-
testing SQL generation (and not much else).
|
65
|
-
|
66
|
-
* Support SELECT ... INTO in the MSSQL adapter, using Dataset#into,
|
67
|
-
which takes a table argument.
|
68
|
-
|
69
|
-
* You can now provide your own connection pool class via the
|
70
|
-
:pool_class option when instantiating the database.
|
71
|
-
|
72
|
-
Other Improvements
|
73
|
-
------------------
|
74
|
-
|
75
|
-
* IN/NOT IN constructs with an empty array are now handled properly.
|
76
|
-
|
77
|
-
DB[:table].filter(:id=>[]) # IN
|
78
|
-
DB[:table].exclude(:id=>[]) # NOT IN
|
79
|
-
|
80
|
-
Before, the IN construct would mostly work, other than some minor
|
81
|
-
differences in NULL semantics. However, the NOT IN construct
|
82
|
-
would not work. Sequel now handles the NOT IN case using an
|
83
|
-
expression that evaluates to true.
|
84
|
-
|
85
|
-
* If using an IN/NOT IN construct with multiple columns and a dataset
|
86
|
-
argument, where multiple column IN/NOT IN support is emulated, a
|
87
|
-
separate query is done to get the records, which is then handled
|
88
|
-
like an array of values. This means that the following type of
|
89
|
-
query now works on all tested databases:
|
90
|
-
|
91
|
-
DB[:table1].filter([:id1, :id2]=>DB[:table2].select(:id1, :id2))
|
92
|
-
|
93
|
-
* Schemas and aliases are now handled correctly when eager graphing.
|
94
|
-
|
95
|
-
* Implicitly qualified symbols are now handled correctly in update
|
96
|
-
statements, useful if you are updating a joined dataset and need
|
97
|
-
to reference a column that appears in multiple tables.
|
98
|
-
|
99
|
-
* The active_model plugin has been brought up to date with
|
100
|
-
activemodel 3.0 beta (though it doesn't work on edge).
|
101
|
-
Additionally, the active_model plugin now requires active_model
|
102
|
-
in order to use ActiveModel::Naming.
|
103
|
-
|
104
|
-
* In the schema_dumper extension, always include the varchar limit,
|
105
|
-
even if it is 255 columns (the default). This makes it so that
|
106
|
-
PostgreSQL will use a varchar(255) column instead of a text column
|
107
|
-
when restoring a schema dump of a varchar(255) column from another
|
108
|
-
database.
|
109
|
-
|
110
|
-
* You can now load adapters from outside the Sequel lib directory,
|
111
|
-
now they just need to be in a sequel/adapters directory somewhere
|
112
|
-
in the LOAD_PATH.
|
113
|
-
|
114
|
-
* You can now load extensions from outside the Sequel lib directory
|
115
|
-
using Sequel.extension. External extensions need to be in a
|
116
|
-
sequel/extensions directory somewhere in the LOAD_PATH.
|
117
|
-
|
118
|
-
* Using bound variables for limit and offset in prepared statements
|
119
|
-
now works correctly.
|
120
|
-
|
121
|
-
* Performance of prepared statements was improved in the native
|
122
|
-
SQLite adapter.
|
123
|
-
|
124
|
-
* The schema_dumper extension now passes the options hash from
|
125
|
-
dump_*_migration to Database#tables.
|
126
|
-
|
127
|
-
* In the single_table_inheritance plugin, qualify the sti_key column
|
128
|
-
with the table name, so that subclass datasets can safely be joined
|
129
|
-
to other tables having the same column name.
|
130
|
-
|
131
|
-
* In the single_table_inheritance plugin, handle case where the
|
132
|
-
sti_key value is nil or '' specially, so that those cases
|
133
|
-
always return an instance of the main model class. This fixes
|
134
|
-
issues if constantize(nil) returns Object instead of raising
|
135
|
-
an exception.
|
136
|
-
|
137
|
-
* No longer use Date#to_s for literalization, always use ISO8601
|
138
|
-
format for dates.
|
139
|
-
|
140
|
-
* A couple lambdas which were instance_evaled were changed to procs
|
141
|
-
for ruby 1.9.2 compatibility.
|
142
|
-
|
143
|
-
* MSSQL emulated offset support was simplified to only use one
|
144
|
-
subquery, and made to work correctly on ruby 1.9.
|
145
|
-
|
146
|
-
* Emulate multiple column IN/NOT IN on H2, since it doesn't handle
|
147
|
-
all cases correctly.
|
148
|
-
|
149
|
-
* ODBC timestamps are now handled correctly if the database_timezone
|
150
|
-
is nil.
|
151
|
-
|
152
|
-
* ArgumentErrors raised when running queries in the ODBC adapter are
|
153
|
-
now raised as DatabaseErrors.
|
154
|
-
|
155
|
-
* Attempting to use DISTINCT ON on SQLite now raises an error before
|
156
|
-
sending the query to the database.
|
157
|
-
|
158
|
-
* The options hash passed to the database connection method is no
|
159
|
-
longer modified. However, there may be additional options
|
160
|
-
present in Database#opts that weren't specified by the options
|
161
|
-
hash passed to the database connection method.
|
162
|
-
|
163
|
-
* Make Dataset#add_graph_aliases handle the case where the dataset
|
164
|
-
has not yet been graphed.
|
165
|
-
|
166
|
-
* You can now provide an SQL::Identifier as a 4th argument to
|
167
|
-
Dataset#join_table, and unsupported arguments are caught and an
|
168
|
-
exception is raised.
|
169
|
-
|
170
|
-
* The gem specification has been moved out of the Rakefile, so
|
171
|
-
that the gem can now be built without rake, and works well with
|
172
|
-
gem build and bundler.
|
173
|
-
|
174
|
-
* The Rakefile no longer assumes the current directory is in the
|
175
|
-
$LOAD_PATH, so it should work correctly on ruby 1.9.2.
|
176
|
-
|
177
|
-
* All internal uses of require are now thread safe.
|
178
|
-
|
179
|
-
* Empty query parameter keys in connection strings are now ignored
|
180
|
-
instead of raising an exception.
|
181
|
-
|
182
|
-
* The specs were changed so that you can run them in parallel.
|
183
|
-
Previously there was a race condition in the migration extension
|
184
|
-
specs.
|
185
|
-
|
186
|
-
Backwards Compatibility
|
187
|
-
-----------------------
|
188
|
-
|
189
|
-
* If you plan on using sharding at any point, you now must pass
|
190
|
-
a :servers option when connecting to the database, even if it is
|
191
|
-
an empty hash. You can no longer just call Database#add_servers
|
192
|
-
later.
|
193
|
-
|
194
|
-
* The connection_proc and disconnection_proc accessors were removed
|
195
|
-
from the connection pools, so you can no longer modify the procs
|
196
|
-
after the connection pool has been instantiated. You must now
|
197
|
-
provide the connection_proc as the block argument when
|
198
|
-
instantiating the pool, and the disconnection_proc via the
|
199
|
-
:disconnection_proc option.
|
200
|
-
|
201
|
-
* In the hash passed to Dataset#update, symbol keys with a double
|
202
|
-
embedded underscore are now considerated as implicit qualifiers,
|
203
|
-
instead of being used verbatim. If you have a column that includes
|
204
|
-
a double underscore, you now need to wrap it in an SQL::Identifier
|
205
|
-
or use a String instead.
|
206
|
-
|
207
|
-
* The connection pools no longer convert non-StandardError based
|
208
|
-
exceptions to RuntimeErrors. Previously, all of the common adapters
|
209
|
-
turned this feature off, so there is no change for most users.
|
210
|
-
|
211
|
-
* Sequel::ConnectionPool is now considered an abstract class and
|
212
|
-
should not be instantiated directly. Use ConnectionPool.get_pool
|
213
|
-
to return an instance of the appropriate subclass.
|
214
|
-
|
215
|
-
* The Sequel::SingleThreadedPool constant is no longer defined.
|
216
|
-
|
217
|
-
* The private Dataset#eager_unique_table_alias method was removed,
|
218
|
-
use the new public Dataset#unused_table_alias method instead, which
|
219
|
-
has a slightly different API.
|
220
|
-
|
221
|
-
* The private Dataset#eager_graph_qualify_order method was removed,
|
222
|
-
used Dataset#qualified_expression instead.
|
223
|
-
|
224
|
-
* The private Sequel::Model class methods plugin_gem_location and
|
225
|
-
plugin_gem_location_old have been removed.
|
226
|
-
|
227
|
-
* Gems built with the rake tasks now show up in the root directory
|
228
|
-
instead of the pkg subdirectory, and no tarball package is created.
|
229
|
-
|
230
|
-
Other News
|
231
|
-
----------
|
232
|
-
|
233
|
-
* Sequel now has an official blog at http://sequel.jeremyevans.net/blog.html.
|
data/doc/release_notes/4.0.0.txt
DELETED
@@ -1,262 +0,0 @@
|
|
1
|
-
= Backwards Compatibility
|
2
|
-
|
3
|
-
* All behavior resulting in deprecation messages in 3.48.0 has been
|
4
|
-
removed or modified. If you plan on upgrading to Sequel 4.0.0 and
|
5
|
-
have not yet upgraded to 3.48.0, upgrade to 3.48.0 first, fix code
|
6
|
-
that results in deprecation warnings, and then upgrade to 4.0.0.
|
7
|
-
|
8
|
-
* The threaded connection pools now default to
|
9
|
-
:connection_handling=>:queue. You can manually set
|
10
|
-
:connection_handling=>:stack to get the previous behavior.
|
11
|
-
|
12
|
-
* Model.raise_on_typecast_failure now defaults to false. Set this to
|
13
|
-
true to get the previous behavior of raising typecast errors in the
|
14
|
-
setter methods.
|
15
|
-
|
16
|
-
* Model#save no longer calls Model#_refresh or Model#set_values
|
17
|
-
internally after an insert. Manual refreshes are now treated
|
18
|
-
differently than after creation refreshes.
|
19
|
-
|
20
|
-
* On SQLite, integer_booleans now defaults to true. Set this to
|
21
|
-
false to get the previous behavior of 't' for true and 'f' for
|
22
|
-
false. Sequel will not automatically upgrade your data, users
|
23
|
-
are responsible for doing that if they want to switch the
|
24
|
-
integer_booleans setting. Note that regardless of the setting,
|
25
|
-
Sequel will return the correct ruby values when retrieving the
|
26
|
-
rows.
|
27
|
-
|
28
|
-
Example Code to Migrate Existing Data:
|
29
|
-
|
30
|
-
DB[:table].where(:column=>'t').update(:column=>1)
|
31
|
-
DB[:table].where(:column=>'f').update(:column=>0)
|
32
|
-
|
33
|
-
* On SQLite, use_timestamp_timezones is now false by default. Set
|
34
|
-
this to true to get the previous behavior with timezone information
|
35
|
-
in timestamps. Sequel will not automatically upgrade your data,
|
36
|
-
users are responsible for doing that if they want to switch the
|
37
|
-
use_timestamp_timezones setting. Note that regardless of the
|
38
|
-
setting, Sequel will return the correct ruby values when
|
39
|
-
retrieving the rows.
|
40
|
-
|
41
|
-
* Using window functions when eagerly loading associations with
|
42
|
-
limits or offsets is now done automatically if the database
|
43
|
-
supports it. Previously, this had to be enabled manually. If
|
44
|
-
you would like to disable this optimization and just do the
|
45
|
-
slicing in ruby, set default_eager_limit_strategy = nil.
|
46
|
-
|
47
|
-
* The default value for most option hash arguments is now an shared
|
48
|
-
empty frozen hash. If you are overriding methods and modifying
|
49
|
-
option hashes, fix your code.
|
50
|
-
|
51
|
-
* The defaults_setter plugin now works in a lazy manner instead of
|
52
|
-
an eager manner. So calling the related method returns the
|
53
|
-
default value if there is no value stored, but Sequel does not
|
54
|
-
add the default values to the internal values hash, and will not
|
55
|
-
attempt to insert what it thinks is the default value when
|
56
|
-
saving the new object.
|
57
|
-
|
58
|
-
* Model#set_all and #update_all now allow setting the primary key
|
59
|
-
columns.
|
60
|
-
|
61
|
-
* The many_to_one_pk_lookup and association_autoreloading plugins
|
62
|
-
are now integrated into the default associations support.
|
63
|
-
|
64
|
-
* Plugins now extend the class with ClassMethods before including
|
65
|
-
InstanceMethods in the class.
|
66
|
-
|
67
|
-
* Dataset#get, #select_map, and #select_order_map now automatically
|
68
|
-
add aliases for unaliased expressions if given a single expression.
|
69
|
-
|
70
|
-
* Database#tables and #views on PostgreSQL now check against
|
71
|
-
the current schemas in the search path.
|
72
|
-
|
73
|
-
* Calling ungraphed on an eager_graph dataset will restore the
|
74
|
-
row_proc for that dataset. This is not backwards compatible if
|
75
|
-
your method chain does:
|
76
|
-
|
77
|
-
dataset.eager_graph.naked.ungraphed
|
78
|
-
|
79
|
-
Switch such code to:
|
80
|
-
|
81
|
-
dataset.eager_graph.ungraphed.naked
|
82
|
-
|
83
|
-
* The Model#set_restricted and #update_restricted private methods
|
84
|
-
have a slightly different API now.
|
85
|
-
|
86
|
-
* Sequel::SQL::SQLArray alias for ValueList has been removed.
|
87
|
-
|
88
|
-
* Sequel::SQL::NoBooleanInputMethods has been removed.
|
89
|
-
|
90
|
-
* Sequel::NotImplemented has been removed. Default implementations
|
91
|
-
of methods that used to raise this exception have been removed.
|
92
|
-
|
93
|
-
* Sequel::Model::EMPTY_INSTANCE_VARIABLES has been removed.
|
94
|
-
|
95
|
-
* The Sequel::Postgres::DatabaseMethods::EXCLUDE_SCHEMAS and
|
96
|
-
SYSTEM_TABLE_REGEXP constants have been removed.
|
97
|
-
|
98
|
-
* Dataset#columns_without_introspection has been removed from the
|
99
|
-
columns_introspection extension.
|
100
|
-
|
101
|
-
* Sequel no longer provides a default database for the adapter or
|
102
|
-
integration specs. Additionally, if you are using spec_config.rb
|
103
|
-
to configure a database to use when adapter/integration testing,
|
104
|
-
you may need to modify it, as Sequel now uses the DB constant for
|
105
|
-
the database being tested.
|
106
|
-
|
107
|
-
* The SEQUEL_MSSQL_SPEC_REQUIRE and SEQUEL_DB2_SPEC_REQUIRE
|
108
|
-
environment variables are no longer respected when
|
109
|
-
adapter/integration testing those databases. Use RUBYOPT with the
|
110
|
-
-r flag.
|
111
|
-
|
112
|
-
* In the 3.48.0 release notes, it was announced that
|
113
|
-
Dataset#join_table would default to :qualify=>:deep in 4.0.0. This
|
114
|
-
change was made but reverted before the release of 4.0.0 as it was
|
115
|
-
determined too likely to break existing code, there was no
|
116
|
-
deprecation warning (since it just changed a setting), and the
|
117
|
-
benefit was minimal. You can make deep qualification the default by
|
118
|
-
by overriding Dataset#default_join_table_qualification.
|
119
|
-
|
120
|
-
= New Features
|
121
|
-
|
122
|
-
* A pg_array_associations plugin has been added, for creating
|
123
|
-
an association based on a PostgreSQL array column containing
|
124
|
-
foreign keys. Example:
|
125
|
-
|
126
|
-
# Database schema:
|
127
|
-
# tags albums
|
128
|
-
# :id (int4) <--\ :id
|
129
|
-
# :name \-- :tag_ids (int4[])
|
130
|
-
# :name
|
131
|
-
|
132
|
-
class Album
|
133
|
-
plugin :pg_array_associations
|
134
|
-
pg_array_to_many :tags
|
135
|
-
end
|
136
|
-
class Tag
|
137
|
-
plugin :pg_array_associations
|
138
|
-
many_to_pg_array :albums
|
139
|
-
end
|
140
|
-
|
141
|
-
This operates similarly to a many_to_many association, but does not
|
142
|
-
require a join table. All of the usual Sequel association features
|
143
|
-
are supported, such as adding, removing, and clearing associations,
|
144
|
-
eager loading via eager and eager_graph, filtering by associations,
|
145
|
-
and dataset associations.
|
146
|
-
|
147
|
-
Note that until PostgreSQL gains the ability to enforce foreign key
|
148
|
-
constraints in array columns, this plugin is not recommended for
|
149
|
-
production use unless you plan on emulating referential integrity
|
150
|
-
constraints via triggers.
|
151
|
-
|
152
|
-
* Dataset#from now accepts virtual_row blocks, making it easy to use
|
153
|
-
with table returning functions:
|
154
|
-
|
155
|
-
DB.from{table_returning_function(arg)}
|
156
|
-
|
157
|
-
* Sequel.deep_qualify has been added, for easily doing a deep
|
158
|
-
qualification of objects:
|
159
|
-
|
160
|
-
Sequel.deep_qualify(:table, Sequel.+(:column, 1))
|
161
|
-
# ("table"."column" + 1)
|
162
|
-
Sequel.deep_qualify(:table, Sequel.like(:a, 'b'))
|
163
|
-
# ("table"."a" LIKE 'b' ESCAPE '\')
|
164
|
-
|
165
|
-
* The prepared_statements_associations plugin now handles one_to_one
|
166
|
-
associations.
|
167
|
-
|
168
|
-
* SQL::Subscript objects now handle ruby range arguments, operating as
|
169
|
-
an SQL array slice:
|
170
|
-
|
171
|
-
Sequel.subscript(:a, 1..2) # a[1:2]
|
172
|
-
|
173
|
-
* Database#create_view now accepts a :columns option to provide
|
174
|
-
explicit column names for the view.
|
175
|
-
|
176
|
-
* Postgres::ArrayOp#[] now returns an ArrayOp if given a range, since
|
177
|
-
a PostgreSQL array slice can be treated as an array.
|
178
|
-
|
179
|
-
* Postgres::ArrayOp#hstore has been added for creating hstores from
|
180
|
-
PostgreSQL arrays.
|
181
|
-
|
182
|
-
* When creating full text indexes on PostgreSQL, the :index_type=>:gist
|
183
|
-
option can be used to use a gist index instead of the default gin
|
184
|
-
index. This can be useful if insert/update speed is more important
|
185
|
-
than lookup speed.
|
186
|
-
|
187
|
-
* You can now provide the :owner option to Database#create_schema on
|
188
|
-
PostgreSQL to specify the owner of the schema.
|
189
|
-
|
190
|
-
* You can now provide the :if_exists option to Database#drop_view
|
191
|
-
on PostgreSQL to not raise an error if the view doesn't exist.
|
192
|
-
|
193
|
-
* The pg_json extension now handles non-JSON plain strings, integers
|
194
|
-
and floats in PostgreSQL JSON columns.
|
195
|
-
|
196
|
-
= Support for New Features in PostgreSQL 9.3
|
197
|
-
|
198
|
-
* A pg_json_ops extension has been added to support the new json
|
199
|
-
operators and functions.
|
200
|
-
|
201
|
-
* Postgres::ArrayOp#replace and #remove have been added for using the
|
202
|
-
array_replace and array_remove functions.
|
203
|
-
|
204
|
-
* You can now provide the :if_not_exists option when using
|
205
|
-
Database#create_schema on PostgreSQL to not raise an error if the
|
206
|
-
schema already exists.
|
207
|
-
|
208
|
-
* Database#create_view now supports a :recursive option on PostgreSQL
|
209
|
-
for creating recursive views.
|
210
|
-
|
211
|
-
* Database#create_view and #drop_view now support a :materialized option
|
212
|
-
on PostgreSQL for creating/dropping materialized views.
|
213
|
-
|
214
|
-
* Database#refresh_view has been added on PostgreSQL for refreshing
|
215
|
-
materialized views.
|
216
|
-
|
217
|
-
= Other Improvements
|
218
|
-
|
219
|
-
* Check constraints are now always surrounded by parantheses, since that
|
220
|
-
is required by the SQL standard. This fixes issues in the cases where
|
221
|
-
parentheses were not used automatically, such as when a function call
|
222
|
-
was used.
|
223
|
-
|
224
|
-
* Using an offset without a limit when eager loading now works
|
225
|
-
correctly.
|
226
|
-
|
227
|
-
* The prepared_statements_associations plugin now works correctly when
|
228
|
-
the associated class uses a filtered dataset.
|
229
|
-
|
230
|
-
* The prepared_statements_associations plugin can now use a prepared
|
231
|
-
statement for cases where the association uses :conditions.
|
232
|
-
|
233
|
-
* Boolean prepared statement arguments now work correctly in the sqlite
|
234
|
-
adapter when the integer_booleans setting is true.
|
235
|
-
|
236
|
-
* Dataset#inspect on prepared statements now handles anonymous dataset
|
237
|
-
classes correctly.
|
238
|
-
|
239
|
-
* When dataset string/blob literalization depends on having a database
|
240
|
-
connection and the dataset has an assigned server, a connection to
|
241
|
-
the assigned server is used.
|
242
|
-
|
243
|
-
* More disconnect errors are now handled when using the postgres
|
244
|
-
adapter with the postgres-pr driver, and in the jdbc/oracle adapter.
|
245
|
-
|
246
|
-
* Composite primary keys are now parsed correctly on SQLite 3.7.16+.
|
247
|
-
|
248
|
-
* Blobs are now hex escaped on MySQL, which can solve some encoding
|
249
|
-
issues when blobs are used as literals in the same SQL query with
|
250
|
-
UTF-8 strings.
|
251
|
-
|
252
|
-
* BigDecimals instances are now formatted nicer in the pretty_table
|
253
|
-
extension.
|
254
|
-
|
255
|
-
* Sequel now raises an exception when attempting to literalize infinite
|
256
|
-
and NaN floats on MySQL. In general, this would result in MySQL
|
257
|
-
raising an error, but in extreme cases it could have failed silently.
|
258
|
-
|
259
|
-
* You can now use a NO_SEQUEL_PG environment variable to not
|
260
|
-
automatically require sequel_pg in the postgres adapter.
|
261
|
-
|
262
|
-
* Dataset#unbind now always uses symbol keys in the bind variable hash.
|
data/doc/release_notes/4.1.0.txt
DELETED
@@ -1,85 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* Database#run and #<< now accept SQL::PlaceholderLiteralString
|
4
|
-
objects, allowing you to more easily run arbitrary DDL queries with
|
5
|
-
placeholders:
|
6
|
-
|
7
|
-
DB.run Sequel.lit("CREATE TABLE ? (? integer)", :table, :column)
|
8
|
-
|
9
|
-
* You can now provide options for check constraints by calling the
|
10
|
-
constraint/add_constraint methods with a hash as the first argument.
|
11
|
-
On PostgreSQL, you can now use the :not_valid option for check
|
12
|
-
constraints, so they are enforced for inserts and updates, but
|
13
|
-
not for existing rows.
|
14
|
-
|
15
|
-
DB.create_table(:table) do
|
16
|
-
...
|
17
|
-
constraint({:name=>:constraint_name, :not_valid=>true}) do
|
18
|
-
column_name > 10
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
* Dataset#stream has been added to the mysql2 adapter, and will have
|
23
|
-
the dataset stream results if used with mysql2 0.3.12+. This
|
24
|
-
allows you to process large datasets without keeping the entire
|
25
|
-
dataset in memory.
|
26
|
-
|
27
|
-
DB[:large_table].stream.each{|r| ...}
|
28
|
-
|
29
|
-
* Database#error_info has been added to the postgres adapter. It
|
30
|
-
is supported on PostgreSQL 9.3+ if pg-0.16.0+ is used as the
|
31
|
-
underlying driver, and it gives you a hash of metadata related
|
32
|
-
to the exception:
|
33
|
-
|
34
|
-
DB[:table_name].insert(1) rescue DB.error_info($!)
|
35
|
-
# => {:schema=>"public", :table=>"table_name", :column=>nil,
|
36
|
-
:constraint=>"constraint_name", :type=>nil}
|
37
|
-
|
38
|
-
* The :deferrable option is now supported when adding exclusion
|
39
|
-
constraints on PostgreSQL, to allow setting up deferred exclusion
|
40
|
-
constraints.
|
41
|
-
|
42
|
-
* The :inherits option is now supported in Database#create_table on
|
43
|
-
PostgreSQL, for table inheritance:
|
44
|
-
|
45
|
-
DB.create_table(:t1, :inherits=>:t0){}
|
46
|
-
# CREATE TABLE t1 () INHERITS (t0)
|
47
|
-
|
48
|
-
* Dataset#replace and #multi_replace are now supported on SQLite,
|
49
|
-
just as they have been previously on MySQL.
|
50
|
-
|
51
|
-
* In the jdbc adapter, Java::JavaUtil::HashMap objects are now
|
52
|
-
converted to ruby Hash objects. This is to make it easier to
|
53
|
-
handle the PostgreSQL hstore type when using the jdbc/postgres
|
54
|
-
adapter.
|
55
|
-
|
56
|
-
* The odbc adapter now supports a :drvconnect option that accepts
|
57
|
-
an ODBC connection string that is passed to ruby-odbc verbatim.
|
58
|
-
|
59
|
-
= Other Improvements
|
60
|
-
|
61
|
-
* The prepared_statements plugin no longer breaks the
|
62
|
-
instance_filters and update_primary_key plugins.
|
63
|
-
|
64
|
-
* Dropping indexes for tables in a specific schema is now supported
|
65
|
-
on PostgreSQL. Sequel now explicitly specifies the same schema
|
66
|
-
as the table when dropping such indexes.
|
67
|
-
|
68
|
-
* Calling Model#add_association methods with a primary key value
|
69
|
-
now raises a Sequel::NoMatchingRow if there is no object in the
|
70
|
-
associated table with that primary key. Previously, this
|
71
|
-
situation was not handled and resulted in a NoMethodError being
|
72
|
-
raised later.
|
73
|
-
|
74
|
-
* When an invalid virtual row block function call is detected, an
|
75
|
-
error is now properly raised. Previously, the error was not
|
76
|
-
raised until the SQL was produced for the query.
|
77
|
-
|
78
|
-
= Backwards Compatibility
|
79
|
-
|
80
|
-
* The :driver option to the odbc adapter is deprecated and will be
|
81
|
-
removed in a future version. It is thought to be broken, and
|
82
|
-
users wanting to use DSN-less connections should use the new
|
83
|
-
:drvconnect option.
|
84
|
-
|
85
|
-
* The Postgres::ArrayOp#text_op private method has been removed.
|