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,328 +0,0 @@
|
|
1
|
-
New Supported Adapters and Databases
|
2
|
-
------------------------------------
|
3
|
-
|
4
|
-
* A DataObjects adapter was added that supports PostgreSQL,
|
5
|
-
MySQL, and SQLite. DataObjects is the underlying database
|
6
|
-
library used by DataMapper, and has potential performance
|
7
|
-
advantages by doing all typecasting in C.
|
8
|
-
|
9
|
-
* A Firebird Adapter was added, it requires the modified Ruby
|
10
|
-
Fb adapter found at http://github.com/wishdev/fb.
|
11
|
-
|
12
|
-
* An H2 JDBC subadapter was added, based on the code used in JotBot.
|
13
|
-
H2 is an embeddable Java database, and may be preferable to using
|
14
|
-
SQLite on JDBC because SQLite requires native code.
|
15
|
-
|
16
|
-
New Core Features
|
17
|
-
-----------------
|
18
|
-
|
19
|
-
* Sequel now has database independent migrations. Before, column
|
20
|
-
types in migrations were not translated per database, so it was
|
21
|
-
difficult to set up a migration that worked on multiple databases.
|
22
|
-
Sequel now accepts ruby classes as database types, in addition to
|
23
|
-
symbols and strings. If a ruby class is used, it is translated
|
24
|
-
to the most appropriate database type. Here is an example using
|
25
|
-
all supported classes (with Sequel's default database type):
|
26
|
-
|
27
|
-
DB.create_table(:cats) do
|
28
|
-
primary_key :id, :type=>Integer # integer
|
29
|
-
String :a # varchar(255)
|
30
|
-
column :b, File # blob
|
31
|
-
Fixnum :c # integer
|
32
|
-
foreign_key :d, :other_table, :type=>Bignum # bigint
|
33
|
-
Float :e # double precision
|
34
|
-
BigDecimal :f # numeric
|
35
|
-
Date :g # date
|
36
|
-
DateTime :h # timestamp
|
37
|
-
Time :i # timestamp
|
38
|
-
Numeric :j # numeric
|
39
|
-
TrueClass :k # boolean
|
40
|
-
FalseClass :l # boolean
|
41
|
-
end
|
42
|
-
|
43
|
-
Type translations were tested on the PostgreSQL, MySQL, SQLite,
|
44
|
-
and H2 databases. The default translations should work OK for
|
45
|
-
most databases, but there will probably be a type or two that
|
46
|
-
doesn't work. Please send in a patch if Sequel uses a column type
|
47
|
-
that doesn't work on your database.
|
48
|
-
|
49
|
-
Note that existing migrations still work fine, in most cases. If
|
50
|
-
you were using strings or symbols for types before, they should
|
51
|
-
still work. See the Backwards Compatibility section below for
|
52
|
-
details.
|
53
|
-
|
54
|
-
Also note that this doesn't relate solely to migrations, as any
|
55
|
-
database schema modification method that accepts types will
|
56
|
-
accept one of the above classes.
|
57
|
-
|
58
|
-
* A ton of internal work was done to better support databases that
|
59
|
-
fold unqouted identifiers to uppercase (which is the SQL standard).
|
60
|
-
Sequel now allows you to set a method to call on identifiers going
|
61
|
-
both into and out of the database. The default is to downcase
|
62
|
-
identifiers coming out, and upcase identifiers going in, though
|
63
|
-
this is overridden by the PostgreSQL, MySQL, and SQLite adapters
|
64
|
-
to not do anything (since they fold to lowercase by default).
|
65
|
-
|
66
|
-
The settings are called identifier_input_method and
|
67
|
-
identifier_output_method, and like most Sequel settings, they can
|
68
|
-
be set globally, per database, or per dataset:
|
69
|
-
|
70
|
-
# Global (use uppercase in ruby and lowercase in the database)
|
71
|
-
Sequel.identifier_input_method = :downcase
|
72
|
-
Sequel.identifier_output_method = :upcase
|
73
|
-
# Per Database (use camelized names in the database, and
|
74
|
-
# underscored names in ruby)
|
75
|
-
DB.identifier_input_method = :camelize
|
76
|
-
DB.identifier_output_method = :underscore
|
77
|
-
# Per Dataset (obfuscate your database columns!)
|
78
|
-
class String; def rot_13; tr('A-Za-z', 'N-ZA-Mn-za-m') end end
|
79
|
-
ds = DB[:table]
|
80
|
-
ds.identifier_input_method = :rot_13
|
81
|
-
ds.identifier_output_method = :rot_13
|
82
|
-
|
83
|
-
* Schema parsing support was added to the JDBC adapter, using the
|
84
|
-
JDBC metadata methods. This means that models that use the
|
85
|
-
JDBC adapter will typecast data in their column setters and
|
86
|
-
automatically select the correct primary key column(s). This is
|
87
|
-
currently the only adapter that supports schema parsing when using
|
88
|
-
an MSSQL or Oracle database.
|
89
|
-
|
90
|
-
* Database#create_table now takes options, which you can use to
|
91
|
-
specify a MySQL engine, charset, and/or collation. You can also
|
92
|
-
set a default engine, charset, and collation for MySQL to use:
|
93
|
-
|
94
|
-
Sequel::MySQL.default_engine = 'InnoDB'
|
95
|
-
Sequel::MySQL.default_charset = 'utf8'
|
96
|
-
Sequel::MySQL.default_collate = 'utf8'
|
97
|
-
|
98
|
-
The defaults will be used if the options are not provided. If a
|
99
|
-
default engine is set, you can specify :engine=>nil to not use it
|
100
|
-
(same goes for charset and collate).
|
101
|
-
|
102
|
-
* The Sequel::DatabaseConnectionError exception class was added. It
|
103
|
-
is raised by the connection pool if there is an error attempting
|
104
|
-
to instantiate a database connection. Also, if the adapter returns
|
105
|
-
nil instead of raising an error for faulty connection parameters,
|
106
|
-
DatabaseConnectionError will be raised immediately, instead of the
|
107
|
-
connection pool busy waiting until if gives up with a
|
108
|
-
PoolTimeoutError.
|
109
|
-
|
110
|
-
* Database#tables is now supported on the JDBC adapter, returning
|
111
|
-
an Array of table name symbols.
|
112
|
-
|
113
|
-
* Sequel now converts the following Java types returned by the JDBC
|
114
|
-
adapter into ruby types: Java::JavaSQL::Timestamp,
|
115
|
-
Java::JavaSQL::Time, Java::JavaSQL::Date,
|
116
|
-
Java::JavaMath::BigDecimal, and Java::JavaIo::BufferedReader.
|
117
|
-
|
118
|
-
* When using the PostgreSQL adapter with the postgres-pr driver,
|
119
|
-
Sequel will use a custom string escaping routine unless
|
120
|
-
force_standard_strings = false. This means that using Sequel's
|
121
|
-
defaults, postgres-pr will correctly escape strings now.
|
122
|
-
|
123
|
-
* The SQLite adapter now returns float, real, and double precision
|
124
|
-
columns as Floats.
|
125
|
-
|
126
|
-
* The SQLite adapter logs beginning, committing, and rolling back
|
127
|
-
transactions.
|
128
|
-
|
129
|
-
* Sequel now has an internal version (before, the only way to tell
|
130
|
-
the version was to look at the gem being used). It is accessible
|
131
|
-
at Sequel.version.
|
132
|
-
|
133
|
-
New Model Features
|
134
|
-
------------------
|
135
|
-
|
136
|
-
* A new validates_not_string validation was added for Sequel Models.
|
137
|
-
It is intended to be used with the raise_on_typecast_failure =
|
138
|
-
false setting. In this case, for a non-string database column,
|
139
|
-
if there is a string value when the record is going to be
|
140
|
-
saved, it is due to the fact that Sequel was not able to typecast
|
141
|
-
the given data correctly (so it is almost certainly not valid).
|
142
|
-
This should make Sequel easier to use with web applications.
|
143
|
-
|
144
|
-
* An :allow_missing validation option was added to all standard
|
145
|
-
validations. This option skips the validation if the attribute
|
146
|
-
is not in the object's values. It is different from :allow_nil,
|
147
|
-
which will skip the value if it is present but nil in the values.
|
148
|
-
The intended use case for this option is when the database provides
|
149
|
-
a good default. If the attribute is not present in values, the
|
150
|
-
database will use its default. If the attribute is present in
|
151
|
-
the values but equals nil, Sequel will attempt to insert it into
|
152
|
-
the database as a NULL value, instead of using the database's
|
153
|
-
default. If you don't want Sequel to insert a NULL value in the
|
154
|
-
database, but you want the database to provide the default, this
|
155
|
-
is the option to use.
|
156
|
-
|
157
|
-
* validates_each now accepts :allow_nil and :allow_blank options,
|
158
|
-
so it is easier to create custom validations with the same options
|
159
|
-
as the standard validations.
|
160
|
-
|
161
|
-
* Before_* hooks now run in the reverse order that they were added.
|
162
|
-
The purpose of hooks is to wrap existing functionality, and making
|
163
|
-
later before_* hooks run before previous before_* hooks is the
|
164
|
-
correct behavior.
|
165
|
-
|
166
|
-
* You can now add you own hook types, via Model.add_hook_type. This
|
167
|
-
is intended for plugin use. All of the standard hooks are now
|
168
|
-
implemented using this method.
|
169
|
-
|
170
|
-
* The value of new? in a after_save hook now reflects the
|
171
|
-
previous state of the model (so true for a create and false for an
|
172
|
-
update), instead of always being false. This makes it easier
|
173
|
-
to have a complex after_save hook that still needs to
|
174
|
-
differentiate between a newly created record and an updated record,
|
175
|
-
without having to add separate after_create and after_update
|
176
|
-
hooks.
|
177
|
-
|
178
|
-
* The value of changed_columns in an after_update hook now reflects
|
179
|
-
the value before the update occurred, instead of usually being
|
180
|
-
empty. Previously, to have this functionality, you generally had
|
181
|
-
to save the value to an instance variable in a before_update hook
|
182
|
-
so you could reference it in the after_update hook.
|
183
|
-
|
184
|
-
Other Improvements
|
185
|
-
------------------
|
186
|
-
|
187
|
-
* Sequel now longer overwrites the following Symbol instance methods
|
188
|
-
when running on ruby 1.9: [], <, <=, >, and >=. One of Sequel's
|
189
|
-
principals is that it does not override methods defined by ruby,
|
190
|
-
and now that ruby 1.9 defines the above methods on Symbol, Sequel
|
191
|
-
shouldn't be overwriting them.
|
192
|
-
|
193
|
-
Sequel already provides a way to work around this issue when
|
194
|
-
another library adds the same methods to Symbol that Sequel does.
|
195
|
-
For example, you need to change the following:
|
196
|
-
|
197
|
-
dataset.filter(:number > 1)
|
198
|
-
dataset.filter(:number >= 2)
|
199
|
-
dataset.filter(:name < 'M')
|
200
|
-
dataset.filter(:name <= 'I')
|
201
|
-
dataset.filter(:is_bool[:x])
|
202
|
-
|
203
|
-
To:
|
204
|
-
|
205
|
-
dataset.filter{|o| o.number > 1}
|
206
|
-
dataset.filter{|o| o.number >= 2}
|
207
|
-
dataset.filter{|o| o.name < 'M'}
|
208
|
-
dataset.filter{|o| o.name <= 'I'}
|
209
|
-
dataset.filter{|o| o.is_bool(:x)}
|
210
|
-
|
211
|
-
The argument provided to the block is a Sequel::SQL::VirtualRow.
|
212
|
-
This class uses method_missing so that any methods called on it
|
213
|
-
return Sequel::SQL::Identifiers (if no arguments are provided)
|
214
|
-
or Sequel::SQL::Function (if arguments are provided).
|
215
|
-
|
216
|
-
If you were using one of the above symbol methods outside of a
|
217
|
-
filter, you can to call sql_string, sql_number, or sql_function
|
218
|
-
on the symbol. So the following would also work:
|
219
|
-
|
220
|
-
dataset.filter(:number.sql_number > 1)
|
221
|
-
dataset.filter(:number.sql_number >= 2)
|
222
|
-
dataset.filter(:name.sql_string < 'M')
|
223
|
-
dataset.filter(:name.sql_number <= 'I')
|
224
|
-
dataset.filter(:is_bool.sql_function(:x))
|
225
|
-
|
226
|
-
Using the block argument makes for a nicer API, though, so I
|
227
|
-
recommend using it when possible.
|
228
|
-
|
229
|
-
Note that if you are running ruby 1.8 or jruby without the --1.9
|
230
|
-
flag, you don't need to worry. If you are running ruby 1.9 or
|
231
|
-
jruby --1.9, or you plan to at some point in the future, you
|
232
|
-
should inspect your code for existing uses of these methods.
|
233
|
-
Here are a couple command lines that should find most uses:
|
234
|
-
|
235
|
-
# Find :symbol[]
|
236
|
-
egrep -nr ':['\''"]?[a-zA-Z_0-9]*['\''"]?\[' *
|
237
|
-
# Find :symbol (<|>|<=|>=)
|
238
|
-
egrep -nr '[^:]:['\''"]?[a-zA-Z_0-9]*['\''"]? *[<>]=?' *
|
239
|
-
|
240
|
-
* Database#quote_identifiers now affects future schema modifications
|
241
|
-
when using the database. Previous, it only affected future
|
242
|
-
schema modifications if a schema modification method had not yet
|
243
|
-
been called.
|
244
|
-
|
245
|
-
* Literalization of Times and DateTimes is now correct when using the
|
246
|
-
MySQL JDBC subadapter.
|
247
|
-
|
248
|
-
* Literalization of Blobs is now correct when using the PostgreSQL
|
249
|
-
JDBC subadapter.
|
250
|
-
|
251
|
-
* Index and table names are quoted when creating indices in the
|
252
|
-
PostgreSQL adapter.
|
253
|
-
|
254
|
-
* Dataset#delete was changed in the SQLite adapter to add a
|
255
|
-
where clause that is always true, instead of doing an explicit
|
256
|
-
count first and the deleting. This is simpler, though it
|
257
|
-
could potentially have performance implications.
|
258
|
-
|
259
|
-
* The sequel command line tool now supports symbol keys and unnested
|
260
|
-
hashes in YAML files, so it should work with Merb's database.yml.
|
261
|
-
It also includes the error class in the case of an error.
|
262
|
-
|
263
|
-
* The integration type tests were greatly expanded. Generally,
|
264
|
-
running the integration tests is a good way to determine how well
|
265
|
-
your database is supported.
|
266
|
-
|
267
|
-
* Dataset#quote_identifier now returns LiteralStrings as-is, instead
|
268
|
-
of treating them as regular strings.
|
269
|
-
|
270
|
-
* Sequel no longer modifies the MySQL::Result class when using the
|
271
|
-
MySQL adapter.
|
272
|
-
|
273
|
-
Backwards Compatibilty
|
274
|
-
----------------------
|
275
|
-
|
276
|
-
* If you were previously using a database that returned uppercase
|
277
|
-
identifiers, it will probably return lowercase identifiers by
|
278
|
-
default now. To get back the old behavior:
|
279
|
-
|
280
|
-
DB.identifier_output_method = nil
|
281
|
-
|
282
|
-
* The module hierarchy under Sequel::SQL has changed. Now,
|
283
|
-
modules do not include other modules, and the following modules
|
284
|
-
were removed since they would have been empty after removing
|
285
|
-
the modules they included: Sequel::SQL::SpecificExpressionMethods
|
286
|
-
and Sequel::SQL::GenericExpressionMethods.
|
287
|
-
|
288
|
-
* Sequel no longer assumes the public schema by default when
|
289
|
-
connecting to PostgreSQL. You can still set the default
|
290
|
-
schema to use (even to public).
|
291
|
-
|
292
|
-
* The ability to load schema information for all tables at once
|
293
|
-
was removed from the PostgreSQL adapter. While it worked, it had
|
294
|
-
some issues, and it was difficult to keep it working when some
|
295
|
-
new features were used. This ability wasn't exposed to the user,
|
296
|
-
and was purely an optimization. If you have any code like:
|
297
|
-
|
298
|
-
DB.schema
|
299
|
-
|
300
|
-
by itself after the Database object was instantiated, you should
|
301
|
-
remove it.
|
302
|
-
|
303
|
-
* The Database#primary_key API changed in the PostgreSQL shared
|
304
|
-
adapter, it now accepts an options hash with :server and :conn keys
|
305
|
-
instead of a server symbol. Also, quite a few private Database
|
306
|
-
instance methods changed, as well as some constants in the
|
307
|
-
AdapterMethods.
|
308
|
-
|
309
|
-
* It is possible that some migrations will break, though it is
|
310
|
-
unlikely. If you were using any of the classes mentioned above
|
311
|
-
as a method inside a migration, it might be broken. However,
|
312
|
-
since String, Float, and Integer wouldn't have worked as methods
|
313
|
-
before, it is unlikely that anyone used this.
|
314
|
-
|
315
|
-
* The meaning of #String, #Integer, and #Float inside
|
316
|
-
Sequel::SQL::Generator (i.e. inside a Database#create_table
|
317
|
-
block) has changed. Before, these used to call private Kernel
|
318
|
-
methods, now, they set up columns with the appropriate database
|
319
|
-
type.
|
320
|
-
|
321
|
-
* The Database#lowercase method in the DBI adapter was removed,
|
322
|
-
as its use case is now met by the identifier_output_method support.
|
323
|
-
|
324
|
-
* Database#uri is now aliased explicitly via a real method, to
|
325
|
-
allow for easier subclassing.
|
326
|
-
|
327
|
-
* You can no longer pass nil as the second argument to
|
328
|
-
Database#create_table.
|
@@ -1,215 +0,0 @@
|
|
1
|
-
Optimizations
|
2
|
-
-------------
|
3
|
-
|
4
|
-
* Model.[] was optimized to use static SQL in cases where doing so
|
5
|
-
should result in the same output. This should result in a 30-40%
|
6
|
-
performance increase. Since this can be the most significant or
|
7
|
-
only method call in a web application action, this has potential
|
8
|
-
to significantly enhance the performance of web application code.
|
9
|
-
|
10
|
-
In order for this optimization to have an effect, you need to
|
11
|
-
make sure that you are calling set_dataset with a Symbol and
|
12
|
-
not a Dataset object:
|
13
|
-
|
14
|
-
# Optimized:
|
15
|
-
class Foo < Sequel::Model; end
|
16
|
-
class Foo < Sequel::Model(:foos); end
|
17
|
-
class Foo < Sequel::Model
|
18
|
-
set_dataset :foos
|
19
|
-
end
|
20
|
-
|
21
|
-
# Not Optimized, but otherwise equivalent:
|
22
|
-
class Foo < Sequel::Model(Model.db[:foos]); end
|
23
|
-
class Foo < Sequel::Model
|
24
|
-
set_dataset db[:foos]
|
25
|
-
end
|
26
|
-
|
27
|
-
* Dataset#literal was refactored for performance reasons to make
|
28
|
-
overriding it in subclasses unnecessary. The changes made result
|
29
|
-
in a 20-25% performance increase. Sequel can spend about 10% of
|
30
|
-
it's time in Dataset#literal, so this may be only a 2% overall
|
31
|
-
performance improvement.
|
32
|
-
|
33
|
-
New Features
|
34
|
-
------------
|
35
|
-
|
36
|
-
* Association datasets now know about the model objects that created
|
37
|
-
them, as well as the related association reflection. This makes
|
38
|
-
association extensions much more powerful. For example, you can
|
39
|
-
now create generic association extensions such as:
|
40
|
-
|
41
|
-
module FindOrCreate
|
42
|
-
def find_or_create(vals)
|
43
|
-
first(vals) || association_reflection.associated_class. \
|
44
|
-
create(vals.merge(association_reflection[:key]=> \
|
45
|
-
model_object.id))
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
The above will work for any standard one_to_many association:
|
50
|
-
|
51
|
-
Artist.one_to_many :albums, :extend=>FindOrCreate
|
52
|
-
# Create an album named Foo related to this artist,
|
53
|
-
# unless such an album already exists
|
54
|
-
Artist.first.albums_dataset.find_or_create(:name=>'Foo')
|
55
|
-
|
56
|
-
Before, the only way to do the above was to use a closure inside
|
57
|
-
the :dataset option proc, which couldn't be done generically
|
58
|
-
for multiple associations.
|
59
|
-
|
60
|
-
* A :conditions association option was added, which allows simple
|
61
|
-
filters to be set up without defining :graph_conditions and
|
62
|
-
an association block:
|
63
|
-
|
64
|
-
# 2.10.0
|
65
|
-
one_to_many(:japanese_verses, :class=>:Verse, \
|
66
|
-
:graph_conditions=>{:languageid=>3})do |ds|
|
67
|
-
ds.filter(:languageid=>3)
|
68
|
-
end
|
69
|
-
# 2.11.0
|
70
|
-
one_to_many(:japanese_verses, :class=>:Verse, \
|
71
|
-
:conditions=>{:languageid=>3})
|
72
|
-
|
73
|
-
* A :clone association option was added, which allows you to clone
|
74
|
-
an existing association. This is most useful when you are dealing
|
75
|
-
with a legacy schema and had to define the same options redundantly
|
76
|
-
for each type of association. You can now do:
|
77
|
-
|
78
|
-
many_to_many :deputies, :class=>:Employee, \
|
79
|
-
:join_table=>:employeecurrentaudits, :left_key=>:currentauditid, \
|
80
|
-
:right_key=>:employeeid, :order=>[:firstname, :lastname] do |ds|
|
81
|
-
ds.filter(:active).filter(:capacity=>1)
|
82
|
-
end
|
83
|
-
many_to_many :project_managers, :clone=>:deputies do |ds|
|
84
|
-
ds.filter(:active).filter(:capacity=>2)
|
85
|
-
end
|
86
|
-
many_to_many :team_leaders, :clone=>:deputies do |ds|
|
87
|
-
ds.filter(:active).filter(:capacity=>3)
|
88
|
-
end
|
89
|
-
|
90
|
-
All of the above would use the same :class, :join_table, :left_key,
|
91
|
-
:right_key, and :order options. If you don't provide an
|
92
|
-
association block, but you are cloning an association that has one,
|
93
|
-
the cloned association's block is used. You can use the
|
94
|
-
:block=>nil option to not use a block even if the cloned
|
95
|
-
association has a block.
|
96
|
-
|
97
|
-
* Dataset#select, #select_more, #order, #order_more, and #get all
|
98
|
-
take a block that yields a Sequel::SQL::VirtualRow instance,
|
99
|
-
similar to the behavior of filter. This allows for the easier
|
100
|
-
use of SQL functions on Ruby 1.9:
|
101
|
-
|
102
|
-
# 2.10.0
|
103
|
-
dataset.select(:prettify.sql_function(:name))
|
104
|
-
# 2.11.0
|
105
|
-
dataset.select{|o| o.prettify(:name)}
|
106
|
-
|
107
|
-
* String#lit can now accept arguments and return an SQL literal
|
108
|
-
string. This allows you to do things that were previously hard
|
109
|
-
or at least unnecessarily verbose. For example, you can now
|
110
|
-
easily use the SQL standard SUBSTRING function:
|
111
|
-
|
112
|
-
column = :user
|
113
|
-
pattern = params[:pattern]
|
114
|
-
dataset.select{|o| o.substring('? from ?'.lit(column, pattern))}
|
115
|
-
|
116
|
-
* A validates_inclusion_of validation method was added to Model. You
|
117
|
-
can provide a Range or an Array in the :in option to specify the
|
118
|
-
allowed values:
|
119
|
-
|
120
|
-
validates_inclusion_of :value, :in=>1..5
|
121
|
-
validates_inclusion_of :weekday, :in=>%w'Monday Tuesday ...'
|
122
|
-
|
123
|
-
* Dataset#with_sql was added, which returns a copy of the dataset
|
124
|
-
with static SQL. This is useful if you want to keep the same
|
125
|
-
row_proc/graph/transform/etc., but want to use your own custom
|
126
|
-
SQL.
|
127
|
-
|
128
|
-
Other Improvements
|
129
|
-
------------------
|
130
|
-
|
131
|
-
* You can now use Sequel's database independent types when casting:
|
132
|
-
|
133
|
-
dataset.select(:number.cast(String))
|
134
|
-
|
135
|
-
Among other things, the default cast types for cast_string and
|
136
|
-
cast_numeric now work in the MySQL adapter.
|
137
|
-
|
138
|
-
* Model#set_associated_object was added. The many_to_one association
|
139
|
-
setter method calls it. This allows you to easily override the
|
140
|
-
association setters for all many_to_one associations of a class
|
141
|
-
by modifying a single method.
|
142
|
-
|
143
|
-
* Typecasting invalid date strings now raises a
|
144
|
-
Sequel::Error::InvalidValue instead of an argument error, which
|
145
|
-
means that you can use raise_on_typecast_failure = false and not
|
146
|
-
have an error raised when an invalid date format is used.
|
147
|
-
|
148
|
-
* String#to_sequel_blob was added and should now be used instead
|
149
|
-
of String#to_blob. sqlite3-ruby defines String#to_blob
|
150
|
-
differently, which could cause problems.
|
151
|
-
|
152
|
-
* Blob columns are now fully supported in the SQLite adapter, with
|
153
|
-
the hex escape syntax being used for input, and returning columns
|
154
|
-
of type Sequel::SQL::Blob on output.
|
155
|
-
|
156
|
-
* The SQLite adapter drop_column support is now significantly more
|
157
|
-
robust.
|
158
|
-
|
159
|
-
* The SQLite adapter now supports rename_column.
|
160
|
-
|
161
|
-
* The MySQL adapter now supports stored procedures with multiple
|
162
|
-
arguments.
|
163
|
-
|
164
|
-
* The MySQL adapter can now not use a compressed connection to the
|
165
|
-
server via the :compress=>false option.
|
166
|
-
|
167
|
-
* The MySQL adapter now sets a default timeout of 30 days to the
|
168
|
-
database connection, you can change it via the :timeout option,
|
169
|
-
which accepts a number of seconds.
|
170
|
-
|
171
|
-
* The MySQL adapter now sets SQL_AUTO_IS_NULL to false by default,
|
172
|
-
you can use the :auto_is_null=>true option to not do this.
|
173
|
-
|
174
|
-
* The MySQL adapter now sets the encoding option on the database
|
175
|
-
connection itself, so it works across reconnects.
|
176
|
-
|
177
|
-
* Sequel itself no longer uses String#lit or Symbol#* internally, so
|
178
|
-
it shouldn't break if another library defines them.
|
179
|
-
|
180
|
-
* The default index name is now generated correctly if a non-String
|
181
|
-
or Symbol column is used.
|
182
|
-
|
183
|
-
* Some ruby -w warnings have been fixed.
|
184
|
-
|
185
|
-
* INSERTs are now sent to the master database instead of the slave
|
186
|
-
database(s) if using a master/slave database configuration and
|
187
|
-
PostgreSQL 8.2+ or Firebird.
|
188
|
-
|
189
|
-
* DateTime literalization has been fixed in the Firebird adapter.
|
190
|
-
|
191
|
-
* Date literalization has been fixed in the H2 JDBC subadapter.
|
192
|
-
|
193
|
-
* Release notes for versions from 1.0 to the present are now included
|
194
|
-
in the Sequel repository and the RDoc documentation, see
|
195
|
-
http://sequel.rubyforge.org/rdoc/files/doc/release_notes/
|
196
|
-
|
197
|
-
Backwards Compatibilty
|
198
|
-
----------------------
|
199
|
-
|
200
|
-
* The optimization of Model.[] may break if you modify the model's
|
201
|
-
dataset behind its back. Always use Model.set_dataset if you
|
202
|
-
want to change a Model's dataset.
|
203
|
-
|
204
|
-
* Sequel::Dataset::UnsupportedExceptIntersect and
|
205
|
-
Sequel::Dataset::UnsupportedExceptIntersectAll will now only be
|
206
|
-
defined if you are using an adapter that requires them.
|
207
|
-
|
208
|
-
* The private Model#cache_delete_unless_new method has been removed.
|
209
|
-
|
210
|
-
* Sequel::SQL::IrregularFunction was removed, as it was a bad hack
|
211
|
-
that is not used by Sequel anymore. Unless you were instantiating
|
212
|
-
it directly or using a plugin/extension that did, this shouldn't
|
213
|
-
affect you. Using a Sequel::SQL::Function with a
|
214
|
-
Sequel::SQL::PlaceholderLiteralString is recommended instead, see
|
215
|
-
the substring example above.
|