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/2.6.0.txt
DELETED
@@ -1,157 +0,0 @@
|
|
1
|
-
New Features
|
2
|
-
------------
|
3
|
-
|
4
|
-
* Schema parsing was refactored, resulting in a huge speedup when
|
5
|
-
using MySQL. MySQL now uses the DESCRIBE statement instead of the
|
6
|
-
INFORMATION_SCHEMA. PostgreSQL now uses the pg_* system catalogs
|
7
|
-
instead of the INFORMATION schema.
|
8
|
-
|
9
|
-
* The schema information now includes the :primary_key field. Models
|
10
|
-
now use this field to automatically determine the primary key for
|
11
|
-
a table, so it no longer needs to be specified explicitly. Models
|
12
|
-
even handle the composite primary key case.
|
13
|
-
|
14
|
-
* The raise_on_typecast_failure switch was added, with it being true
|
15
|
-
by default (so no change in behavior). This allows the user to
|
16
|
-
silently ignore errors when typecasting fails, at the global, class,
|
17
|
-
and instance levels.
|
18
|
-
|
19
|
-
Sequel::Model.raise_on_typecast_failure = false # Global
|
20
|
-
Artist.raise_on_typecast_failure = true # Class
|
21
|
-
artist = Artist.new
|
22
|
-
artist.raise_on_typecast_failure = false # Instance
|
23
|
-
|
24
|
-
Album.raise_on_typecast_failure = true
|
25
|
-
Album.new(:numtracks=>'a') # => raises Sequel::Error::InvalidValue
|
26
|
-
Album.raise_on_typecast_failure = false
|
27
|
-
Album.new(:numtracks=>'a') # => #<Album @values={:numtracks=>"a"}>
|
28
|
-
|
29
|
-
* Associations' orders are now respected when eager loading via
|
30
|
-
eager_graph. Sequel will qualify the columns in the order with
|
31
|
-
the alias being used, so you can have overlapping columns when
|
32
|
-
eager loading multiple associations.
|
33
|
-
|
34
|
-
Artist.one_to_many :albums, :order=>:name
|
35
|
-
Album.one_to_many :tracks, :order=>:number
|
36
|
-
Artist.order(:artists__name).eager_graph(:albums=>:tracks).sql
|
37
|
-
# => ... ORDER BY artists.name, albums.name, tracks.number
|
38
|
-
|
39
|
-
* The support for CASE expressions has been enhanced by allowing the
|
40
|
-
use of an optional expression:
|
41
|
-
|
42
|
-
{1=>2}.case(0, :x)
|
43
|
-
# => CASE x WHEN 1 THEN 2 ELSE 0 END
|
44
|
-
[[:a, 1], [:b, 2], [:c, 3]].case(4, :y)
|
45
|
-
# => CASE y WHEN a THEN 1 WHEN b THEN 2 WHEN c THEN 3 ELSE 4 END
|
46
|
-
|
47
|
-
Previously, to get something equivalent to this, you had to do:
|
48
|
-
|
49
|
-
{{:x=>1}=>2}.case(0)
|
50
|
-
# => CASE WHEN (x = 1) THEN 2 ELSE 0 END
|
51
|
-
[[{:y=>:a}, 1], [{:y=>:b}, 2], [{:y=>:c}, 3]].case(4)
|
52
|
-
# => CASE WHEN (y = a) THEN 1 WHEN (y = b) THEN 2 WHEN (y = c)
|
53
|
-
THEN 3 ELSE 4 END
|
54
|
-
|
55
|
-
* You can now change the NULL/NOT NULL value of an existing column
|
56
|
-
using the set_column_allow_null method.
|
57
|
-
|
58
|
-
# Set NOT NULL
|
59
|
-
DB.alter_table(:artists){set_column_allow_null :name, false}
|
60
|
-
# Set NULL
|
61
|
-
DB.alter_table(:artists){set_column_allow_null :name, true}
|
62
|
-
|
63
|
-
* You can now get the schema information for a table in a non-public
|
64
|
-
schema in PostgreSQL using the implicit :schema__table syntax.
|
65
|
-
Before, the :schema option had to be given explicitly to
|
66
|
-
Database#schema. This allows models to get schema information for
|
67
|
-
tables outside the public schema.
|
68
|
-
|
69
|
-
* Transactions are now supported on MSSQL.
|
70
|
-
|
71
|
-
* Dataset#tables now returns all tables in the database for MySQL
|
72
|
-
databases accessed via JDBC.
|
73
|
-
|
74
|
-
* Database#drop_view can now drop multiple views at once.
|
75
|
-
|
76
|
-
Other Improvements
|
77
|
-
------------------
|
78
|
-
|
79
|
-
* The SQLite adapter now respects the Sequel.datetime_class option
|
80
|
-
for timestamp and datetime columns.
|
81
|
-
|
82
|
-
* Adding a unique constraint no longer explicity creates a unique
|
83
|
-
index. If you want a unique index, use index :unique=>true.
|
84
|
-
|
85
|
-
* If no language is specified when creating a full text index on
|
86
|
-
PostgreSQL, the simple language is assumed.
|
87
|
-
|
88
|
-
* Errors when typecasting fails are now Sequel::Error::InvalidValue
|
89
|
-
instead of the more generic Sequel::Error.
|
90
|
-
|
91
|
-
* Specifying constraints now works correctly for all types of
|
92
|
-
arguments. Previously, it did not work unless a block or
|
93
|
-
interpolated string were used.
|
94
|
-
|
95
|
-
* Loading an association with the same name as a table in the FROM
|
96
|
-
clause no longer causes an error.
|
97
|
-
|
98
|
-
* When eagerly loading many_to_one associations where no objects have
|
99
|
-
an associated object, the negative lookup is now cached.
|
100
|
-
|
101
|
-
* String keys can now be used with Dataset#multi_insert, just like
|
102
|
-
they can be used for Dataset#insert.
|
103
|
-
|
104
|
-
* Dataset#join_table now generates the correct SQL when doing the
|
105
|
-
first join to a dataset where the first source is a dataset, when
|
106
|
-
an unqualified column is used in the conditions.
|
107
|
-
|
108
|
-
* Cascading associations after *_to_many associations can now be
|
109
|
-
eagerly loaded via eager_graph.
|
110
|
-
|
111
|
-
* Eagerly loading *_to_many associations that are cascaded behind a
|
112
|
-
many_to_one association now have their duplicates removed if a
|
113
|
-
cartesian product join is done.
|
114
|
-
|
115
|
-
* The SQLite adapter now uses string literals in all of the AS
|
116
|
-
clauses. While the SQL standard specifies that identifiers should
|
117
|
-
be used, SQLite documentation explicitly states that string
|
118
|
-
literals are expected (though it generally works with identifiers
|
119
|
-
by converting them implicitly).
|
120
|
-
|
121
|
-
* Database methods that modify the schema now remove the cached
|
122
|
-
schema entry.
|
123
|
-
|
124
|
-
* The hash keys that Database#schema returns when no table is
|
125
|
-
requested are now always supposed to be symbols.
|
126
|
-
|
127
|
-
* The generation of SQL for composite foreign keys on MySQL has been
|
128
|
-
fixed.
|
129
|
-
|
130
|
-
* A schema.rdoc file was added to the documentation explaining the
|
131
|
-
various parts of Sequel related to schema generation and
|
132
|
-
modification and how they interact
|
133
|
-
(http://sequel.rubyforge.org/rdoc/files/doc/schema_rdoc.html).
|
134
|
-
|
135
|
-
* The RDoc template for the website was changed from the default
|
136
|
-
template to the hanna template.
|
137
|
-
|
138
|
-
Backwards Compatibility
|
139
|
-
-----------------------
|
140
|
-
|
141
|
-
* The :numeric_precision and :max_chars schema entries have been
|
142
|
-
removed. Use the :db_type entry to determine this information,
|
143
|
-
if available.
|
144
|
-
|
145
|
-
* The SQLite adapter used to always return Time instances for
|
146
|
-
timestamp types, even if Sequel.datetime_class was DateTime. For
|
147
|
-
datetime types it always returned a DateTime instance. It
|
148
|
-
now returns an instance of Sequel.datetime_class in both cases.
|
149
|
-
|
150
|
-
* It's possible that the including of associations' orders when eager
|
151
|
-
loading via eager_graph could cause problems. You can use the
|
152
|
-
:order_eager_graph=>false option to not use the :order option when
|
153
|
-
eager loading via :eager_graph.
|
154
|
-
|
155
|
-
* There were small changes in SQL creation where the AS keyword is
|
156
|
-
now used explicitly. These should have no effect, but could break
|
157
|
-
tests for explicit SQL.
|
data/doc/release_notes/2.7.0.txt
DELETED
@@ -1,166 +0,0 @@
|
|
1
|
-
Performance Optimizations
|
2
|
-
-------------------------
|
3
|
-
|
4
|
-
* Fetching a large number of records with the PostgreSQL adapter is
|
5
|
-
significantly faster (up to 3-4 times faster than before).
|
6
|
-
|
7
|
-
* Instantiating model objects has been made much faster, as many
|
8
|
-
options (such as raise_on_save_failure) are now lazily loaded, and
|
9
|
-
hook methods are now much faster if no hooks have been defined for
|
10
|
-
that type of hook.
|
11
|
-
|
12
|
-
New Association Options
|
13
|
-
-----------------------
|
14
|
-
|
15
|
-
* The :eager_grapher option has been added allowing you to supply
|
16
|
-
your own block to implement eager loading via eager_graph.
|
17
|
-
|
18
|
-
* many_to_one and one_to_many associations now have a :primary_key
|
19
|
-
option, specifying the name of the column that the :key option
|
20
|
-
references.
|
21
|
-
|
22
|
-
* many_to_many associations now have :left_primary_key and
|
23
|
-
:right_primary_key options, specifying the columns that :left_key
|
24
|
-
and :right_key reference, respectively.
|
25
|
-
|
26
|
-
* many_to_many associations now have a :uniq option, that adds an
|
27
|
-
:after_load callback that makes the returned array of objects
|
28
|
-
unique.
|
29
|
-
|
30
|
-
Other New Features
|
31
|
-
------------------
|
32
|
-
|
33
|
-
* Dataset#set_graph_aliases now allows you to supply a third argument
|
34
|
-
for each column you want graph into the dataset, allowing you to use
|
35
|
-
arbitrary SQL expressions that are graphed into the correct table:
|
36
|
-
|
37
|
-
ds.set_graph_aliases!(:a=>[:b, :c], :d=>[:e, :f, 42])
|
38
|
-
# SELECT b.c AS a, 42 AS d FROM ...
|
39
|
-
ds.first # => {:b=>{:c=>?}, :e=>{:f=>42}}
|
40
|
-
|
41
|
-
* Dataset#add_graph_aliases was added, that adds additional graph
|
42
|
-
aliases instead of replacing the existing ones (as
|
43
|
-
#set_graph_aliases does). It's basically the equivalent of
|
44
|
-
select_more for graphs.
|
45
|
-
|
46
|
-
* Dataset#join_table changed it's final argument from a symbol
|
47
|
-
specifying a table name to an option hash (with backwards
|
48
|
-
compatibility kept), and adds support for a :implicit_qualifier
|
49
|
-
option, which it uses instead of the last joined table to
|
50
|
-
qualify columns.
|
51
|
-
|
52
|
-
* Association's :after_load callbacks are now called when eager
|
53
|
-
loading via eager (but not when eager loading via eager_graph).
|
54
|
-
|
55
|
-
* Any expression can now be used as the argument to Symbol#like,
|
56
|
-
which means that you can pattern match columns to other columns.
|
57
|
-
Before, it always transformed the argument to a string.
|
58
|
-
|
59
|
-
:a.like(:b)
|
60
|
-
# 2.6.0: a LIKE 'b'
|
61
|
-
# 2.7.0: a LIKE b
|
62
|
-
|
63
|
-
* Array#sql_array was added, allowing you to specify that an array
|
64
|
-
in ruby be treated like an array in SQL. This is true anyway,
|
65
|
-
except for arrays of all two pairs, which are treated like hashes,
|
66
|
-
for specifying multiple conditions with the same key:
|
67
|
-
|
68
|
-
DB[:foo].filter([:a,:b] => [[1,2],[3,4]].sql_array)
|
69
|
-
# => SELECT * FROM foo WHERE ((a, b) IN ((1, 2), (3, 4)))
|
70
|
-
|
71
|
-
* ComplexExpression#== and #sql? were added, allowing for easier
|
72
|
-
testing.
|
73
|
-
|
74
|
-
* Full text searching on PostgreSQL now joins multiple columns with
|
75
|
-
a space, to prevent joining border words, and it works when there
|
76
|
-
is a match in one column but the other column is NULL.
|
77
|
-
|
78
|
-
Other Improvements
|
79
|
-
------------------
|
80
|
-
|
81
|
-
* Instance methods added by creating associations are added to an
|
82
|
-
anonymous module included by the class, so they can be overridden
|
83
|
-
in the class while still allowing the use of super to get the
|
84
|
-
default behavior (this is similar to column accessor methods).
|
85
|
-
|
86
|
-
* Many improvements were added to support using multiple schemas in
|
87
|
-
PostgreSQL.
|
88
|
-
|
89
|
-
* Model::Validation::Errors objects are now more compatible with
|
90
|
-
Rails, by adding a #count method and making #on return nil if there
|
91
|
-
are no error messages for that attribute.
|
92
|
-
|
93
|
-
* Serialized columns in models are no longer typecast.
|
94
|
-
|
95
|
-
* Associations are now inherited when a model class is subclassed.
|
96
|
-
|
97
|
-
* Many improvements were made that should make adding custom
|
98
|
-
association types easier.
|
99
|
-
|
100
|
-
* A corner case in eager_graph where the wrong table name would be
|
101
|
-
used to qualify a column name has been fixed.
|
102
|
-
|
103
|
-
* Dataset's cached column information is no longer modified if #each
|
104
|
-
is called with an option that modifies the columns.
|
105
|
-
|
106
|
-
* You should now be able to connect to Oracle via the JDBC adapter,
|
107
|
-
and with the same support it has when using the oracle adapter.
|
108
|
-
|
109
|
-
* Model.association_reflections is now a public methods, so you can
|
110
|
-
grab a hash of all association reflections at once (keyed by
|
111
|
-
association name symbol).
|
112
|
-
|
113
|
-
* The :encoding/:charset option now works in the PostgreSQL adapter
|
114
|
-
if the postgres-pr driver is used.
|
115
|
-
|
116
|
-
* The numeric(x,y) type is now interpreted as decimal.
|
117
|
-
|
118
|
-
Backwards Compatibilty
|
119
|
-
----------------------
|
120
|
-
|
121
|
-
* The first argument to Model#initialize must be a hash, you can no
|
122
|
-
longer use nil. For example, the following code will break if
|
123
|
-
:album is not in params:
|
124
|
-
|
125
|
-
Album.new(params[:album])
|
126
|
-
|
127
|
-
Additionally, Model#initialize does not call the block if the
|
128
|
-
second argument is true.
|
129
|
-
|
130
|
-
* The Sequel::Model.lazy_load_schema setting was removed. It should
|
131
|
-
no longer be necessary now that schema loading is relatively speedy,
|
132
|
-
and schemas can be loaded at startup and cached.
|
133
|
-
|
134
|
-
* The PostgreSQL adapter will default to using a unix socket in /tmp
|
135
|
-
if no host is specified. Before, a TCP/IP socket to localhost was
|
136
|
-
used if no host was specified. This change makes Sequel operate
|
137
|
-
similarly to the PostgreSQL command line tools.
|
138
|
-
|
139
|
-
* The ASSOCIATION_TYPES constant has changed from an array to a hash
|
140
|
-
and it has been moved. The RECIPROCAL_ASSOCIATIONS constant has
|
141
|
-
been removed. This is unlikely to matter unless you were using
|
142
|
-
custom association types.
|
143
|
-
|
144
|
-
* The PostgreSQL adapter now sets the PostgreSQL DateStyle, in order
|
145
|
-
to implement an optimization. To turn this off, set
|
146
|
-
Sequel::Postgres.use_iso_date_format = false.
|
147
|
-
|
148
|
-
* When using the PostgreSQL adapter, in many places the schema is
|
149
|
-
specified explicitly. If you do not specify a schema, a default
|
150
|
-
one is used (public by default). If you use a schema other than
|
151
|
-
public for your work, use Database#default_schema= to set it. For
|
152
|
-
any table outside of the default schema, you should specify the
|
153
|
-
schema explicitly, even if it is in the PostgreSQL search_path.
|
154
|
-
|
155
|
-
* Model::Validation::Errors#on now returns nil instead of [] if there
|
156
|
-
are no errors for an attribute.
|
157
|
-
|
158
|
-
* Hooks added to a superclass after a subclass has been created no
|
159
|
-
longer have an effect on the subclass.
|
160
|
-
|
161
|
-
* The Postgres.string_to_bool method has been removed.
|
162
|
-
|
163
|
-
* PostgreSQL full text searching now always defaults to using the
|
164
|
-
simple dictionary. If you want to use another dictionary, it must
|
165
|
-
be specified explicitly, both when searching and when creating a
|
166
|
-
full text index.
|
data/doc/release_notes/2.8.0.txt
DELETED
@@ -1,171 +0,0 @@
|
|
1
|
-
New Features
|
2
|
-
------------
|
3
|
-
|
4
|
-
* Sequel now supports database stored procedures similar to its
|
5
|
-
support for prepared statements. The API is as follows:
|
6
|
-
|
7
|
-
DB[:table].call_sproc(:select, :mysp, 'param1', 'param2')
|
8
|
-
# or
|
9
|
-
sp = DB[:table].prepare_sproc(:select, :mysp)
|
10
|
-
sp.call('param1', 'param2')
|
11
|
-
sp.call('param3', 'param4')
|
12
|
-
|
13
|
-
This works with Model datasets as well, allowing them to return
|
14
|
-
model objects:
|
15
|
-
|
16
|
-
Album.call_sproc(:select, :new_albums)
|
17
|
-
#=> [#<Album ...>, #<Album ...>]
|
18
|
-
|
19
|
-
You can call a stored procedure directly on the Database object
|
20
|
-
if you want to, but the results and API are adapter dependent,
|
21
|
-
and you definitely shouldn't do it if the stored procedure returns
|
22
|
-
rows:
|
23
|
-
|
24
|
-
DB.call_sproc(:mysp, :args=>['param1', 'param2'])
|
25
|
-
|
26
|
-
Currently, the MySQL and JDBC adapters support stored procedures.
|
27
|
-
Other adapters may support them in a future version.
|
28
|
-
|
29
|
-
* The connection pool code can now remove connections if the
|
30
|
-
adapter raises a Sequel::DatabaseDisconnectError indicating that
|
31
|
-
the connection has been lost. When a query is attempted and
|
32
|
-
the adapter raises this error, the connection pool removes the
|
33
|
-
connection from the pool, and reraises the error. The Oracle and
|
34
|
-
PostgreSQL adapters currently support this, and other adapters may
|
35
|
-
support it in a future version.
|
36
|
-
|
37
|
-
* Whether to upcase or quote identifiers can now be set separately.
|
38
|
-
Previously, upcasing was done when quoting except when using SQLite,
|
39
|
-
PostgreSQL, or MySQL. Now, you can turn upcasing off while still
|
40
|
-
quoting. This may be necessary if you are using a MSSQL database
|
41
|
-
that has lower case table names that conflict with reserved words.
|
42
|
-
It also allows you to uppercase identifiers when using SQLite,
|
43
|
-
PostgreSQL, or MySQL, which may be beneficial in certain cases.
|
44
|
-
|
45
|
-
To turn upcasing on or off:
|
46
|
-
|
47
|
-
# Global
|
48
|
-
Sequel.upcase_identifiers = true
|
49
|
-
# Database
|
50
|
-
DB = Sequel.connect("postgres://...", :upcase_identifiers=>true)
|
51
|
-
DB.upcase_identifiers = false
|
52
|
-
# Dataset
|
53
|
-
ds = DB[:items]
|
54
|
-
ds.upcase_identifiers = true
|
55
|
-
|
56
|
-
* Options are now supported when altering a columns type:
|
57
|
-
|
58
|
-
DB.alter_table(:items) do
|
59
|
-
set_column_type :score, :integer, :unsigned=>true
|
60
|
-
set_column_type :score, :varchar, :size=>30
|
61
|
-
set_column_type :score, :enum, :elements=>['a', 'b']
|
62
|
-
end
|
63
|
-
|
64
|
-
* Standard conforming strings are now turned on by default in the
|
65
|
-
PostgreSQL adapter. This makes PostgreSQL not interpret backslash
|
66
|
-
escapes. This is the PostgreSQL recommended setting, which will be
|
67
|
-
the default setting in a future version of PostgreSQL. If you
|
68
|
-
don't want for force the use of standard strings, use:
|
69
|
-
|
70
|
-
Sequel::Postgres.force_standard_strings = false
|
71
|
-
|
72
|
-
You need to do that after you call Sequel.connect but before you
|
73
|
-
use the database for anything, since that setting is set on
|
74
|
-
initial connection.
|
75
|
-
|
76
|
-
* Sequel now raises an error if you attempt to use EXCEPT [ALL] or
|
77
|
-
INTERSECT [ALL] on a database that doesn't support it.
|
78
|
-
|
79
|
-
* Sequel now raises an error if you attempt to use DISTINCT ON with
|
80
|
-
MySQL or Oracle, which don't support it.
|
81
|
-
|
82
|
-
* A subadapter for the Progress RDBMS was added to the ODBC adapter.
|
83
|
-
To connect to a Progress database, use the :db_type=>'progress'
|
84
|
-
option. This adapter targets Progress 9.
|
85
|
-
|
86
|
-
* The ODBC adapter now supports transactions.
|
87
|
-
|
88
|
-
* The MSSQL shared adapter now supports multi_insert (for inserting
|
89
|
-
multiple rows at once), and unicode string literals.
|
90
|
-
|
91
|
-
Other Improvements
|
92
|
-
------------------
|
93
|
-
|
94
|
-
* There were many improvements related to using schemas in databases.
|
95
|
-
Using schema-qualified tables should work in most if not all cases
|
96
|
-
now. Model associations, getting the schema, joins, and many other
|
97
|
-
parts of Sequel were modified to allow the use of schema-qualifed
|
98
|
-
tables.
|
99
|
-
|
100
|
-
* You can now use literal strings with placeholders as well as
|
101
|
-
subselects when using prepared statements. For example, the
|
102
|
-
following all work now:
|
103
|
-
|
104
|
-
DB[:items].filter("id = ?", :$i).call(:select, :i=>1)
|
105
|
-
DB[:items].filter(:id=>DB[:items].select(:id)\
|
106
|
-
.filter(:id=>:$i)).call(:select, :i=>1)
|
107
|
-
DB["SELECT * FROM items WHERE id = ?", :$i].call(:select, :i=>1)
|
108
|
-
|
109
|
-
* Model#initialize received a few more micro-optimizations.
|
110
|
-
|
111
|
-
* Model#refresh now clears the changed columns as well as the
|
112
|
-
associations.
|
113
|
-
|
114
|
-
* You can now drop columns inside a transaction when using SQLite.
|
115
|
-
|
116
|
-
* You can now submit multiple SQL queries at once in the MySQL
|
117
|
-
adapter:
|
118
|
-
|
119
|
-
DB['SELECT 1; SELECT 2'].all
|
120
|
-
#=> [{:"1"=>1, :"2"=>2}]
|
121
|
-
|
122
|
-
This may fix issues if you've seen a MySQL "commands out of sync"
|
123
|
-
message. Note that this doesn't work if you are connecting to
|
124
|
-
MySQL via JDBC.
|
125
|
-
|
126
|
-
* You can now use AliasedExpressions directly in table names given
|
127
|
-
to join_table:
|
128
|
-
|
129
|
-
DB.from(:i.as(:j)).join(:k.as(:l), :a=>:b)
|
130
|
-
#=> ... FROM i AS j INNER JOIN k AS l ON (l.a = j.b)
|
131
|
-
|
132
|
-
* Database#rename_table once again works on PostgreSQL. It was
|
133
|
-
broken in 2.7.0.
|
134
|
-
|
135
|
-
* The interval type is now treated as it's own type. It was
|
136
|
-
previously treated as an integer type.
|
137
|
-
|
138
|
-
* Subselects are now aliased correctly when using Oracle.
|
139
|
-
|
140
|
-
* UNION, INTERSECT, and EXCEPT statements now appear before ORDER
|
141
|
-
and LIMIT on most databases. If you use these constructs, please
|
142
|
-
test and make sure that they work correctly with your database.
|
143
|
-
|
144
|
-
* SQL EXCEPT clause now works on Oracle, which uses MINUS instead.
|
145
|
-
|
146
|
-
* Dataset#exists now returns a LiteralString, to make it easier to
|
147
|
-
use.
|
148
|
-
|
149
|
-
* The Sequel.odbc_mssql method was removed, as the odbc_mssql adapter
|
150
|
-
was removed in a previous version. Instead, use:
|
151
|
-
|
152
|
-
Sequel.odbc(..., :db_type=>'mssql')
|
153
|
-
|
154
|
-
Backwards Compatibilty
|
155
|
-
----------------------
|
156
|
-
|
157
|
-
* The hash returned by Database#schema when no table name is provided
|
158
|
-
uses quoted strings instead of symbols as keys. The hash has a
|
159
|
-
default proc, so using the symbol will return the same value as
|
160
|
-
before, but if you use each to iterate through the hash, the keys
|
161
|
-
will be different. This was necessary to handle schema-qualified
|
162
|
-
tables.
|
163
|
-
|
164
|
-
* Database#table_exists? no longer checks the output of
|
165
|
-
Database#tables. If the table exists in the schema, it returns
|
166
|
-
true, otherwise, it does a query. This was necessary because
|
167
|
-
table_exists? accepts multiple formats for table names and
|
168
|
-
Database#tables is an array of symbols.
|
169
|
-
|
170
|
-
* When getting the schema on PostgreSQL, the default schema is now
|
171
|
-
used even if the :schema=>nil option is used.
|
data/doc/release_notes/2.9.0.txt
DELETED
@@ -1,97 +0,0 @@
|
|
1
|
-
New Features
|
2
|
-
------------
|
3
|
-
|
4
|
-
* Compound SQL statement (i.e. UNION, EXCEPT, and INTERSECT) support
|
5
|
-
is much improved. Chaining compound statement calls now longer
|
6
|
-
wipes out previous compound statements calls of the same type.
|
7
|
-
Also, the ordering of the compound statements is no longer fixed
|
8
|
-
per adapter, it now reflects the order they were called on the
|
9
|
-
object. For example, the following now work as expected:
|
10
|
-
|
11
|
-
ds1.union(ds2).union(ds3)
|
12
|
-
ds1.except(ds2).except(ds3)
|
13
|
-
ds1.intersect(ds2).intersect(ds3)
|
14
|
-
ds1.union(ds2).except(ds3)
|
15
|
-
ds1.except(ds2).intersect(ds3)
|
16
|
-
ds1.intersect(ds2).union(ds3)
|
17
|
-
|
18
|
-
* Exception classes ValidationFailure and BeforeHookFailure were
|
19
|
-
added so it is eaiser to catch a failed validation. These are
|
20
|
-
both subclasses of Sequel::Error, so there shouldn't be any
|
21
|
-
backwards compatibility issues. Error messages are also improved,
|
22
|
-
as the ValidationFailure message is a string containing all
|
23
|
-
validation failures and the BeforeHookFailure message contains
|
24
|
-
which hook type caused the failure (i.e. before_save,
|
25
|
-
before_create, or before_validate).
|
26
|
-
|
27
|
-
* The sequel command line tool now has a -L option to load
|
28
|
-
all files in the given directory. This is mainly useful for
|
29
|
-
loading a directory of model files. The files are loaded
|
30
|
-
after the database connection is set up.
|
31
|
-
|
32
|
-
* Methods to create and drop database functions, triggers, and
|
33
|
-
procedural languages were added to the PostgreSQL adapter.
|
34
|
-
|
35
|
-
Other Improvements
|
36
|
-
------------------
|
37
|
-
|
38
|
-
* Database#schema now raises an error if you pass a table that
|
39
|
-
doesn't exist. Before, some adapters would return an empty schema.
|
40
|
-
The bigger problem with this is that it made table_exists? return
|
41
|
-
the wrong value, since it looks at the Database's schema.
|
42
|
-
Generally, this bug would show up in the following code:
|
43
|
-
|
44
|
-
class Blah < Sequel::Model
|
45
|
-
end
|
46
|
-
Blah.table_exists? # True even if blahs is not a table
|
47
|
-
|
48
|
-
* AlterTableGenerator#add_foreign_key now works for MySQL.
|
49
|
-
|
50
|
-
* Error messages in model association methods that add/remove an
|
51
|
-
associated object are now more descriptive.
|
52
|
-
|
53
|
-
* Dataset#destroy for model datasets now works with databases that
|
54
|
-
can't handle nested queries. However, it now loads all model
|
55
|
-
objects being destroyed before attempting to destroy any of them.
|
56
|
-
|
57
|
-
* Dataset#count now works correctly for compound SQL statements
|
58
|
-
(i.e. UNION, EXCEPT, and INTERSECT).
|
59
|
-
|
60
|
-
* BigDecimal NaN and (+/-)Infinity values are now literalized
|
61
|
-
correctly. Database support for this is hit or miss. Sqlite will
|
62
|
-
work correctly, PostgreSQL raises an error if you try to store an
|
63
|
-
infinite value in a numeric column (though it works for float
|
64
|
-
columns), and MySQL converts all three to 0.
|
65
|
-
|
66
|
-
* The SQLite adapter no longer loses primary key information when
|
67
|
-
dropping columns.
|
68
|
-
|
69
|
-
* The SQLite adapter now supports dropping indicies.
|
70
|
-
|
71
|
-
* A bug in the MSSQL adapter's literalization of LiteralStrings has
|
72
|
-
been fixed.
|
73
|
-
|
74
|
-
* The literalization of blobs on PostgreSQL (bytea columns) has been
|
75
|
-
fixed.
|
76
|
-
|
77
|
-
* Sequel now raises an error if you attempt to subclass Sequel::Model
|
78
|
-
before setting up a database connection.
|
79
|
-
|
80
|
-
* The native postgresql adapter has been changed to only log client
|
81
|
-
messages of level WARNING by default. You can modify this via:
|
82
|
-
|
83
|
-
Sequel::Postgres.client_min_messages = nil # Use Server Default
|
84
|
-
Sequel::Postgres.client_min_messages = :notice # Use NOTICE level
|
85
|
-
|
86
|
-
* Model#inspect now calls Model#inspect_values for easier
|
87
|
-
overloading.
|
88
|
-
|
89
|
-
Backwards Compatibilty
|
90
|
-
----------------------
|
91
|
-
|
92
|
-
* The API to Model#save_failure (a private method) was changed to
|
93
|
-
remove the second argument.
|
94
|
-
|
95
|
-
* SQLite columns with type numeric, decimal, or money are now
|
96
|
-
returned as BigDecimal values. Before, they were probably returned
|
97
|
-
as strings.
|