sequel 4.36.0 → 5.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG +548 -5749
- data/MIT-LICENSE +1 -1
- data/README.rdoc +265 -159
- data/bin/sequel +34 -12
- data/doc/advanced_associations.rdoc +228 -187
- data/doc/association_basics.rdoc +281 -291
- data/doc/bin_sequel.rdoc +5 -3
- data/doc/cheat_sheet.rdoc +86 -51
- data/doc/code_order.rdoc +25 -19
- data/doc/core_extensions.rdoc +104 -63
- data/doc/dataset_basics.rdoc +12 -21
- data/doc/dataset_filtering.rdoc +99 -86
- data/doc/extensions.rdoc +3 -10
- data/doc/fork_safety.rdoc +84 -0
- data/doc/mass_assignment.rdoc +74 -31
- data/doc/migration.rdoc +59 -51
- data/doc/model_dataset_method_design.rdoc +129 -0
- data/doc/model_hooks.rdoc +15 -25
- data/doc/model_plugins.rdoc +12 -12
- data/doc/mssql_stored_procedures.rdoc +3 -3
- data/doc/object_model.rdoc +58 -68
- data/doc/opening_databases.rdoc +85 -95
- data/doc/postgresql.rdoc +263 -38
- data/doc/prepared_statements.rdoc +29 -24
- data/doc/querying.rdoc +189 -167
- data/doc/reflection.rdoc +5 -6
- data/doc/release_notes/5.0.0.txt +159 -0
- data/doc/release_notes/5.1.0.txt +31 -0
- data/doc/release_notes/5.10.0.txt +84 -0
- data/doc/release_notes/5.11.0.txt +83 -0
- data/doc/release_notes/5.12.0.txt +141 -0
- data/doc/release_notes/5.13.0.txt +27 -0
- data/doc/release_notes/5.14.0.txt +63 -0
- data/doc/release_notes/5.15.0.txt +39 -0
- data/doc/release_notes/5.16.0.txt +110 -0
- data/doc/release_notes/5.17.0.txt +31 -0
- data/doc/release_notes/5.18.0.txt +69 -0
- data/doc/release_notes/5.19.0.txt +28 -0
- data/doc/release_notes/5.2.0.txt +33 -0
- data/doc/release_notes/5.20.0.txt +89 -0
- data/doc/release_notes/5.21.0.txt +87 -0
- data/doc/release_notes/5.22.0.txt +48 -0
- data/doc/release_notes/5.23.0.txt +56 -0
- data/doc/release_notes/5.24.0.txt +56 -0
- data/doc/release_notes/5.25.0.txt +32 -0
- data/doc/release_notes/5.26.0.txt +35 -0
- data/doc/release_notes/5.27.0.txt +21 -0
- data/doc/release_notes/5.28.0.txt +16 -0
- data/doc/release_notes/5.29.0.txt +22 -0
- data/doc/release_notes/5.3.0.txt +121 -0
- data/doc/release_notes/5.30.0.txt +20 -0
- data/doc/release_notes/5.31.0.txt +148 -0
- data/doc/release_notes/5.32.0.txt +46 -0
- data/doc/release_notes/5.33.0.txt +24 -0
- data/doc/release_notes/5.34.0.txt +40 -0
- data/doc/release_notes/5.35.0.txt +56 -0
- data/doc/release_notes/5.36.0.txt +60 -0
- data/doc/release_notes/5.37.0.txt +30 -0
- data/doc/release_notes/5.38.0.txt +28 -0
- data/doc/release_notes/5.39.0.txt +19 -0
- data/doc/release_notes/5.4.0.txt +80 -0
- data/doc/release_notes/5.40.0.txt +40 -0
- data/doc/release_notes/5.41.0.txt +25 -0
- data/doc/release_notes/5.42.0.txt +136 -0
- data/doc/release_notes/5.43.0.txt +98 -0
- data/doc/release_notes/5.44.0.txt +32 -0
- data/doc/release_notes/5.45.0.txt +34 -0
- data/doc/release_notes/5.46.0.txt +87 -0
- data/doc/release_notes/5.47.0.txt +59 -0
- data/doc/release_notes/5.48.0.txt +14 -0
- data/doc/release_notes/5.49.0.txt +59 -0
- data/doc/release_notes/5.5.0.txt +61 -0
- data/doc/release_notes/5.50.0.txt +78 -0
- data/doc/release_notes/5.51.0.txt +47 -0
- data/doc/release_notes/5.52.0.txt +87 -0
- data/doc/release_notes/5.53.0.txt +23 -0
- data/doc/release_notes/5.54.0.txt +27 -0
- data/doc/release_notes/5.55.0.txt +21 -0
- data/doc/release_notes/5.56.0.txt +51 -0
- data/doc/release_notes/5.57.0.txt +23 -0
- data/doc/release_notes/5.58.0.txt +31 -0
- data/doc/release_notes/5.59.0.txt +73 -0
- data/doc/release_notes/5.6.0.txt +31 -0
- data/doc/release_notes/5.60.0.txt +22 -0
- data/doc/release_notes/5.61.0.txt +43 -0
- data/doc/release_notes/5.7.0.txt +108 -0
- data/doc/release_notes/5.8.0.txt +170 -0
- data/doc/release_notes/5.9.0.txt +99 -0
- data/doc/schema_modification.rdoc +95 -75
- data/doc/security.rdoc +109 -80
- data/doc/sharding.rdoc +74 -47
- data/doc/sql.rdoc +147 -122
- data/doc/testing.rdoc +43 -20
- data/doc/thread_safety.rdoc +2 -4
- data/doc/transactions.rdoc +97 -18
- data/doc/validations.rdoc +52 -50
- data/doc/virtual_rows.rdoc +90 -109
- data/lib/sequel/adapters/ado/access.rb +15 -17
- data/lib/sequel/adapters/ado/mssql.rb +6 -15
- data/lib/sequel/adapters/ado.rb +150 -20
- data/lib/sequel/adapters/amalgalite.rb +11 -23
- data/lib/sequel/adapters/ibmdb.rb +47 -55
- data/lib/sequel/adapters/jdbc/db2.rb +29 -39
- data/lib/sequel/adapters/jdbc/derby.rb +58 -54
- data/lib/sequel/adapters/jdbc/h2.rb +93 -35
- data/lib/sequel/adapters/jdbc/hsqldb.rb +24 -31
- data/lib/sequel/adapters/jdbc/jtds.rb +2 -10
- data/lib/sequel/adapters/jdbc/mssql.rb +3 -11
- data/lib/sequel/adapters/jdbc/mysql.rb +17 -20
- data/lib/sequel/adapters/jdbc/oracle.rb +22 -18
- data/lib/sequel/adapters/jdbc/postgresql.rb +69 -71
- data/lib/sequel/adapters/jdbc/sqlanywhere.rb +11 -23
- data/lib/sequel/adapters/jdbc/sqlite.rb +47 -11
- data/lib/sequel/adapters/jdbc/sqlserver.rb +34 -9
- data/lib/sequel/adapters/jdbc/transactions.rb +22 -38
- data/lib/sequel/adapters/jdbc.rb +145 -130
- data/lib/sequel/adapters/mock.rb +100 -111
- data/lib/sequel/adapters/mysql.rb +114 -122
- data/lib/sequel/adapters/mysql2.rb +147 -63
- data/lib/sequel/adapters/odbc/db2.rb +1 -1
- data/lib/sequel/adapters/odbc/mssql.rb +8 -14
- data/lib/sequel/adapters/odbc/oracle.rb +11 -0
- data/lib/sequel/adapters/odbc.rb +20 -25
- data/lib/sequel/adapters/oracle.rb +50 -56
- data/lib/sequel/adapters/postgres.rb +305 -327
- data/lib/sequel/adapters/postgresql.rb +1 -1
- data/lib/sequel/adapters/shared/access.rb +74 -78
- data/lib/sequel/adapters/shared/db2.rb +118 -71
- data/lib/sequel/adapters/shared/mssql.rb +301 -220
- data/lib/sequel/adapters/shared/mysql.rb +299 -217
- data/lib/sequel/adapters/shared/oracle.rb +226 -65
- data/lib/sequel/adapters/shared/postgres.rb +935 -395
- data/lib/sequel/adapters/shared/sqlanywhere.rb +105 -126
- data/lib/sequel/adapters/shared/sqlite.rb +447 -173
- data/lib/sequel/adapters/sqlanywhere.rb +48 -35
- data/lib/sequel/adapters/sqlite.rb +156 -111
- data/lib/sequel/adapters/tinytds.rb +30 -38
- data/lib/sequel/adapters/utils/columns_limit_1.rb +22 -0
- data/lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb +3 -6
- data/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +2 -2
- data/lib/sequel/adapters/utils/mysql_mysql2.rb +87 -0
- data/lib/sequel/adapters/utils/mysql_prepared_statements.rb +56 -0
- data/lib/sequel/adapters/utils/replace.rb +1 -4
- data/lib/sequel/adapters/utils/stored_procedures.rb +7 -22
- data/lib/sequel/adapters/utils/unmodified_identifiers.rb +28 -0
- data/lib/sequel/ast_transformer.rb +17 -89
- data/lib/sequel/connection_pool/sharded_single.rb +18 -15
- data/lib/sequel/connection_pool/sharded_threaded.rb +130 -111
- data/lib/sequel/connection_pool/single.rb +18 -13
- data/lib/sequel/connection_pool/threaded.rb +121 -120
- data/lib/sequel/connection_pool.rb +48 -29
- data/lib/sequel/core.rb +351 -301
- data/lib/sequel/database/connecting.rb +69 -57
- data/lib/sequel/database/dataset.rb +13 -5
- data/lib/sequel/database/dataset_defaults.rb +18 -102
- data/lib/sequel/database/features.rb +18 -4
- data/lib/sequel/database/logging.rb +12 -11
- data/lib/sequel/database/misc.rb +180 -122
- data/lib/sequel/database/query.rb +47 -27
- data/lib/sequel/database/schema_generator.rb +178 -84
- data/lib/sequel/database/schema_methods.rb +172 -97
- data/lib/sequel/database/transactions.rb +205 -44
- data/lib/sequel/database.rb +17 -2
- data/lib/sequel/dataset/actions.rb +339 -155
- data/lib/sequel/dataset/dataset_module.rb +46 -0
- data/lib/sequel/dataset/features.rb +90 -35
- data/lib/sequel/dataset/graph.rb +80 -58
- data/lib/sequel/dataset/misc.rb +137 -47
- data/lib/sequel/dataset/placeholder_literalizer.rb +63 -25
- data/lib/sequel/dataset/prepared_statements.rb +188 -85
- data/lib/sequel/dataset/query.rb +530 -222
- data/lib/sequel/dataset/sql.rb +590 -368
- data/lib/sequel/dataset.rb +26 -16
- data/lib/sequel/deprecated.rb +12 -2
- data/lib/sequel/exceptions.rb +46 -16
- data/lib/sequel/extensions/_model_constraint_validations.rb +16 -0
- data/lib/sequel/extensions/_model_pg_row.rb +43 -0
- data/lib/sequel/extensions/_pretty_table.rb +2 -5
- data/lib/sequel/extensions/any_not_empty.rb +45 -0
- data/lib/sequel/extensions/arbitrary_servers.rb +10 -10
- data/lib/sequel/extensions/async_thread_pool.rb +438 -0
- data/lib/sequel/extensions/auto_literal_strings.rb +74 -0
- data/lib/sequel/extensions/blank.rb +8 -0
- data/lib/sequel/extensions/caller_logging.rb +79 -0
- data/lib/sequel/extensions/columns_introspection.rb +4 -3
- data/lib/sequel/extensions/connection_expiration.rb +20 -10
- data/lib/sequel/extensions/connection_validator.rb +11 -10
- data/lib/sequel/extensions/constant_sql_override.rb +65 -0
- data/lib/sequel/extensions/constraint_validations.rb +62 -39
- data/lib/sequel/extensions/core_extensions.rb +42 -48
- data/lib/sequel/extensions/core_refinements.rb +80 -59
- data/lib/sequel/extensions/current_datetime_timestamp.rb +1 -4
- data/lib/sequel/extensions/date_arithmetic.rb +98 -39
- data/lib/sequel/extensions/date_parse_input_handler.rb +67 -0
- data/lib/sequel/extensions/datetime_parse_to_time.rb +41 -0
- data/lib/sequel/extensions/duplicate_columns_handler.rb +21 -14
- data/lib/sequel/extensions/empty_array_consider_nulls.rb +2 -2
- data/lib/sequel/extensions/escaped_like.rb +100 -0
- data/lib/sequel/extensions/eval_inspect.rb +12 -15
- data/lib/sequel/extensions/exclude_or_null.rb +68 -0
- data/lib/sequel/extensions/fiber_concurrency.rb +24 -0
- data/lib/sequel/extensions/freeze_datasets.rb +3 -0
- data/lib/sequel/extensions/from_block.rb +1 -34
- data/lib/sequel/extensions/graph_each.rb +4 -4
- data/lib/sequel/extensions/identifier_mangling.rb +180 -0
- data/lib/sequel/extensions/implicit_subquery.rb +48 -0
- data/lib/sequel/extensions/index_caching.rb +109 -0
- data/lib/sequel/extensions/inflector.rb +13 -5
- data/lib/sequel/extensions/integer64.rb +32 -0
- data/lib/sequel/extensions/is_distinct_from.rb +141 -0
- data/lib/sequel/extensions/looser_typecasting.rb +17 -8
- data/lib/sequel/extensions/migration.rb +119 -78
- data/lib/sequel/extensions/named_timezones.rb +88 -23
- data/lib/sequel/extensions/no_auto_literal_strings.rb +2 -82
- data/lib/sequel/extensions/null_dataset.rb +8 -8
- data/lib/sequel/extensions/pagination.rb +32 -29
- data/lib/sequel/extensions/pg_array.rb +221 -287
- data/lib/sequel/extensions/pg_array_ops.rb +17 -9
- data/lib/sequel/extensions/pg_enum.rb +63 -23
- data/lib/sequel/extensions/pg_extended_date_support.rb +241 -0
- data/lib/sequel/extensions/pg_hstore.rb +45 -54
- data/lib/sequel/extensions/pg_hstore_ops.rb +58 -6
- data/lib/sequel/extensions/pg_inet.rb +31 -12
- data/lib/sequel/extensions/pg_inet_ops.rb +2 -2
- data/lib/sequel/extensions/pg_interval.rb +56 -29
- data/lib/sequel/extensions/pg_json.rb +417 -140
- data/lib/sequel/extensions/pg_json_ops.rb +270 -18
- data/lib/sequel/extensions/pg_loose_count.rb +4 -2
- data/lib/sequel/extensions/pg_multirange.rb +372 -0
- data/lib/sequel/extensions/pg_range.rb +131 -191
- data/lib/sequel/extensions/pg_range_ops.rb +42 -13
- data/lib/sequel/extensions/pg_row.rb +48 -81
- data/lib/sequel/extensions/pg_row_ops.rb +33 -14
- data/lib/sequel/extensions/pg_static_cache_updater.rb +2 -2
- data/lib/sequel/extensions/pg_timestamptz.rb +28 -0
- data/lib/sequel/extensions/query.rb +9 -7
- data/lib/sequel/extensions/round_timestamps.rb +0 -6
- data/lib/sequel/extensions/run_transaction_hooks.rb +72 -0
- data/lib/sequel/extensions/s.rb +60 -0
- data/lib/sequel/extensions/schema_caching.rb +10 -1
- data/lib/sequel/extensions/schema_dumper.rb +71 -48
- data/lib/sequel/extensions/select_remove.rb +4 -4
- data/lib/sequel/extensions/sequel_4_dataset_methods.rb +85 -0
- data/lib/sequel/extensions/server_block.rb +51 -27
- data/lib/sequel/extensions/split_array_nil.rb +4 -4
- data/lib/sequel/extensions/sql_comments.rb +119 -7
- data/lib/sequel/extensions/sql_expr.rb +2 -1
- data/lib/sequel/extensions/sql_log_normalizer.rb +108 -0
- data/lib/sequel/extensions/sqlite_json_ops.rb +255 -0
- data/lib/sequel/extensions/string_agg.rb +11 -8
- data/lib/sequel/extensions/string_date_time.rb +19 -23
- data/lib/sequel/extensions/symbol_aref.rb +55 -0
- data/lib/sequel/extensions/symbol_aref_refinement.rb +43 -0
- data/lib/sequel/extensions/symbol_as.rb +23 -0
- data/lib/sequel/extensions/symbol_as_refinement.rb +37 -0
- data/lib/sequel/extensions/synchronize_sql.rb +45 -0
- data/lib/sequel/extensions/to_dot.rb +10 -4
- data/lib/sequel/extensions/virtual_row_method_block.rb +44 -0
- data/lib/sequel/model/associations.rb +1006 -284
- data/lib/sequel/model/base.rb +560 -805
- data/lib/sequel/model/dataset_module.rb +11 -10
- data/lib/sequel/model/default_inflections.rb +1 -1
- data/lib/sequel/model/errors.rb +10 -3
- data/lib/sequel/model/exceptions.rb +8 -10
- data/lib/sequel/model/inflections.rb +7 -20
- data/lib/sequel/model/plugins.rb +114 -0
- data/lib/sequel/model.rb +32 -82
- data/lib/sequel/plugins/active_model.rb +30 -14
- data/lib/sequel/plugins/after_initialize.rb +1 -1
- data/lib/sequel/plugins/association_dependencies.rb +25 -18
- data/lib/sequel/plugins/association_lazy_eager_option.rb +66 -0
- data/lib/sequel/plugins/association_multi_add_remove.rb +85 -0
- data/lib/sequel/plugins/association_pks.rb +147 -70
- data/lib/sequel/plugins/association_proxies.rb +33 -9
- data/lib/sequel/plugins/async_thread_pool.rb +39 -0
- data/lib/sequel/plugins/auto_restrict_eager_graph.rb +62 -0
- data/lib/sequel/plugins/auto_validations.rb +95 -28
- data/lib/sequel/plugins/auto_validations_constraint_validations_presence_message.rb +68 -0
- data/lib/sequel/plugins/before_after_save.rb +0 -42
- data/lib/sequel/plugins/blacklist_security.rb +21 -12
- data/lib/sequel/plugins/boolean_readers.rb +5 -5
- data/lib/sequel/plugins/boolean_subsets.rb +13 -8
- data/lib/sequel/plugins/caching.rb +25 -16
- data/lib/sequel/plugins/class_table_inheritance.rb +179 -100
- data/lib/sequel/plugins/column_conflicts.rb +16 -3
- data/lib/sequel/plugins/column_encryption.rb +728 -0
- data/lib/sequel/plugins/column_select.rb +7 -5
- data/lib/sequel/plugins/columns_updated.rb +42 -0
- data/lib/sequel/plugins/composition.rb +42 -26
- data/lib/sequel/plugins/concurrent_eager_loading.rb +174 -0
- data/lib/sequel/plugins/constraint_validations.rb +20 -14
- data/lib/sequel/plugins/csv_serializer.rb +56 -35
- data/lib/sequel/plugins/dataset_associations.rb +40 -17
- data/lib/sequel/plugins/def_dataset_method.rb +90 -0
- data/lib/sequel/plugins/defaults_setter.rb +65 -10
- data/lib/sequel/plugins/delay_add_association.rb +1 -1
- data/lib/sequel/plugins/dirty.rb +62 -24
- data/lib/sequel/plugins/eager_each.rb +3 -3
- data/lib/sequel/plugins/eager_graph_eager.rb +139 -0
- data/lib/sequel/plugins/empty_failure_backtraces.rb +38 -0
- data/lib/sequel/plugins/enum.rb +124 -0
- data/lib/sequel/plugins/error_splitter.rb +17 -12
- data/lib/sequel/plugins/finder.rb +246 -0
- data/lib/sequel/plugins/forbid_lazy_load.rb +216 -0
- data/lib/sequel/plugins/force_encoding.rb +7 -12
- data/lib/sequel/plugins/hook_class_methods.rb +37 -54
- data/lib/sequel/plugins/input_transformer.rb +18 -10
- data/lib/sequel/plugins/insert_conflict.rb +76 -0
- data/lib/sequel/plugins/insert_returning_select.rb +2 -2
- data/lib/sequel/plugins/instance_filters.rb +10 -8
- data/lib/sequel/plugins/instance_hooks.rb +34 -17
- data/lib/sequel/plugins/instance_specific_default.rb +113 -0
- data/lib/sequel/plugins/inverted_subsets.rb +22 -13
- data/lib/sequel/plugins/json_serializer.rb +124 -64
- data/lib/sequel/plugins/lazy_attributes.rb +21 -14
- data/lib/sequel/plugins/list.rb +35 -21
- data/lib/sequel/plugins/many_through_many.rb +134 -21
- data/lib/sequel/plugins/modification_detection.rb +15 -5
- data/lib/sequel/plugins/mssql_optimistic_locking.rb +6 -5
- data/lib/sequel/plugins/nested_attributes.rb +61 -31
- data/lib/sequel/plugins/optimistic_locking.rb +3 -3
- data/lib/sequel/plugins/pg_array_associations.rb +103 -53
- data/lib/sequel/plugins/pg_auto_constraint_validations.rb +350 -0
- data/lib/sequel/plugins/pg_row.rb +5 -51
- data/lib/sequel/plugins/prepared_statements.rb +60 -72
- data/lib/sequel/plugins/prepared_statements_safe.rb +9 -4
- data/lib/sequel/plugins/rcte_tree.rb +68 -82
- data/lib/sequel/plugins/require_valid_schema.rb +67 -0
- data/lib/sequel/plugins/serialization.rb +43 -46
- data/lib/sequel/plugins/serialization_modification_detection.rb +3 -2
- data/lib/sequel/plugins/sharding.rb +15 -10
- data/lib/sequel/plugins/single_table_inheritance.rb +67 -28
- data/lib/sequel/plugins/skip_create_refresh.rb +3 -3
- data/lib/sequel/plugins/skip_saving_columns.rb +108 -0
- data/lib/sequel/plugins/split_values.rb +11 -6
- data/lib/sequel/plugins/sql_comments.rb +189 -0
- data/lib/sequel/plugins/static_cache.rb +77 -53
- data/lib/sequel/plugins/static_cache_cache.rb +53 -0
- data/lib/sequel/plugins/string_stripper.rb +3 -3
- data/lib/sequel/plugins/subclasses.rb +43 -10
- data/lib/sequel/plugins/subset_conditions.rb +15 -5
- data/lib/sequel/plugins/table_select.rb +2 -2
- data/lib/sequel/plugins/tactical_eager_loading.rb +96 -12
- data/lib/sequel/plugins/throw_failures.rb +110 -0
- data/lib/sequel/plugins/timestamps.rb +20 -8
- data/lib/sequel/plugins/touch.rb +19 -8
- data/lib/sequel/plugins/tree.rb +62 -32
- data/lib/sequel/plugins/typecast_on_load.rb +12 -4
- data/lib/sequel/plugins/unlimited_update.rb +1 -7
- data/lib/sequel/plugins/unused_associations.rb +521 -0
- data/lib/sequel/plugins/update_or_create.rb +4 -4
- data/lib/sequel/plugins/update_primary_key.rb +1 -1
- data/lib/sequel/plugins/update_refresh.rb +26 -15
- data/lib/sequel/plugins/uuid.rb +7 -11
- data/lib/sequel/plugins/validate_associated.rb +18 -0
- data/lib/sequel/plugins/validation_class_methods.rb +38 -19
- data/lib/sequel/plugins/validation_contexts.rb +49 -0
- data/lib/sequel/plugins/validation_helpers.rb +57 -41
- data/lib/sequel/plugins/whitelist_security.rb +122 -0
- data/lib/sequel/plugins/xml_serializer.rb +30 -31
- data/lib/sequel/sql.rb +471 -331
- data/lib/sequel/timezones.rb +78 -47
- data/lib/sequel/version.rb +7 -2
- data/lib/sequel.rb +1 -1
- metadata +217 -521
- data/Rakefile +0 -164
- data/doc/active_record.rdoc +0 -928
- data/doc/release_notes/1.0.txt +0 -38
- data/doc/release_notes/1.1.txt +0 -143
- data/doc/release_notes/1.3.txt +0 -101
- data/doc/release_notes/1.4.0.txt +0 -53
- data/doc/release_notes/1.5.0.txt +0 -155
- data/doc/release_notes/2.0.0.txt +0 -298
- data/doc/release_notes/2.1.0.txt +0 -271
- data/doc/release_notes/2.10.0.txt +0 -328
- data/doc/release_notes/2.11.0.txt +0 -215
- data/doc/release_notes/2.12.0.txt +0 -534
- data/doc/release_notes/2.2.0.txt +0 -253
- data/doc/release_notes/2.3.0.txt +0 -88
- data/doc/release_notes/2.4.0.txt +0 -106
- data/doc/release_notes/2.5.0.txt +0 -137
- data/doc/release_notes/2.6.0.txt +0 -157
- data/doc/release_notes/2.7.0.txt +0 -166
- data/doc/release_notes/2.8.0.txt +0 -171
- data/doc/release_notes/2.9.0.txt +0 -97
- data/doc/release_notes/3.0.0.txt +0 -221
- data/doc/release_notes/3.1.0.txt +0 -406
- data/doc/release_notes/3.10.0.txt +0 -286
- data/doc/release_notes/3.11.0.txt +0 -254
- data/doc/release_notes/3.12.0.txt +0 -304
- data/doc/release_notes/3.13.0.txt +0 -210
- data/doc/release_notes/3.14.0.txt +0 -118
- data/doc/release_notes/3.15.0.txt +0 -78
- data/doc/release_notes/3.16.0.txt +0 -45
- data/doc/release_notes/3.17.0.txt +0 -58
- data/doc/release_notes/3.18.0.txt +0 -120
- data/doc/release_notes/3.19.0.txt +0 -67
- data/doc/release_notes/3.2.0.txt +0 -268
- data/doc/release_notes/3.20.0.txt +0 -41
- data/doc/release_notes/3.21.0.txt +0 -87
- data/doc/release_notes/3.22.0.txt +0 -39
- data/doc/release_notes/3.23.0.txt +0 -172
- data/doc/release_notes/3.24.0.txt +0 -420
- data/doc/release_notes/3.25.0.txt +0 -88
- data/doc/release_notes/3.26.0.txt +0 -88
- data/doc/release_notes/3.27.0.txt +0 -82
- data/doc/release_notes/3.28.0.txt +0 -304
- data/doc/release_notes/3.29.0.txt +0 -459
- data/doc/release_notes/3.3.0.txt +0 -192
- data/doc/release_notes/3.30.0.txt +0 -135
- data/doc/release_notes/3.31.0.txt +0 -146
- data/doc/release_notes/3.32.0.txt +0 -202
- data/doc/release_notes/3.33.0.txt +0 -157
- data/doc/release_notes/3.34.0.txt +0 -671
- data/doc/release_notes/3.35.0.txt +0 -144
- data/doc/release_notes/3.36.0.txt +0 -245
- data/doc/release_notes/3.37.0.txt +0 -338
- data/doc/release_notes/3.38.0.txt +0 -234
- data/doc/release_notes/3.39.0.txt +0 -237
- data/doc/release_notes/3.4.0.txt +0 -325
- data/doc/release_notes/3.40.0.txt +0 -73
- data/doc/release_notes/3.41.0.txt +0 -155
- data/doc/release_notes/3.42.0.txt +0 -74
- data/doc/release_notes/3.43.0.txt +0 -105
- data/doc/release_notes/3.44.0.txt +0 -152
- data/doc/release_notes/3.45.0.txt +0 -179
- data/doc/release_notes/3.46.0.txt +0 -122
- data/doc/release_notes/3.47.0.txt +0 -270
- data/doc/release_notes/3.48.0.txt +0 -477
- data/doc/release_notes/3.5.0.txt +0 -510
- data/doc/release_notes/3.6.0.txt +0 -366
- data/doc/release_notes/3.7.0.txt +0 -179
- data/doc/release_notes/3.8.0.txt +0 -151
- data/doc/release_notes/3.9.0.txt +0 -233
- data/doc/release_notes/4.0.0.txt +0 -262
- data/doc/release_notes/4.1.0.txt +0 -85
- data/doc/release_notes/4.10.0.txt +0 -226
- data/doc/release_notes/4.11.0.txt +0 -147
- data/doc/release_notes/4.12.0.txt +0 -105
- data/doc/release_notes/4.13.0.txt +0 -169
- data/doc/release_notes/4.14.0.txt +0 -68
- data/doc/release_notes/4.15.0.txt +0 -56
- data/doc/release_notes/4.16.0.txt +0 -36
- data/doc/release_notes/4.17.0.txt +0 -38
- data/doc/release_notes/4.18.0.txt +0 -36
- data/doc/release_notes/4.19.0.txt +0 -45
- data/doc/release_notes/4.2.0.txt +0 -129
- data/doc/release_notes/4.20.0.txt +0 -79
- data/doc/release_notes/4.21.0.txt +0 -94
- data/doc/release_notes/4.22.0.txt +0 -72
- data/doc/release_notes/4.23.0.txt +0 -65
- data/doc/release_notes/4.24.0.txt +0 -99
- data/doc/release_notes/4.25.0.txt +0 -181
- data/doc/release_notes/4.26.0.txt +0 -44
- data/doc/release_notes/4.27.0.txt +0 -78
- data/doc/release_notes/4.28.0.txt +0 -57
- data/doc/release_notes/4.29.0.txt +0 -41
- data/doc/release_notes/4.3.0.txt +0 -40
- data/doc/release_notes/4.30.0.txt +0 -37
- data/doc/release_notes/4.31.0.txt +0 -57
- data/doc/release_notes/4.32.0.txt +0 -132
- data/doc/release_notes/4.33.0.txt +0 -88
- data/doc/release_notes/4.34.0.txt +0 -86
- data/doc/release_notes/4.35.0.txt +0 -130
- data/doc/release_notes/4.36.0.txt +0 -116
- data/doc/release_notes/4.4.0.txt +0 -92
- data/doc/release_notes/4.5.0.txt +0 -34
- data/doc/release_notes/4.6.0.txt +0 -30
- data/doc/release_notes/4.7.0.txt +0 -103
- data/doc/release_notes/4.8.0.txt +0 -175
- data/doc/release_notes/4.9.0.txt +0 -190
- data/lib/sequel/adapters/cubrid.rb +0 -144
- data/lib/sequel/adapters/do/mysql.rb +0 -66
- data/lib/sequel/adapters/do/postgres.rb +0 -44
- data/lib/sequel/adapters/do/sqlite3.rb +0 -42
- data/lib/sequel/adapters/do.rb +0 -158
- data/lib/sequel/adapters/jdbc/as400.rb +0 -84
- data/lib/sequel/adapters/jdbc/cubrid.rb +0 -64
- data/lib/sequel/adapters/jdbc/firebirdsql.rb +0 -36
- data/lib/sequel/adapters/jdbc/informix-sqli.rb +0 -33
- data/lib/sequel/adapters/jdbc/jdbcprogress.rb +0 -33
- data/lib/sequel/adapters/odbc/progress.rb +0 -10
- data/lib/sequel/adapters/shared/cubrid.rb +0 -245
- data/lib/sequel/adapters/shared/firebird.rb +0 -247
- data/lib/sequel/adapters/shared/informix.rb +0 -54
- data/lib/sequel/adapters/shared/mysql_prepared_statements.rb +0 -152
- data/lib/sequel/adapters/shared/progress.rb +0 -40
- data/lib/sequel/adapters/swift/mysql.rb +0 -49
- data/lib/sequel/adapters/swift/postgres.rb +0 -47
- data/lib/sequel/adapters/swift/sqlite.rb +0 -49
- data/lib/sequel/adapters/swift.rb +0 -160
- data/lib/sequel/adapters/utils/pg_types.rb +0 -70
- data/lib/sequel/dataset/mutation.rb +0 -111
- data/lib/sequel/extensions/empty_array_ignore_nulls.rb +0 -5
- data/lib/sequel/extensions/filter_having.rb +0 -63
- data/lib/sequel/extensions/hash_aliases.rb +0 -49
- data/lib/sequel/extensions/meta_def.rb +0 -35
- data/lib/sequel/extensions/query_literals.rb +0 -84
- data/lib/sequel/extensions/ruby18_symbol_extensions.rb +0 -24
- data/lib/sequel/extensions/sequel_3_dataset_methods.rb +0 -122
- data/lib/sequel/extensions/set_overrides.rb +0 -76
- data/lib/sequel/no_core_ext.rb +0 -3
- data/lib/sequel/plugins/association_autoreloading.rb +0 -9
- data/lib/sequel/plugins/identifier_columns.rb +0 -47
- data/lib/sequel/plugins/many_to_one_pk_lookup.rb +0 -9
- data/lib/sequel/plugins/pg_typecast_on_load.rb +0 -81
- data/lib/sequel/plugins/prepared_statements_associations.rb +0 -119
- data/lib/sequel/plugins/prepared_statements_with_pk.rb +0 -61
- data/lib/sequel/plugins/schema.rb +0 -82
- data/lib/sequel/plugins/scissors.rb +0 -35
- data/spec/adapter_spec.rb +0 -4
- data/spec/adapters/db2_spec.rb +0 -160
- data/spec/adapters/firebird_spec.rb +0 -411
- data/spec/adapters/informix_spec.rb +0 -100
- data/spec/adapters/mssql_spec.rb +0 -733
- data/spec/adapters/mysql_spec.rb +0 -1319
- data/spec/adapters/oracle_spec.rb +0 -313
- data/spec/adapters/postgres_spec.rb +0 -3790
- data/spec/adapters/spec_helper.rb +0 -49
- data/spec/adapters/sqlanywhere_spec.rb +0 -170
- data/spec/adapters/sqlite_spec.rb +0 -688
- data/spec/bin_spec.rb +0 -258
- data/spec/core/connection_pool_spec.rb +0 -1045
- data/spec/core/database_spec.rb +0 -2636
- data/spec/core/dataset_spec.rb +0 -5175
- data/spec/core/deprecated_spec.rb +0 -70
- data/spec/core/expression_filters_spec.rb +0 -1247
- data/spec/core/mock_adapter_spec.rb +0 -464
- data/spec/core/object_graph_spec.rb +0 -303
- data/spec/core/placeholder_literalizer_spec.rb +0 -163
- data/spec/core/schema_generator_spec.rb +0 -203
- data/spec/core/schema_spec.rb +0 -1676
- data/spec/core/spec_helper.rb +0 -34
- data/spec/core/version_spec.rb +0 -7
- data/spec/core_extensions_spec.rb +0 -699
- data/spec/core_model_spec.rb +0 -2
- data/spec/core_spec.rb +0 -1
- data/spec/extensions/accessed_columns_spec.rb +0 -51
- data/spec/extensions/active_model_spec.rb +0 -85
- data/spec/extensions/after_initialize_spec.rb +0 -24
- data/spec/extensions/arbitrary_servers_spec.rb +0 -109
- data/spec/extensions/association_dependencies_spec.rb +0 -117
- data/spec/extensions/association_pks_spec.rb +0 -405
- data/spec/extensions/association_proxies_spec.rb +0 -86
- data/spec/extensions/auto_validations_spec.rb +0 -192
- data/spec/extensions/before_after_save_spec.rb +0 -40
- data/spec/extensions/blacklist_security_spec.rb +0 -88
- data/spec/extensions/blank_spec.rb +0 -69
- data/spec/extensions/boolean_readers_spec.rb +0 -93
- data/spec/extensions/boolean_subsets_spec.rb +0 -47
- data/spec/extensions/caching_spec.rb +0 -270
- data/spec/extensions/class_table_inheritance_spec.rb +0 -444
- data/spec/extensions/column_conflicts_spec.rb +0 -60
- data/spec/extensions/column_select_spec.rb +0 -108
- data/spec/extensions/columns_introspection_spec.rb +0 -91
- data/spec/extensions/composition_spec.rb +0 -242
- data/spec/extensions/connection_expiration_spec.rb +0 -121
- data/spec/extensions/connection_validator_spec.rb +0 -127
- data/spec/extensions/constraint_validations_plugin_spec.rb +0 -288
- data/spec/extensions/constraint_validations_spec.rb +0 -389
- data/spec/extensions/core_refinements_spec.rb +0 -519
- data/spec/extensions/csv_serializer_spec.rb +0 -180
- data/spec/extensions/current_datetime_timestamp_spec.rb +0 -27
- data/spec/extensions/dataset_associations_spec.rb +0 -343
- data/spec/extensions/dataset_source_alias_spec.rb +0 -51
- data/spec/extensions/date_arithmetic_spec.rb +0 -167
- data/spec/extensions/defaults_setter_spec.rb +0 -102
- data/spec/extensions/delay_add_association_spec.rb +0 -74
- data/spec/extensions/dirty_spec.rb +0 -180
- data/spec/extensions/duplicate_columns_handler_spec.rb +0 -110
- data/spec/extensions/eager_each_spec.rb +0 -66
- data/spec/extensions/empty_array_consider_nulls_spec.rb +0 -24
- data/spec/extensions/error_splitter_spec.rb +0 -18
- data/spec/extensions/error_sql_spec.rb +0 -20
- data/spec/extensions/eval_inspect_spec.rb +0 -73
- data/spec/extensions/filter_having_spec.rb +0 -40
- data/spec/extensions/force_encoding_spec.rb +0 -114
- data/spec/extensions/from_block_spec.rb +0 -21
- data/spec/extensions/graph_each_spec.rb +0 -119
- data/spec/extensions/hash_aliases_spec.rb +0 -24
- data/spec/extensions/hook_class_methods_spec.rb +0 -429
- data/spec/extensions/identifier_columns_spec.rb +0 -17
- data/spec/extensions/inflector_spec.rb +0 -183
- data/spec/extensions/input_transformer_spec.rb +0 -54
- data/spec/extensions/insert_returning_select_spec.rb +0 -46
- data/spec/extensions/instance_filters_spec.rb +0 -79
- data/spec/extensions/instance_hooks_spec.rb +0 -276
- data/spec/extensions/inverted_subsets_spec.rb +0 -33
- data/spec/extensions/json_serializer_spec.rb +0 -304
- data/spec/extensions/lazy_attributes_spec.rb +0 -170
- data/spec/extensions/list_spec.rb +0 -278
- data/spec/extensions/looser_typecasting_spec.rb +0 -43
- data/spec/extensions/many_through_many_spec.rb +0 -2172
- data/spec/extensions/meta_def_spec.rb +0 -21
- data/spec/extensions/migration_spec.rb +0 -728
- data/spec/extensions/modification_detection_spec.rb +0 -80
- data/spec/extensions/mssql_optimistic_locking_spec.rb +0 -91
- data/spec/extensions/named_timezones_spec.rb +0 -108
- data/spec/extensions/nested_attributes_spec.rb +0 -697
- data/spec/extensions/no_auto_literal_strings_spec.rb +0 -65
- data/spec/extensions/null_dataset_spec.rb +0 -85
- data/spec/extensions/optimistic_locking_spec.rb +0 -128
- data/spec/extensions/pagination_spec.rb +0 -118
- data/spec/extensions/pg_array_associations_spec.rb +0 -736
- data/spec/extensions/pg_array_ops_spec.rb +0 -143
- data/spec/extensions/pg_array_spec.rb +0 -390
- data/spec/extensions/pg_enum_spec.rb +0 -92
- data/spec/extensions/pg_hstore_ops_spec.rb +0 -236
- data/spec/extensions/pg_hstore_spec.rb +0 -206
- data/spec/extensions/pg_inet_ops_spec.rb +0 -101
- data/spec/extensions/pg_inet_spec.rb +0 -52
- data/spec/extensions/pg_interval_spec.rb +0 -76
- data/spec/extensions/pg_json_ops_spec.rb +0 -275
- data/spec/extensions/pg_json_spec.rb +0 -218
- data/spec/extensions/pg_loose_count_spec.rb +0 -17
- data/spec/extensions/pg_range_ops_spec.rb +0 -58
- data/spec/extensions/pg_range_spec.rb +0 -473
- data/spec/extensions/pg_row_ops_spec.rb +0 -60
- data/spec/extensions/pg_row_plugin_spec.rb +0 -62
- data/spec/extensions/pg_row_spec.rb +0 -360
- data/spec/extensions/pg_static_cache_updater_spec.rb +0 -92
- data/spec/extensions/pg_typecast_on_load_spec.rb +0 -63
- data/spec/extensions/prepared_statements_associations_spec.rb +0 -159
- data/spec/extensions/prepared_statements_safe_spec.rb +0 -61
- data/spec/extensions/prepared_statements_spec.rb +0 -103
- data/spec/extensions/prepared_statements_with_pk_spec.rb +0 -31
- data/spec/extensions/pretty_table_spec.rb +0 -92
- data/spec/extensions/query_literals_spec.rb +0 -183
- data/spec/extensions/query_spec.rb +0 -102
- data/spec/extensions/rcte_tree_spec.rb +0 -392
- data/spec/extensions/round_timestamps_spec.rb +0 -43
- data/spec/extensions/schema_caching_spec.rb +0 -41
- data/spec/extensions/schema_dumper_spec.rb +0 -814
- data/spec/extensions/schema_spec.rb +0 -117
- data/spec/extensions/scissors_spec.rb +0 -26
- data/spec/extensions/select_remove_spec.rb +0 -38
- data/spec/extensions/sequel_3_dataset_methods_spec.rb +0 -101
- data/spec/extensions/serialization_modification_detection_spec.rb +0 -98
- data/spec/extensions/serialization_spec.rb +0 -362
- data/spec/extensions/server_block_spec.rb +0 -90
- data/spec/extensions/server_logging_spec.rb +0 -45
- data/spec/extensions/set_overrides_spec.rb +0 -61
- data/spec/extensions/sharding_spec.rb +0 -198
- data/spec/extensions/shared_caching_spec.rb +0 -175
- data/spec/extensions/single_table_inheritance_spec.rb +0 -297
- data/spec/extensions/singular_table_names_spec.rb +0 -22
- data/spec/extensions/skip_create_refresh_spec.rb +0 -17
- data/spec/extensions/spec_helper.rb +0 -71
- data/spec/extensions/split_array_nil_spec.rb +0 -24
- data/spec/extensions/split_values_spec.rb +0 -22
- data/spec/extensions/sql_comments_spec.rb +0 -27
- data/spec/extensions/sql_expr_spec.rb +0 -60
- data/spec/extensions/static_cache_spec.rb +0 -361
- data/spec/extensions/string_agg_spec.rb +0 -85
- data/spec/extensions/string_date_time_spec.rb +0 -95
- data/spec/extensions/string_stripper_spec.rb +0 -68
- data/spec/extensions/subclasses_spec.rb +0 -66
- data/spec/extensions/subset_conditions_spec.rb +0 -38
- data/spec/extensions/table_select_spec.rb +0 -71
- data/spec/extensions/tactical_eager_loading_spec.rb +0 -136
- data/spec/extensions/thread_local_timezones_spec.rb +0 -67
- data/spec/extensions/timestamps_spec.rb +0 -175
- data/spec/extensions/to_dot_spec.rb +0 -154
- data/spec/extensions/touch_spec.rb +0 -203
- data/spec/extensions/tree_spec.rb +0 -274
- data/spec/extensions/typecast_on_load_spec.rb +0 -80
- data/spec/extensions/unlimited_update_spec.rb +0 -20
- data/spec/extensions/update_or_create_spec.rb +0 -87
- data/spec/extensions/update_primary_key_spec.rb +0 -100
- data/spec/extensions/update_refresh_spec.rb +0 -53
- data/spec/extensions/uuid_spec.rb +0 -106
- data/spec/extensions/validate_associated_spec.rb +0 -52
- data/spec/extensions/validation_class_methods_spec.rb +0 -1027
- data/spec/extensions/validation_helpers_spec.rb +0 -554
- data/spec/extensions/xml_serializer_spec.rb +0 -207
- data/spec/files/bad_down_migration/001_create_alt_basic.rb +0 -4
- data/spec/files/bad_down_migration/002_create_alt_advanced.rb +0 -4
- data/spec/files/bad_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/bad_timestamped_migrations/1273253851_create_nodes.rb +0 -9
- data/spec/files/bad_timestamped_migrations/1273253853_3_create_users.rb +0 -3
- data/spec/files/bad_up_migration/001_create_alt_basic.rb +0 -4
- data/spec/files/bad_up_migration/002_create_alt_advanced.rb +0 -3
- data/spec/files/convert_to_timestamp_migrations/001_create_sessions.rb +0 -9
- data/spec/files/convert_to_timestamp_migrations/002_create_nodes.rb +0 -9
- data/spec/files/convert_to_timestamp_migrations/003_3_create_users.rb +0 -4
- data/spec/files/convert_to_timestamp_migrations/1273253850_create_artists.rb +0 -9
- data/spec/files/convert_to_timestamp_migrations/1273253852_create_albums.rb +0 -9
- data/spec/files/double_migration/001_create_sessions.rb +0 -9
- data/spec/files/double_migration/002_create_nodes.rb +0 -19
- data/spec/files/double_migration/003_3_create_users.rb +0 -4
- data/spec/files/duplicate_integer_migrations/001_create_alt_advanced.rb +0 -4
- data/spec/files/duplicate_integer_migrations/001_create_alt_basic.rb +0 -4
- data/spec/files/duplicate_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/duplicate_timestamped_migrations/1273253853_create_nodes.rb +0 -9
- data/spec/files/duplicate_timestamped_migrations/1273253853_create_users.rb +0 -4
- data/spec/files/empty_migration/001_create_sessions.rb +0 -9
- data/spec/files/empty_migration/002_create_nodes.rb +0 -0
- data/spec/files/empty_migration/003_3_create_users.rb +0 -4
- data/spec/files/integer_migrations/001_create_sessions.rb +0 -9
- data/spec/files/integer_migrations/002_create_nodes.rb +0 -9
- data/spec/files/integer_migrations/003_3_create_users.rb +0 -4
- data/spec/files/interleaved_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253850_create_artists.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253851_create_nodes.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253852_create_albums.rb +0 -9
- data/spec/files/interleaved_timestamped_migrations/1273253853_3_create_users.rb +0 -4
- data/spec/files/missing_integer_migrations/001_create_alt_basic.rb +0 -4
- data/spec/files/missing_integer_migrations/003_create_alt_advanced.rb +0 -4
- data/spec/files/missing_timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/missing_timestamped_migrations/1273253853_3_create_users.rb +0 -4
- data/spec/files/reversible_migrations/001_reversible.rb +0 -5
- data/spec/files/reversible_migrations/002_reversible.rb +0 -5
- data/spec/files/reversible_migrations/003_reversible.rb +0 -5
- data/spec/files/reversible_migrations/004_reversible.rb +0 -5
- data/spec/files/reversible_migrations/005_reversible.rb +0 -10
- data/spec/files/reversible_migrations/006_reversible.rb +0 -10
- data/spec/files/reversible_migrations/007_reversible.rb +0 -10
- data/spec/files/timestamped_migrations/1273253849_create_sessions.rb +0 -9
- data/spec/files/timestamped_migrations/1273253851_create_nodes.rb +0 -9
- data/spec/files/timestamped_migrations/1273253853_3_create_users.rb +0 -4
- data/spec/files/transaction_specified_migrations/001_create_alt_basic.rb +0 -4
- data/spec/files/transaction_specified_migrations/002_create_basic.rb +0 -4
- data/spec/files/transaction_unspecified_migrations/001_create_alt_basic.rb +0 -3
- data/spec/files/transaction_unspecified_migrations/002_create_basic.rb +0 -3
- data/spec/files/uppercase_timestamped_migrations/1273253849_CREATE_SESSIONS.RB +0 -9
- data/spec/files/uppercase_timestamped_migrations/1273253851_CREATE_NODES.RB +0 -9
- data/spec/files/uppercase_timestamped_migrations/1273253853_3_CREATE_USERS.RB +0 -4
- data/spec/guards_helper.rb +0 -55
- data/spec/integration/associations_test.rb +0 -2506
- data/spec/integration/database_test.rb +0 -113
- data/spec/integration/dataset_test.rb +0 -1858
- data/spec/integration/eager_loader_test.rb +0 -687
- data/spec/integration/migrator_test.rb +0 -262
- data/spec/integration/model_test.rb +0 -230
- data/spec/integration/plugin_test.rb +0 -2297
- data/spec/integration/prepared_statement_test.rb +0 -467
- data/spec/integration/schema_test.rb +0 -815
- data/spec/integration/spec_helper.rb +0 -56
- data/spec/integration/timezone_test.rb +0 -86
- data/spec/integration/transaction_test.rb +0 -406
- data/spec/integration/type_test.rb +0 -133
- data/spec/model/association_reflection_spec.rb +0 -565
- data/spec/model/associations_spec.rb +0 -4589
- data/spec/model/base_spec.rb +0 -759
- data/spec/model/class_dataset_methods_spec.rb +0 -150
- data/spec/model/dataset_methods_spec.rb +0 -149
- data/spec/model/eager_loading_spec.rb +0 -2197
- data/spec/model/hooks_spec.rb +0 -604
- data/spec/model/inflector_spec.rb +0 -26
- data/spec/model/model_spec.rb +0 -1097
- data/spec/model/plugins_spec.rb +0 -299
- data/spec/model/record_spec.rb +0 -2162
- data/spec/model/spec_helper.rb +0 -46
- data/spec/model/validations_spec.rb +0 -193
- data/spec/model_no_assoc_spec.rb +0 -1
- data/spec/model_spec.rb +0 -1
- data/spec/plugin_spec.rb +0 -1
- data/spec/sequel_coverage.rb +0 -15
- data/spec/spec_config.rb +0 -10
@@ -1,78 +0,0 @@
|
|
1
|
-
= Performance Enhancements
|
2
|
-
|
3
|
-
* A mysql2 adapter was added to Sequel. It offers a large (2-6x)
|
4
|
-
performance increase over the standard mysql adapter. In order to
|
5
|
-
use it, you need to install mysql2, and change your connection
|
6
|
-
strings to use mysql2:// instead of mysql://.
|
7
|
-
|
8
|
-
* Support for sequel_pg was added to the native postgres adapter,
|
9
|
-
when pg is being used as the backend. sequel_pg also offers a
|
10
|
-
large (2-6x) performance increase over the default row fetching
|
11
|
-
code that the Sequel postgres adapter uses. In order to use it,
|
12
|
-
you just need to install sequel_pg, and the postgres adapter will
|
13
|
-
pick it up automatically.
|
14
|
-
|
15
|
-
* Mass assignment has been made about 10x faster by caching the
|
16
|
-
allowed setter methods in the model.
|
17
|
-
|
18
|
-
= Other Improvements
|
19
|
-
|
20
|
-
* The following construct is now safe to use in environments that
|
21
|
-
reload code without unloading existing constants:
|
22
|
-
|
23
|
-
class MyModel < Sequel::Model(DB[:table])
|
24
|
-
end
|
25
|
-
|
26
|
-
Previously, this would raise a superclass mismatch TypeError.
|
27
|
-
|
28
|
-
* Sequel now handles the case where both an implicit and an explicit
|
29
|
-
table alias are given to join_table, preferring the explicit alias.
|
30
|
-
This can happen if you are using models with aliased table names
|
31
|
-
and eager graphing them. Previously, this would result in invalid
|
32
|
-
SQL, with both aliases being used.
|
33
|
-
|
34
|
-
* You can use use an aliased table for the :join_table option
|
35
|
-
of a many_to_many association.
|
36
|
-
|
37
|
-
* The active_model plugin now supports the final release of
|
38
|
-
ActiveModel 3.0.0.
|
39
|
-
|
40
|
-
* Typecasting now works correctly for attributes loaded lazily
|
41
|
-
when using the lazy_attributes plugin.
|
42
|
-
|
43
|
-
* The class_table_inheritance plugin now works with non-integer
|
44
|
-
primary keys on SQLite.
|
45
|
-
|
46
|
-
* Temporary tables are now ignored when parsing the schema on
|
47
|
-
PostgreSQL.
|
48
|
-
|
49
|
-
* On MySQL, an :auto_increment key with a true value is added to
|
50
|
-
the Database#schema output hash if the related column is
|
51
|
-
auto incrementing.
|
52
|
-
|
53
|
-
* The mysql adapter now handles Mysql::Error exceptions raised when
|
54
|
-
disconnecting.
|
55
|
-
|
56
|
-
* On SQLite, emulated alter_table commands that require dropping
|
57
|
-
the table now preserve the foreign key information, if SQLite
|
58
|
-
foreign key support is enabled (it is by default).
|
59
|
-
|
60
|
-
* DSN-less connections now work correctly in more cases in the
|
61
|
-
ODBC adapter.
|
62
|
-
|
63
|
-
* A workaround has been added for a bug in the Microsoft SQL
|
64
|
-
Server JDBC Driver 3.0, involving it incorrectly returning a
|
65
|
-
smallint instead of a char type for the IS_AUTOINCREMENT
|
66
|
-
metadata value.
|
67
|
-
|
68
|
-
* An bug in the error handling when connecting to PostgreSQL using
|
69
|
-
the do (DataObjects) adapter has been fixed.
|
70
|
-
|
71
|
-
= Backwards Compatibility
|
72
|
-
|
73
|
-
* The caching of allowed mass assignment methods can result in the
|
74
|
-
incorrect exception class being raised if you manually undefine
|
75
|
-
instance setter methods in the model class. If you do this, you
|
76
|
-
need to clear the setter methods cache manually:
|
77
|
-
|
78
|
-
MyModel.clear_setter_methods_cache
|
@@ -1,45 +0,0 @@
|
|
1
|
-
= New Adapter
|
2
|
-
|
3
|
-
* A swift adapter was added to Sequel. Swift is a relatively new
|
4
|
-
ruby database library, built on top of a relatively new backend
|
5
|
-
called dbic++. While not yet considered production ready, it is
|
6
|
-
very fast. The swift adapter is about 33% faster and 40% more
|
7
|
-
memory efficient for selects than the postgres adapter using pg
|
8
|
-
with sequel_pg, though it is slower and less memory efficient
|
9
|
-
for inserts and updates.
|
10
|
-
|
11
|
-
Sequel's swift adapter currently supports only PostgreSQL and
|
12
|
-
MySQL, but support for other databases will probably be added in
|
13
|
-
the future.
|
14
|
-
|
15
|
-
= Other Improvements
|
16
|
-
|
17
|
-
* Sequel now correctly literalizes DateTime objects on ruby 1.9 for
|
18
|
-
databases that support fractional seconds.
|
19
|
-
|
20
|
-
* The identity_map plugin now handles composite keys in many_to_one
|
21
|
-
associations.
|
22
|
-
|
23
|
-
* The rcte_tree plugin now works when the model's dataset does not
|
24
|
-
select all columns. This can happen when using the lazy_attributes
|
25
|
-
plugin on the same model.
|
26
|
-
|
27
|
-
* Sequel now supports INTERSECT and EXCEPT on Microsoft SQL Server
|
28
|
-
2005+.
|
29
|
-
|
30
|
-
* The Database#create_language method in the shared PostgreSQL
|
31
|
-
adapter now accepts a :replace option to replace the currently
|
32
|
-
loaded procedural language if it already exists. This option
|
33
|
-
is ignored for PostgreSQL versions before 9.0.
|
34
|
-
|
35
|
-
* The identity_map plugin now handles cases where the plugin is
|
36
|
-
loaded separately by two different models.
|
37
|
-
|
38
|
-
= Backwards Compatibility
|
39
|
-
|
40
|
-
* While not technically backwards compatibility related, it was
|
41
|
-
discovered that the identity_map plugin is incompatible with
|
42
|
-
the standard eager loading of many_to_many and many_through_many
|
43
|
-
associations. If you want to eagerly load those associations and
|
44
|
-
use the identity_map plugin, you should use eager_graph instead
|
45
|
-
of eager.
|
@@ -1,58 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* You can now change the level at which Sequel logs SQL statements,
|
4
|
-
by calling Database#sql_log_level= with the method name symbol.
|
5
|
-
The default is still :info for backwards compatibility. Previously,
|
6
|
-
you had to use a proxy logger to get similar capability.
|
7
|
-
|
8
|
-
* You can now specify graph aliases where the alias would be the same
|
9
|
-
as the table column name using just the table name symbol, instead
|
10
|
-
having to repeat the alias as the second element of an array. More
|
11
|
-
clearly:
|
12
|
-
|
13
|
-
# < 3.17.0:
|
14
|
-
DB[:a].graph(:b, :a_id=>:id).
|
15
|
-
set_graph_aliases(:c=>[:a, :c], :d=>[:b, :d])
|
16
|
-
# >= 3.17.0:
|
17
|
-
DB[:a].graph(:b, :a_id=>:id).set_graph_aliases(:c=>:a, :d=>:b)
|
18
|
-
|
19
|
-
Both of these now yield the SQL:
|
20
|
-
|
21
|
-
SELECT a.c, b.d FROM a LEFT OUTER JOIN b ON (b.a_id = a.id)
|
22
|
-
|
23
|
-
* You should now be able to connect to MySQL over SSL in the native
|
24
|
-
MySQL adapter using the :sslca, :sslkey, and related options.
|
25
|
-
|
26
|
-
* Database#views and Database#view_exists? methods were added to the
|
27
|
-
Oracle adapter, allowing you to get a an array of view name symbols
|
28
|
-
and to check whether a given view exists.
|
29
|
-
|
30
|
-
= Other Improvements
|
31
|
-
|
32
|
-
* The nested_attributes plugin now avoids unnecessary update calls
|
33
|
-
when deleting associated objects, resulting in better performance.
|
34
|
-
|
35
|
-
* The optimistic_locking plugin now increments the lock column if no
|
36
|
-
other columns were modified but the Model#modified! was called. This
|
37
|
-
means it now works correctly with the nested_attributes plugin when
|
38
|
-
no changes to the main model object are made.
|
39
|
-
|
40
|
-
* The xml_serializer plugin can now round-trip nil values correctly.
|
41
|
-
Previously, nil values would be converted into empty strings. This
|
42
|
-
is accomplished by including a nil attribute in the xml tag.
|
43
|
-
|
44
|
-
* Database#each_server now works correctly when using the jdbc and do
|
45
|
-
adapters and a connection string without a separate :adapter option.
|
46
|
-
|
47
|
-
* You can now clone many_through_many associations.
|
48
|
-
|
49
|
-
* The default wait_timeout used by the mysql and mysql2 adapters was
|
50
|
-
decreased slightly so that it works correctly with MySQL database
|
51
|
-
servers that run on Windows.
|
52
|
-
|
53
|
-
* Many improvements were made to the AS400 jdbc subadapter.
|
54
|
-
|
55
|
-
* Many improvements were made to the swift adapter and subadapters.
|
56
|
-
|
57
|
-
* Dataset#ungraphed now removes any cached graph aliases set with
|
58
|
-
set_graph_aliases or add_graph_aliases.
|
@@ -1,120 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* Reversible migration support has been added:
|
4
|
-
|
5
|
-
Sequel.migration do
|
6
|
-
change do
|
7
|
-
create_table(:artists) do
|
8
|
-
primary_key :id
|
9
|
-
String :name, :null=>false
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
The change block acts the same way as an up block, except that
|
15
|
-
it automatically creates a down block that reverses the changes.
|
16
|
-
So the above is equivalent to:
|
17
|
-
|
18
|
-
Sequel.migration do
|
19
|
-
up do
|
20
|
-
create_table(:artists) do
|
21
|
-
primary_key :id
|
22
|
-
String :name, :null=>false
|
23
|
-
end
|
24
|
-
end
|
25
|
-
down do
|
26
|
-
drop_table :artists
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
The following methods are supported in a change block:
|
31
|
-
|
32
|
-
* create_table
|
33
|
-
* add_column
|
34
|
-
* add_index
|
35
|
-
* rename_column
|
36
|
-
* rename_table
|
37
|
-
* alter_table (supporting the following methods):
|
38
|
-
* add_column
|
39
|
-
* add_constraint
|
40
|
-
* add_foreign_key (with a symbol, not an array)
|
41
|
-
* add_primary_key (with a symbol, not an array)
|
42
|
-
* add_index
|
43
|
-
* add_full_text_index
|
44
|
-
* add_spatial_index
|
45
|
-
* rename_column
|
46
|
-
|
47
|
-
Use of an other method in a change block will result in the
|
48
|
-
creation of a down block that raises an exception.
|
49
|
-
|
50
|
-
* A to_dot extension has been added that adds a Dataset#to_dot
|
51
|
-
method, which returns a string that can be used as input to
|
52
|
-
the graphviz dot program in order to create visualizations
|
53
|
-
of the dataset's abstract syntax tree. Examples:
|
54
|
-
|
55
|
-
* http://sequel.jeremyevans.net/images/to_dot_simple.gif
|
56
|
-
* http://sequel.jeremyevans.net/images/to_dot_complex.gif
|
57
|
-
|
58
|
-
Both the to_dot extension and reversible migrations support
|
59
|
-
were inspired by Aaron Patterson's recent work on ActiveRecord
|
60
|
-
and ARel.
|
61
|
-
|
62
|
-
* The user can now control how the connection pool handles attempts
|
63
|
-
to access shards that haven't been configured. The default is
|
64
|
-
still to assume the :default shard. However, you can specify a
|
65
|
-
different shard using the :servers_hash option when connecting
|
66
|
-
to the database:
|
67
|
-
|
68
|
-
DB = Sequel.connect(..., :servers_hash=>Hash.new(:some_shard))
|
69
|
-
|
70
|
-
You can also use this feature to raise an exception if an
|
71
|
-
unconfigured shard is used:
|
72
|
-
|
73
|
-
DB = Sequel.connect(..., :servers_hash=>Hash.new{raise ...})
|
74
|
-
|
75
|
-
* The mysql and mysql2 adapters now both support the :read_timeout
|
76
|
-
and :connect_timeout options. read_timeout is the timeout in
|
77
|
-
seconds for reading back results of a query, and connect_timeout
|
78
|
-
is the timeout in seconds before a connection attempt is abandoned.
|
79
|
-
|
80
|
-
= Other Improvements
|
81
|
-
|
82
|
-
* The json_serializer plugin will now typecast column values for
|
83
|
-
columns with unrestricted setter methods when parsing JSON into
|
84
|
-
model objects. It now also calls the getter method when creating
|
85
|
-
the JSON, instead of directly taking the values from the underlying
|
86
|
-
hash.
|
87
|
-
|
88
|
-
* When parsing the schema for a model with an aliased table name,
|
89
|
-
the unaliased table name is now used.
|
90
|
-
|
91
|
-
* The SQLite adapter has been updated to not rely on the native
|
92
|
-
type_translation support, since that will be removed in the next
|
93
|
-
major version of sqlite3-ruby. Sequel now implements it's own
|
94
|
-
type translation in the sqlite adapter, similarly to how the mysql
|
95
|
-
and postgres adapters handle type translation.
|
96
|
-
|
97
|
-
* On SQLite, when emulating natively unsupported schema methods such
|
98
|
-
as drop_column, Sequel will now attempt to recreate applicable
|
99
|
-
indexes on the underlying table.
|
100
|
-
|
101
|
-
* A more informative error message is now used when connecting fails
|
102
|
-
when using the jdbc adapter.
|
103
|
-
|
104
|
-
* method_missing is no longer removed from Sequel::BasicObject on
|
105
|
-
ruby 1.8. This should improve compatibility in some cases with
|
106
|
-
Rubinius.
|
107
|
-
|
108
|
-
= Backwards Compatibility
|
109
|
-
|
110
|
-
* On SQLite, Sequel no longer assumes that a plain integer in a
|
111
|
-
datetime or timestamp field represents a unix epoch time.
|
112
|
-
|
113
|
-
* Previously, saving a model object that used the instance_hooks
|
114
|
-
plugin removed all instance hooks. Now, only the applicable hooks
|
115
|
-
are removed. So if you save a new object, the update instance
|
116
|
-
hooks won't be removed. And if you save an existing object, delete
|
117
|
-
instance hooks won't be removed.
|
118
|
-
|
119
|
-
* The private Dataset#identifier_list method has been moved into the
|
120
|
-
SQLite adapter, since that is the only place it was used.
|
@@ -1,67 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* The add_* association methods now accept a primary key, and
|
4
|
-
associates the receiver to the associated model object with that
|
5
|
-
primary key:
|
6
|
-
|
7
|
-
artist.add_album(42)
|
8
|
-
# equivalent to: artist.add_album(Album[42])
|
9
|
-
|
10
|
-
* The validation_class_methods plugin now has the ability to
|
11
|
-
reflect on validations:
|
12
|
-
|
13
|
-
Album.plugin :validation_class_methods
|
14
|
-
Album.validates_acceptance_of(:a)
|
15
|
-
Album.validation_reflections
|
16
|
-
# => {:a=>[[:acceptance, {:tag=>:acceptance, :allow_nil=>true,
|
17
|
-
:message=>"is not accepted", :accept=>"1"}]]}
|
18
|
-
|
19
|
-
= Other Improvements
|
20
|
-
|
21
|
-
* In the postgres, mysql, and sqlite adapters, typecasting now uses
|
22
|
-
methods instead of procs. Since methods aren't closures (while
|
23
|
-
procs are), this makes typecasting faster (up to 15%).
|
24
|
-
|
25
|
-
* When typecasting model column values, the classes of the new and
|
26
|
-
existing values are checked in addition to the values themselves.
|
27
|
-
Previously, if the new and existing values were equal (i.e. 1.0
|
28
|
-
and 1), it wouldn't update the value. Now, if the classes are
|
29
|
-
different, it always updates the value.
|
30
|
-
|
31
|
-
* Date and DateTime objects are now handled correctly when using
|
32
|
-
prepared statements/bound variables in the jdbc adapter.
|
33
|
-
|
34
|
-
* Date, DateTime, Time, true, false, and SQL::Blob objects are now
|
35
|
-
handled correctly when using prepared statements/bound variables
|
36
|
-
in the sqlite adapter.
|
37
|
-
|
38
|
-
* Sequel now uses varbinary(max) instead of image for the generic
|
39
|
-
File (blob) type on Microsoft SQL Server. This makes it possible
|
40
|
-
to use an SQL::Blob object as a prepared statement argument.
|
41
|
-
|
42
|
-
* Sequel now handles blobs better in the Amalgalite adapter.
|
43
|
-
|
44
|
-
* When disconnecting a connection using the sqlite adapter, all
|
45
|
-
open prepared statements are now closed first. Previously,
|
46
|
-
attempting to disconnect a connection with open prepared statements
|
47
|
-
resulted in an error.
|
48
|
-
|
49
|
-
* The license file has been renamed from COPYING to MIT-LICENSE, to
|
50
|
-
make it easier to determine at a glance which license is used.
|
51
|
-
|
52
|
-
= Backwards Compatibility
|
53
|
-
|
54
|
-
* Because Sequel switched the generic File type from image to
|
55
|
-
varbinary(max) on Microsoft SQL Server, any migrations/schema
|
56
|
-
modification methods that used the File type will now result in a
|
57
|
-
different column type than before.
|
58
|
-
|
59
|
-
* The MYSQL_TYPE_PROCS, PG_TYPE_PROCS, and SQLITE_TYPE_PROCS
|
60
|
-
constants have been removed from the mysql, postgres, and sqlite
|
61
|
-
adapters, respectively. The UNIX_EPOCH_TIME_FORMAT and
|
62
|
-
FALSE_VALUES constants have also been removed from the sqlite
|
63
|
-
adapter.
|
64
|
-
|
65
|
-
* Typecasting in the sqlite adapters now uses to_i and to_f instead
|
66
|
-
of Integer() and Float() with rescues. If you put non-numeric
|
67
|
-
data in numeric columns on SQLite, this could cause problems.
|
data/doc/release_notes/3.2.0.txt
DELETED
@@ -1,268 +0,0 @@
|
|
1
|
-
New Features
|
2
|
-
------------
|
3
|
-
|
4
|
-
* Common table expressions (CTEs) are now supported. CTEs use the
|
5
|
-
SQL WITH clause, and specify inline views that queries can use.
|
6
|
-
They also support a recursive mode, where the CTE can recursively
|
7
|
-
query its own output, allowing you do do things like load all
|
8
|
-
branches for a given node in a plain tree structure.
|
9
|
-
|
10
|
-
The standard with takes an alias and a dataset:
|
11
|
-
|
12
|
-
DB[:vw].with(:vw, DB[:table].filter{col < 1})
|
13
|
-
# WITH vw AS (SELECT * FROM table WHERE col < 1)
|
14
|
-
# SELECT * FROM vw
|
15
|
-
|
16
|
-
The recursive with takes an alias, a nonrecursive dataset, and a
|
17
|
-
recursive dataset:
|
18
|
-
|
19
|
-
DB[:vw].with_recursive(:vw,
|
20
|
-
DB[:tree].filter(:id=>1),
|
21
|
-
DB[:tree].join(:vw, :id=>:parent_id).
|
22
|
-
select(:vw__id, :vw__parent_id))
|
23
|
-
# WITH RECURSIVE vw AS (SELECT * FROM tree
|
24
|
-
# WHERE (id = 1)
|
25
|
-
# UNION ALL
|
26
|
-
# SELECT vw.id, vw.parent_id
|
27
|
-
# FROM tree
|
28
|
-
# INNER JOIN vw ON (vw.id = tree.parent_id))
|
29
|
-
# SELECT * FROM vw
|
30
|
-
|
31
|
-
CTEs are supported by Microsoft SQL Server 2005+, DB2 7+,
|
32
|
-
Firebird 2.1+, Oracle 9+, and PostgreSQL 8.4+.
|
33
|
-
|
34
|
-
* SQL window functions are now supported, and a DSL has been added to
|
35
|
-
ease their creation. Window functions act similarly to aggregate
|
36
|
-
functions but operate on sliding ranges of rows.
|
37
|
-
|
38
|
-
In virtual row blocks (blocks passed to filter, select, order, etc.)
|
39
|
-
you can now provide a block to method calls to change the default
|
40
|
-
behavior to create functions that weren't possible previously. The
|
41
|
-
blocks aren't called, but their presence serves as a flag.
|
42
|
-
|
43
|
-
What function is created depends on the arguments to the method:
|
44
|
-
|
45
|
-
* If there are no arguments, an SQL::Function is created with the
|
46
|
-
name of method used, and no arguments. Previously, it was not
|
47
|
-
possible to create functions without arguments using the virtual
|
48
|
-
row block DSL. Example:
|
49
|
-
|
50
|
-
DB.dataset.select{version{}} # SELECT version()
|
51
|
-
|
52
|
-
* If the first argument is :*, an SQL::Function is created with a
|
53
|
-
single wildcard argument (*). This is mostly useful for count:
|
54
|
-
|
55
|
-
DB[:t].select{count(:*){}} # SELECT count(*) FROM t
|
56
|
-
|
57
|
-
* If the first argument is :distinct, an SQL::Function is created
|
58
|
-
with the keyword DISTINCT prefacing all remaining arguments. This
|
59
|
-
is useful for aggregate functions such as count:
|
60
|
-
|
61
|
-
DB[:t].select{count(:distinct, col1){}}
|
62
|
-
# SELECT count(DISTINCT col1) FROM t
|
63
|
-
|
64
|
-
* If the first argument is :over, the second argument, if provided,
|
65
|
-
should be a hash of options to pass to SQL::Window. The options
|
66
|
-
hash can also contain :*=>true to use a wildcard argument as the
|
67
|
-
function argument, or :args=>... to specify an array of arguments
|
68
|
-
to use as the function arguments.
|
69
|
-
|
70
|
-
DB[:t].select{rank(:over){}} # SELECT rank() OVER ()
|
71
|
-
DB[:t].select{count(:over, :*=>true){}} # SELECT count(*) OVER ()
|
72
|
-
DB[:t].select{sum(:over, :args=>col1,
|
73
|
-
:partition=>col2, :order=>col3){}}
|
74
|
-
# SELECT sum(col1) OVER (PARTITION BY col2 ORDER BY col3)
|
75
|
-
|
76
|
-
PostgreSQL also supports named windows. Named windows can be
|
77
|
-
specified by Dataset#window, and window functions can reference
|
78
|
-
them using the :window option.
|
79
|
-
|
80
|
-
* Schema information for columns now includes a :ruby_default entry
|
81
|
-
which contains a ruby object that represents the default given by
|
82
|
-
the database (which is stored in :default). Not all :default
|
83
|
-
entries can be parsed into a :ruby_default, but if the
|
84
|
-
schema_dumper extension previously supported it, it should work.
|
85
|
-
|
86
|
-
* Methods to create compound datasets (union, intersect, except), now
|
87
|
-
take an options hash instead of a true/false flag. The previous
|
88
|
-
API is still supported, but switching to specifying the ALL setting
|
89
|
-
using :all=>true is recommended.
|
90
|
-
|
91
|
-
Additionally, you can now set :from_self=>false to not wrap the
|
92
|
-
returned dataset in a "SELECT * FROM (...)".
|
93
|
-
|
94
|
-
* Dataset#ungraphed was added that removes the graphing information
|
95
|
-
from the dataset. This allows you to use Dataset#graph for the
|
96
|
-
automatic aliasing, or #eager_graph for the automatic aliasing and
|
97
|
-
joining, and then remove the graphing information so that the
|
98
|
-
resulting objects will not be split into subhashes or associations.
|
99
|
-
|
100
|
-
* There were some introspection methods added to Dataset to describe
|
101
|
-
which capabilities that dataset does or does not support:
|
102
|
-
|
103
|
-
supports_cte?
|
104
|
-
supports_distinct_on?
|
105
|
-
supports_intersect_except?
|
106
|
-
supports_intersect_except_all?
|
107
|
-
supports_window_functions?
|
108
|
-
|
109
|
-
In addition to being available for the user to use, these are also
|
110
|
-
used internally, so attempting to use a CTE on a dataset that
|
111
|
-
doesn't support it will raise an Error.
|
112
|
-
|
113
|
-
* Dataset#qualify was added, which is like qualify_to with a default
|
114
|
-
of first_source.
|
115
|
-
|
116
|
-
Additionally, qualify now affects PlaceholderLiteralStrings. It
|
117
|
-
doesn't scan the string (as Sequel never attempts to parse SQL),
|
118
|
-
but if you provide the column as a symbol placeholder argument, it
|
119
|
-
will qualify it.
|
120
|
-
|
121
|
-
* You can now specify the table and column Sequel::Migrator will use
|
122
|
-
to record the current schema version. The new Migrator.run method
|
123
|
-
must be used to use these new options.
|
124
|
-
|
125
|
-
* The JDBC adapter now accepts :user and :password options, instead
|
126
|
-
of requiring them to be specified in the connection string and
|
127
|
-
handled by the JDBC driver. This should allow connections to
|
128
|
-
Oracle using the Thin JDBC driver.
|
129
|
-
|
130
|
-
* You can now specify the max_connections, pool_timeout, and
|
131
|
-
single_threaded settings directly in the connection string:
|
132
|
-
|
133
|
-
postgres:///database?single_threaded=t
|
134
|
-
postgres:///database?max_connections=10&pool_timeout=20
|
135
|
-
|
136
|
-
* Dataset#on_duplicate_key_update now affects Dataset#insert when
|
137
|
-
using MySQL.
|
138
|
-
|
139
|
-
* You can now specify the :opclass option when creating PostgreSQL
|
140
|
-
indexes. Currently, this only supports a single operator class
|
141
|
-
for all columns. If you need different operator classes per
|
142
|
-
column, please post on sequel-talk.
|
143
|
-
|
144
|
-
* Model#autoincrementing_primary_key was added and can be used if
|
145
|
-
the autoincrementing key isn't the same as the primary key. The
|
146
|
-
only likely use for this is on MySQL MyISAM tables with composite
|
147
|
-
primary keys where only one of the composite parts is
|
148
|
-
autoincrementing.
|
149
|
-
|
150
|
-
* You can now use database column values as search patterns and
|
151
|
-
specify the text to search as a String or Regexp:
|
152
|
-
|
153
|
-
String.send(:include, Sequel::SQL::StringMethods)
|
154
|
-
Regexp.send(:include, Sequel::SQL::StringMethods)
|
155
|
-
|
156
|
-
'a'.like(:x) # ('a' LIKE x)
|
157
|
-
/a/.like(:x) # ('a' ~ x)
|
158
|
-
/a/i.like(:x) # ('a' ~* x)
|
159
|
-
/a/.like(:x, 'b') # (('a' ~ x) OR ('a' ~ 'b'))
|
160
|
-
|
161
|
-
* The Dataset#dataset_alias private method was added. It can be
|
162
|
-
overridden if you have tables named t0, t1, etc and want to make
|
163
|
-
sure the default dataset aliases that Sequel uses do not clash
|
164
|
-
with existing table names.
|
165
|
-
|
166
|
-
* Sequel now raises an Error if you call Sequel.connect with
|
167
|
-
something that is not a Hash or String.
|
168
|
-
|
169
|
-
* bin/sequel now accepts a -N option to not test the database
|
170
|
-
connection.
|
171
|
-
|
172
|
-
* An opening_databases.rdoc file was added to the documentation
|
173
|
-
directory, which should be a good introduction for new users about
|
174
|
-
how to set up your Database connection.
|
175
|
-
|
176
|
-
Other Improvements
|
177
|
-
------------------
|
178
|
-
|
179
|
-
* MySQL native adapter SELECT is much faster than before, up to 75%
|
180
|
-
faster.
|
181
|
-
|
182
|
-
* JDBC SELECT is about 10% faster than before. It's still much
|
183
|
-
slower than the native adapters, due to conversion issues.
|
184
|
-
|
185
|
-
* bin/sequel now works with a YAML file on ruby 1.9.
|
186
|
-
|
187
|
-
* MySQL foreign key table constraints have been fixed.
|
188
|
-
|
189
|
-
* Database#indexes now works on PostgreSQL if the schema used is a
|
190
|
-
Symbol. It also works on PostgreSQL versions all the way back to
|
191
|
-
7.4.
|
192
|
-
|
193
|
-
* Graphing of datasets with dataset sources has been fixed.
|
194
|
-
|
195
|
-
* Changing a columns name, type, or NULL status on MySQL now
|
196
|
-
supports a much wider selection of column defaults.
|
197
|
-
|
198
|
-
* The stored procedure code is now thread-safe. Sequel is
|
199
|
-
thread-safe in general, but due to a bug the previous stored
|
200
|
-
procedure code was not thread-safe.
|
201
|
-
|
202
|
-
* The ODBC adapter now drops statements automatically instead of
|
203
|
-
requiring the user to do so manually, making it more similar
|
204
|
-
to other adapters.
|
205
|
-
|
206
|
-
* The single_table_inheritance plugin no longer overwrites the STI
|
207
|
-
field if the field already has a value. This allows you to use
|
208
|
-
create in the generic class to insert a value that will be
|
209
|
-
returned as a subclass:
|
210
|
-
|
211
|
-
Person.create(:kind => "Manager")
|
212
|
-
|
213
|
-
* When altering colums on MySQL, :unsigned, :elements, :size and other
|
214
|
-
options given are no longer ignored.
|
215
|
-
|
216
|
-
* The PostgreSQL shared adapter's explain and analyze methods have
|
217
|
-
been fixed, they had been broken in 3.0.
|
218
|
-
|
219
|
-
* Parsing of the server's version is more robust on PostgreSQL.
|
220
|
-
It should now work correctly for 8.4 and 8.4rc1 type versions.
|
221
|
-
|
222
|
-
Backwards Compatibility
|
223
|
-
-----------------------
|
224
|
-
|
225
|
-
* Dataset#table_exists? has been removed, since it never worked
|
226
|
-
perfectly. Use Database#table_exists? instead.
|
227
|
-
|
228
|
-
* Model.grep now calls Dataset#grep instead of Enumerable#grep.
|
229
|
-
If you are using Model.grep, you need to modify your application.
|
230
|
-
|
231
|
-
* The MSSQL shared adapter previously used the :with option for
|
232
|
-
storing the NOLOCK setting of the query. That option has been
|
233
|
-
renamed to :table_options, since :with is now used for CTEs.
|
234
|
-
This should not have an effect unless you where using the option
|
235
|
-
manually.
|
236
|
-
|
237
|
-
* Previously, providing a block to a method calls in virtual row
|
238
|
-
blocks did not change behavior, where now it causes a different
|
239
|
-
code path to be used. In both cases, the block is not evaluated,
|
240
|
-
but that may change in a future version.
|
241
|
-
|
242
|
-
* Dataset#to_table_reference protected method was removed, as it was
|
243
|
-
no longer used.
|
244
|
-
|
245
|
-
* The pool_timeout setting is now converted to an Integer, so if you
|
246
|
-
used to pass in a Float, it no longer works the same way.
|
247
|
-
|
248
|
-
* Most files in adapters/utils have been removed, in favor of
|
249
|
-
integrating the code directly into Database and Dataset. If you
|
250
|
-
were previously checking for the UnsupportedIntersectExcept or
|
251
|
-
related modules, use the Dataset introspection methods instead
|
252
|
-
(e.g. supports_intersect_except?).
|
253
|
-
|
254
|
-
* If you were using the ODBC adapter and manually dropping returned
|
255
|
-
statements, you should note that now statements are dropped
|
256
|
-
automatically, and the execute method doesn't return a statement
|
257
|
-
object.
|
258
|
-
|
259
|
-
* The MySQL adapter on_duplicate_key_update_sql is now a private
|
260
|
-
method.
|
261
|
-
|
262
|
-
* If you were modifying the :from dataset option directly, note that
|
263
|
-
Sequel now expects this option to be preprocessed. See the new
|
264
|
-
implementation of Dataset#from for an idea of the changes
|
265
|
-
required.
|
266
|
-
|
267
|
-
* Dataset#simple_select_all? now returns false instead of true for a
|
268
|
-
dataset that selects from another dataset.
|
@@ -1,41 +0,0 @@
|
|
1
|
-
= New Features
|
2
|
-
|
3
|
-
* The swift adapter now supports an SQLite subadapter. Use the
|
4
|
-
:db_type => 'sqlite' option when connecting. You can use an
|
5
|
-
in memory database with the following connection string:
|
6
|
-
|
7
|
-
swift:///?database=:memory:&db_type=sqlite
|
8
|
-
|
9
|
-
* Arbitrary JDBC properties can now be set in the JDBC adapter
|
10
|
-
using the :jdbc_properties option when connecting. The value
|
11
|
-
of this option should be a hash where keys and values are JDBC
|
12
|
-
property keys and values.
|
13
|
-
|
14
|
-
* Basic Microsoft Access support was added to the ado adapter.
|
15
|
-
The creation of autoincrementing primary key integers now works,
|
16
|
-
and identifiers are now quoted with [].
|
17
|
-
|
18
|
-
* The Database#indexes method now supports a :partial option when
|
19
|
-
connecting to MySQL, which makes it include partial indexes (which
|
20
|
-
are usually excluded).
|
21
|
-
|
22
|
-
= Other Improvements
|
23
|
-
|
24
|
-
* The class_table_inheritance plugin now handles subclass
|
25
|
-
associations better. Previously, the implicit eager loading code
|
26
|
-
had issues when you called an association method that only existed
|
27
|
-
in the subclass.
|
28
|
-
|
29
|
-
* The error message used when a validates_max_length validation is
|
30
|
-
applied to a nil column value has been improved. You can override
|
31
|
-
the message yourself using the :nil_message option.
|
32
|
-
|
33
|
-
* The read_timeout and connect_timeout options now work correctly in
|
34
|
-
the mysql adapter.
|
35
|
-
|
36
|
-
* Another MySQL disconnect error message is now recognized.
|
37
|
-
|
38
|
-
= Backwards Compatibility
|
39
|
-
|
40
|
-
* The swift adapter was upgraded to support swift 0.8.1. Older
|
41
|
-
versions of swift are no longer supported.
|