sequel 4.26.0 → 5.37.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 +405 -5656
- data/MIT-LICENSE +1 -1
- data/README.rdoc +232 -157
- data/bin/sequel +32 -9
- data/doc/advanced_associations.rdoc +252 -188
- data/doc/association_basics.rdoc +231 -273
- data/doc/bin_sequel.rdoc +5 -3
- data/doc/cheat_sheet.rdoc +75 -48
- data/doc/code_order.rdoc +28 -10
- 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/mass_assignment.rdoc +74 -31
- data/doc/migration.rdoc +72 -46
- 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 +59 -69
- data/doc/opening_databases.rdoc +84 -94
- data/doc/postgresql.rdoc +268 -38
- data/doc/prepared_statements.rdoc +29 -24
- data/doc/querying.rdoc +184 -164
- 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.4.0.txt +80 -0
- data/doc/release_notes/5.5.0.txt +61 -0
- data/doc/release_notes/5.6.0.txt +31 -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 +102 -77
- data/doc/security.rdoc +160 -87
- data/doc/sharding.rdoc +74 -47
- data/doc/sql.rdoc +135 -122
- data/doc/testing.rdoc +34 -18
- data/doc/thread_safety.rdoc +2 -4
- data/doc/transactions.rdoc +101 -19
- data/doc/validations.rdoc +64 -51
- data/doc/virtual_rows.rdoc +90 -109
- data/lib/sequel.rb +3 -1
- data/lib/sequel/adapters/ado.rb +154 -22
- data/lib/sequel/adapters/ado/access.rb +21 -21
- data/lib/sequel/adapters/ado/mssql.rb +8 -15
- data/lib/sequel/adapters/amalgalite.rb +17 -25
- data/lib/sequel/adapters/ibmdb.rb +52 -58
- data/lib/sequel/adapters/jdbc.rb +149 -127
- data/lib/sequel/adapters/jdbc/db2.rb +32 -40
- data/lib/sequel/adapters/jdbc/derby.rb +56 -58
- data/lib/sequel/adapters/jdbc/h2.rb +40 -30
- data/lib/sequel/adapters/jdbc/hsqldb.rb +22 -33
- data/lib/sequel/adapters/jdbc/jtds.rb +4 -10
- data/lib/sequel/adapters/jdbc/mssql.rb +6 -12
- data/lib/sequel/adapters/jdbc/mysql.rb +17 -18
- data/lib/sequel/adapters/jdbc/oracle.rb +25 -19
- data/lib/sequel/adapters/jdbc/postgresql.rb +90 -69
- data/lib/sequel/adapters/jdbc/sqlanywhere.rb +14 -24
- data/lib/sequel/adapters/jdbc/sqlite.rb +50 -12
- data/lib/sequel/adapters/jdbc/sqlserver.rb +36 -9
- data/lib/sequel/adapters/jdbc/transactions.rb +25 -39
- data/lib/sequel/adapters/mock.rb +104 -113
- data/lib/sequel/adapters/mysql.rb +42 -61
- data/lib/sequel/adapters/mysql2.rb +126 -35
- data/lib/sequel/adapters/odbc.rb +21 -28
- data/lib/sequel/adapters/odbc/db2.rb +3 -1
- data/lib/sequel/adapters/odbc/mssql.rb +11 -15
- data/lib/sequel/adapters/odbc/oracle.rb +11 -0
- data/lib/sequel/adapters/oracle.rb +62 -68
- data/lib/sequel/adapters/postgres.rb +257 -311
- data/lib/sequel/adapters/postgresql.rb +3 -1
- data/lib/sequel/adapters/shared/access.rb +75 -79
- data/lib/sequel/adapters/shared/db2.rb +96 -74
- data/lib/sequel/adapters/shared/mssql.rb +258 -213
- data/lib/sequel/adapters/shared/mysql.rb +284 -216
- data/lib/sequel/adapters/shared/oracle.rb +175 -60
- data/lib/sequel/adapters/shared/postgres.rb +829 -383
- data/lib/sequel/adapters/shared/sqlanywhere.rb +105 -127
- data/lib/sequel/adapters/shared/sqlite.rb +382 -159
- data/lib/sequel/adapters/sqlanywhere.rb +53 -38
- data/lib/sequel/adapters/sqlite.rb +111 -105
- data/lib/sequel/adapters/tinytds.rb +38 -46
- data/lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb +8 -9
- data/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +7 -5
- 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 +3 -4
- data/lib/sequel/adapters/utils/split_alter_table.rb +2 -0
- data/lib/sequel/adapters/utils/stored_procedures.rb +9 -22
- data/lib/sequel/adapters/utils/unmodified_identifiers.rb +28 -0
- data/lib/sequel/ast_transformer.rb +13 -89
- data/lib/sequel/connection_pool.rb +54 -26
- data/lib/sequel/connection_pool/sharded_single.rb +19 -12
- data/lib/sequel/connection_pool/sharded_threaded.rb +160 -111
- data/lib/sequel/connection_pool/single.rb +21 -12
- data/lib/sequel/connection_pool/threaded.rb +137 -119
- data/lib/sequel/core.rb +352 -320
- data/lib/sequel/database.rb +19 -2
- data/lib/sequel/database/connecting.rb +70 -55
- data/lib/sequel/database/dataset.rb +15 -5
- data/lib/sequel/database/dataset_defaults.rb +20 -102
- data/lib/sequel/database/features.rb +20 -4
- data/lib/sequel/database/logging.rb +25 -7
- data/lib/sequel/database/misc.rb +132 -118
- data/lib/sequel/database/query.rb +51 -28
- data/lib/sequel/database/schema_generator.rb +188 -75
- data/lib/sequel/database/schema_methods.rb +161 -92
- data/lib/sequel/database/transactions.rb +260 -58
- data/lib/sequel/dataset.rb +28 -12
- data/lib/sequel/dataset/actions.rb +354 -170
- data/lib/sequel/dataset/dataset_module.rb +46 -0
- data/lib/sequel/dataset/features.rb +81 -34
- data/lib/sequel/dataset/graph.rb +82 -58
- data/lib/sequel/dataset/misc.rb +139 -47
- data/lib/sequel/dataset/placeholder_literalizer.rb +66 -26
- data/lib/sequel/dataset/prepared_statements.rb +188 -85
- data/lib/sequel/dataset/query.rb +428 -214
- data/lib/sequel/dataset/sql.rb +446 -339
- data/lib/sequel/deprecated.rb +14 -2
- data/lib/sequel/exceptions.rb +48 -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 +10 -9
- data/lib/sequel/extensions/any_not_empty.rb +45 -0
- data/lib/sequel/extensions/arbitrary_servers.rb +15 -11
- data/lib/sequel/extensions/auto_literal_strings.rb +74 -0
- data/lib/sequel/extensions/blank.rb +2 -0
- data/lib/sequel/extensions/caller_logging.rb +79 -0
- data/lib/sequel/extensions/columns_introspection.rb +9 -4
- data/lib/sequel/extensions/connection_expiration.rb +99 -0
- data/lib/sequel/extensions/connection_validator.rb +26 -13
- data/lib/sequel/extensions/constant_sql_override.rb +65 -0
- data/lib/sequel/extensions/constraint_validations.rb +93 -38
- data/lib/sequel/extensions/core_extensions.rb +45 -53
- data/lib/sequel/extensions/core_refinements.rb +44 -46
- data/lib/sequel/extensions/current_datetime_timestamp.rb +5 -4
- data/lib/sequel/extensions/dataset_source_alias.rb +4 -0
- data/lib/sequel/extensions/date_arithmetic.rb +42 -16
- data/lib/sequel/extensions/datetime_parse_to_time.rb +37 -0
- data/lib/sequel/extensions/duplicate_columns_handler.rb +94 -0
- data/lib/sequel/extensions/empty_array_consider_nulls.rb +7 -3
- data/lib/sequel/extensions/error_sql.rb +7 -3
- data/lib/sequel/extensions/escaped_like.rb +100 -0
- data/lib/sequel/extensions/eval_inspect.rb +14 -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 +2 -31
- data/lib/sequel/extensions/graph_each.rb +19 -6
- 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 +8 -4
- data/lib/sequel/extensions/integer64.rb +32 -0
- data/lib/sequel/extensions/looser_typecasting.rb +19 -9
- data/lib/sequel/extensions/migration.rb +132 -80
- data/lib/sequel/extensions/mssql_emulate_lateral_with_apply.rb +4 -0
- data/lib/sequel/extensions/named_timezones.rb +88 -23
- data/lib/sequel/extensions/no_auto_literal_strings.rb +4 -0
- data/lib/sequel/extensions/null_dataset.rb +12 -8
- data/lib/sequel/extensions/pagination.rb +35 -28
- data/lib/sequel/extensions/pg_array.rb +227 -316
- data/lib/sequel/extensions/pg_array_ops.rb +19 -7
- data/lib/sequel/extensions/pg_enum.rb +69 -24
- data/lib/sequel/extensions/pg_extended_date_support.rb +250 -0
- data/lib/sequel/extensions/pg_hstore.rb +50 -59
- data/lib/sequel/extensions/pg_hstore_ops.rb +9 -3
- data/lib/sequel/extensions/pg_inet.rb +34 -15
- data/lib/sequel/extensions/pg_inet_ops.rb +5 -1
- data/lib/sequel/extensions/pg_interval.rb +26 -26
- data/lib/sequel/extensions/pg_json.rb +422 -141
- data/lib/sequel/extensions/pg_json_ops.rb +248 -9
- data/lib/sequel/extensions/pg_loose_count.rb +5 -1
- data/lib/sequel/extensions/pg_range.rb +162 -146
- data/lib/sequel/extensions/pg_range_ops.rb +10 -5
- data/lib/sequel/extensions/pg_row.rb +53 -87
- data/lib/sequel/extensions/pg_row_ops.rb +36 -13
- data/lib/sequel/extensions/pg_static_cache_updater.rb +6 -2
- data/lib/sequel/extensions/pg_timestamptz.rb +28 -0
- data/lib/sequel/extensions/pretty_table.rb +4 -0
- data/lib/sequel/extensions/query.rb +12 -7
- data/lib/sequel/extensions/round_timestamps.rb +6 -9
- data/lib/sequel/extensions/run_transaction_hooks.rb +72 -0
- data/lib/sequel/extensions/s.rb +59 -0
- data/lib/sequel/extensions/schema_caching.rb +14 -1
- data/lib/sequel/extensions/schema_dumper.rb +83 -55
- data/lib/sequel/extensions/select_remove.rb +8 -4
- data/lib/sequel/extensions/sequel_4_dataset_methods.rb +85 -0
- data/lib/sequel/extensions/server_block.rb +50 -17
- data/lib/sequel/extensions/server_logging.rb +61 -0
- data/lib/sequel/extensions/split_array_nil.rb +8 -4
- data/lib/sequel/extensions/sql_comments.rb +96 -0
- data/lib/sequel/extensions/sql_expr.rb +4 -1
- data/lib/sequel/extensions/string_agg.rb +181 -0
- data/lib/sequel/extensions/string_date_time.rb +2 -0
- data/lib/sequel/extensions/symbol_aref.rb +53 -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/thread_local_timezones.rb +4 -0
- data/lib/sequel/extensions/to_dot.rb +15 -5
- data/lib/sequel/extensions/virtual_row_method_block.rb +44 -0
- data/lib/sequel/model.rb +36 -126
- data/lib/sequel/model/associations.rb +850 -257
- data/lib/sequel/model/base.rb +652 -764
- data/lib/sequel/model/dataset_module.rb +13 -10
- data/lib/sequel/model/default_inflections.rb +3 -1
- data/lib/sequel/model/errors.rb +3 -3
- data/lib/sequel/model/exceptions.rb +12 -12
- data/lib/sequel/model/inflections.rb +8 -19
- data/lib/sequel/model/plugins.rb +111 -0
- data/lib/sequel/plugins/accessed_columns.rb +2 -0
- data/lib/sequel/plugins/active_model.rb +32 -7
- data/lib/sequel/plugins/after_initialize.rb +3 -1
- data/lib/sequel/plugins/association_dependencies.rb +27 -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 +181 -83
- data/lib/sequel/plugins/association_proxies.rb +33 -9
- data/lib/sequel/plugins/auto_validations.rb +58 -23
- data/lib/sequel/plugins/before_after_save.rb +8 -0
- data/lib/sequel/plugins/blacklist_security.rb +23 -12
- data/lib/sequel/plugins/boolean_readers.rb +9 -6
- data/lib/sequel/plugins/boolean_subsets.rb +64 -0
- data/lib/sequel/plugins/caching.rb +27 -16
- data/lib/sequel/plugins/class_table_inheritance.rb +192 -94
- data/lib/sequel/plugins/column_conflicts.rb +18 -3
- data/lib/sequel/plugins/column_select.rb +9 -5
- data/lib/sequel/plugins/columns_updated.rb +42 -0
- data/lib/sequel/plugins/composition.rb +36 -24
- data/lib/sequel/plugins/constraint_validations.rb +37 -16
- data/lib/sequel/plugins/csv_serializer.rb +58 -35
- data/lib/sequel/plugins/dataset_associations.rb +60 -18
- data/lib/sequel/plugins/def_dataset_method.rb +90 -0
- data/lib/sequel/plugins/defaults_setter.rb +74 -13
- data/lib/sequel/plugins/delay_add_association.rb +4 -1
- data/lib/sequel/plugins/dirty.rb +65 -24
- data/lib/sequel/plugins/eager_each.rb +27 -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/error_splitter.rb +19 -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 +9 -12
- data/lib/sequel/plugins/hook_class_methods.rb +39 -54
- data/lib/sequel/plugins/input_transformer.rb +20 -10
- data/lib/sequel/plugins/insert_conflict.rb +72 -0
- data/lib/sequel/plugins/insert_returning_select.rb +4 -2
- data/lib/sequel/plugins/instance_filters.rb +12 -8
- data/lib/sequel/plugins/instance_hooks.rb +36 -17
- data/lib/sequel/plugins/instance_specific_default.rb +113 -0
- data/lib/sequel/plugins/inverted_subsets.rb +24 -13
- data/lib/sequel/plugins/json_serializer.rb +123 -47
- data/lib/sequel/plugins/lazy_attributes.rb +20 -14
- data/lib/sequel/plugins/list.rb +40 -26
- data/lib/sequel/plugins/many_through_many.rb +28 -12
- data/lib/sequel/plugins/modification_detection.rb +17 -5
- data/lib/sequel/plugins/mssql_optimistic_locking.rb +8 -5
- data/lib/sequel/plugins/nested_attributes.rb +55 -28
- data/lib/sequel/plugins/optimistic_locking.rb +5 -3
- data/lib/sequel/plugins/pg_array_associations.rb +52 -18
- data/lib/sequel/plugins/pg_auto_constraint_validations.rb +348 -0
- data/lib/sequel/plugins/pg_row.rb +7 -51
- data/lib/sequel/plugins/prepared_statements.rb +53 -72
- data/lib/sequel/plugins/prepared_statements_safe.rb +13 -5
- data/lib/sequel/plugins/rcte_tree.rb +43 -63
- data/lib/sequel/plugins/serialization.rb +37 -44
- data/lib/sequel/plugins/serialization_modification_detection.rb +3 -1
- data/lib/sequel/plugins/sharding.rb +17 -10
- data/lib/sequel/plugins/single_table_inheritance.rb +62 -28
- data/lib/sequel/plugins/singular_table_names.rb +2 -0
- data/lib/sequel/plugins/skip_create_refresh.rb +5 -3
- data/lib/sequel/plugins/skip_saving_columns.rb +108 -0
- data/lib/sequel/plugins/split_values.rb +13 -6
- data/lib/sequel/plugins/static_cache.rb +79 -53
- data/lib/sequel/plugins/static_cache_cache.rb +53 -0
- data/lib/sequel/plugins/string_stripper.rb +5 -3
- data/lib/sequel/plugins/subclasses.rb +20 -2
- data/lib/sequel/plugins/subset_conditions.rb +48 -0
- data/lib/sequel/plugins/table_select.rb +4 -2
- data/lib/sequel/plugins/tactical_eager_loading.rb +120 -6
- data/lib/sequel/plugins/throw_failures.rb +110 -0
- data/lib/sequel/plugins/timestamps.rb +22 -8
- data/lib/sequel/plugins/touch.rb +21 -8
- data/lib/sequel/plugins/tree.rb +57 -30
- data/lib/sequel/plugins/typecast_on_load.rb +14 -4
- data/lib/sequel/plugins/unlimited_update.rb +3 -7
- data/lib/sequel/plugins/update_or_create.rb +6 -4
- data/lib/sequel/plugins/update_primary_key.rb +3 -1
- data/lib/sequel/plugins/update_refresh.rb +28 -15
- data/lib/sequel/plugins/uuid.rb +70 -0
- data/lib/sequel/plugins/validate_associated.rb +20 -0
- data/lib/sequel/plugins/validation_class_methods.rb +40 -19
- data/lib/sequel/plugins/validation_contexts.rb +49 -0
- data/lib/sequel/plugins/validation_helpers.rb +49 -31
- data/lib/sequel/plugins/whitelist_security.rb +122 -0
- data/lib/sequel/plugins/xml_serializer.rb +31 -30
- data/lib/sequel/sql.rb +479 -329
- data/lib/sequel/timezones.rb +62 -32
- data/lib/sequel/version.rb +10 -3
- metadata +177 -477
- data/Rakefile +0 -165
- data/doc/active_record.rdoc +0 -912
- 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.3.0.txt +0 -40
- 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 -142
- data/lib/sequel/adapters/do.rb +0 -156
- data/lib/sequel/adapters/do/mysql.rb +0 -64
- data/lib/sequel/adapters/do/postgres.rb +0 -42
- data/lib/sequel/adapters/do/sqlite3.rb +0 -40
- data/lib/sequel/adapters/jdbc/as400.rb +0 -82
- data/lib/sequel/adapters/jdbc/cubrid.rb +0 -62
- data/lib/sequel/adapters/jdbc/firebirdsql.rb +0 -34
- data/lib/sequel/adapters/jdbc/informix-sqli.rb +0 -31
- data/lib/sequel/adapters/jdbc/jdbcprogress.rb +0 -31
- data/lib/sequel/adapters/odbc/progress.rb +0 -8
- data/lib/sequel/adapters/shared/cubrid.rb +0 -243
- data/lib/sequel/adapters/shared/firebird.rb +0 -245
- data/lib/sequel/adapters/shared/informix.rb +0 -52
- data/lib/sequel/adapters/shared/mysql_prepared_statements.rb +0 -150
- data/lib/sequel/adapters/shared/progress.rb +0 -38
- data/lib/sequel/adapters/swift.rb +0 -158
- data/lib/sequel/adapters/swift/mysql.rb +0 -47
- data/lib/sequel/adapters/swift/postgres.rb +0 -45
- data/lib/sequel/adapters/swift/sqlite.rb +0 -47
- data/lib/sequel/adapters/utils/pg_types.rb +0 -68
- data/lib/sequel/dataset/mutation.rb +0 -109
- data/lib/sequel/extensions/empty_array_ignore_nulls.rb +0 -3
- data/lib/sequel/extensions/filter_having.rb +0 -59
- data/lib/sequel/extensions/hash_aliases.rb +0 -45
- data/lib/sequel/extensions/meta_def.rb +0 -31
- data/lib/sequel/extensions/query_literals.rb +0 -80
- data/lib/sequel/extensions/ruby18_symbol_extensions.rb +0 -22
- data/lib/sequel/extensions/sequel_3_dataset_methods.rb +0 -118
- data/lib/sequel/extensions/set_overrides.rb +0 -72
- data/lib/sequel/no_core_ext.rb +0 -1
- data/lib/sequel/plugins/association_autoreloading.rb +0 -7
- data/lib/sequel/plugins/many_to_one_pk_lookup.rb +0 -7
- data/lib/sequel/plugins/pg_typecast_on_load.rb +0 -78
- data/lib/sequel/plugins/prepared_statements_associations.rb +0 -117
- data/lib/sequel/plugins/prepared_statements_with_pk.rb +0 -59
- data/lib/sequel/plugins/schema.rb +0 -80
- data/lib/sequel/plugins/scissors.rb +0 -33
- 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 -706
- data/spec/adapters/mysql_spec.rb +0 -1287
- data/spec/adapters/oracle_spec.rb +0 -313
- data/spec/adapters/postgres_spec.rb +0 -3725
- data/spec/adapters/spec_helper.rb +0 -43
- data/spec/adapters/sqlanywhere_spec.rb +0 -170
- data/spec/adapters/sqlite_spec.rb +0 -653
- data/spec/bin_spec.rb +0 -254
- data/spec/core/connection_pool_spec.rb +0 -1016
- data/spec/core/database_spec.rb +0 -2531
- data/spec/core/dataset_spec.rb +0 -5098
- data/spec/core/deprecated_spec.rb +0 -70
- data/spec/core/expression_filters_spec.rb +0 -1243
- data/spec/core/mock_adapter_spec.rb +0 -462
- 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 -179
- data/spec/core/schema_spec.rb +0 -1659
- 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/extensions/accessed_columns_spec.rb +0 -51
- data/spec/extensions/active_model_spec.rb +0 -123
- 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 -365
- data/spec/extensions/association_proxies_spec.rb +0 -86
- data/spec/extensions/auto_validations_spec.rb +0 -192
- 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/caching_spec.rb +0 -270
- data/spec/extensions/class_table_inheritance_spec.rb +0 -420
- 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_validator_spec.rb +0 -120
- data/spec/extensions/constraint_validations_plugin_spec.rb +0 -274
- data/spec/extensions/constraint_validations_spec.rb +0 -325
- data/spec/extensions/core_refinements_spec.rb +0 -519
- data/spec/extensions/csv_serializer_spec.rb +0 -173
- data/spec/extensions/current_datetime_timestamp_spec.rb +0 -27
- data/spec/extensions/dataset_associations_spec.rb +0 -311
- data/spec/extensions/dataset_source_alias_spec.rb +0 -51
- data/spec/extensions/date_arithmetic_spec.rb +0 -150
- data/spec/extensions/defaults_setter_spec.rb +0 -101
- data/spec/extensions/delay_add_association_spec.rb +0 -52
- data/spec/extensions/dirty_spec.rb +0 -180
- data/spec/extensions/eager_each_spec.rb +0 -42
- 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 -109
- data/spec/extensions/hash_aliases_spec.rb +0 -24
- data/spec/extensions/hook_class_methods_spec.rb +0 -429
- 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 -291
- data/spec/extensions/lazy_attributes_spec.rb +0 -170
- data/spec/extensions/list_spec.rb +0 -267
- 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 -712
- 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/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 -395
- 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 -229
- 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 -404
- 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 -789
- 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/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_expr_spec.rb +0 -60
- data/spec/extensions/static_cache_spec.rb +0 -361
- 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/table_select_spec.rb +0 -71
- data/spec/extensions/tactical_eager_loading_spec.rb +0 -82
- 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/validate_associated_spec.rb +0 -52
- data/spec/extensions/validation_class_methods_spec.rb +0 -1027
- data/spec/extensions/validation_helpers_spec.rb +0 -541
- 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/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/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/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 -2454
- data/spec/integration/database_test.rb +0 -113
- data/spec/integration/dataset_test.rb +0 -1808
- data/spec/integration/eager_loader_test.rb +0 -687
- data/spec/integration/migrator_test.rb +0 -240
- data/spec/integration/model_test.rb +0 -226
- data/spec/integration/plugin_test.rb +0 -2240
- data/spec/integration/prepared_statement_test.rb +0 -467
- data/spec/integration/schema_test.rb +0 -817
- data/spec/integration/spec_helper.rb +0 -48
- data/spec/integration/timezone_test.rb +0 -86
- data/spec/integration/transaction_test.rb +0 -374
- data/spec/integration/type_test.rb +0 -133
- data/spec/model/association_reflection_spec.rb +0 -525
- data/spec/model/associations_spec.rb +0 -4426
- data/spec/model/base_spec.rb +0 -759
- data/spec/model/class_dataset_methods_spec.rb +0 -146
- data/spec/model/dataset_methods_spec.rb +0 -149
- data/spec/model/eager_loading_spec.rb +0 -2137
- data/spec/model/hooks_spec.rb +0 -604
- data/spec/model/inflector_spec.rb +0 -26
- data/spec/model/model_spec.rb +0 -982
- data/spec/model/plugins_spec.rb +0 -299
- data/spec/model/record_spec.rb +0 -2147
- data/spec/model/spec_helper.rb +0 -46
- data/spec/model/validations_spec.rb +0 -193
- data/spec/sequel_coverage.rb +0 -15
- data/spec/spec_config.rb +0 -10
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* An update_refresh plugin has been added, for refreshing a model
|
|
4
|
-
instance when updating. The default behavior is to only refresh
|
|
5
|
-
when inserting. However, if you have triggers on the model's table,
|
|
6
|
-
it's a good idea to refresh when updating to pick up the possibly
|
|
7
|
-
changed values. On databases that support UPDATE RETURNING, such as
|
|
8
|
-
PostgreSQL, the update and refresh are done in a single query.
|
|
9
|
-
|
|
10
|
-
* A delay_add_association plugin has been added, for delaying add_*
|
|
11
|
-
method calls for associations until after the receiver has been
|
|
12
|
-
saved, if the receiver is a new object. Example:
|
|
13
|
-
|
|
14
|
-
artist = Artist.new(:name=>'Foo')
|
|
15
|
-
artist.add_album(Album.new(:name=>'Bar'))
|
|
16
|
-
# No database queries yet
|
|
17
|
-
|
|
18
|
-
artist.save # Saves artist, then album
|
|
19
|
-
|
|
20
|
-
* A validate_associated plugin has been added, for validating
|
|
21
|
-
associated objects when validating the current object. This
|
|
22
|
-
was extracted from the nested_attributes plugin, and is also
|
|
23
|
-
used by the delay_add_association plugin. For example,
|
|
24
|
-
if you have an albums association and you want to validate all
|
|
25
|
-
associated objects before saving the current object, you can
|
|
26
|
-
cal validate_associated_object for each object:
|
|
27
|
-
|
|
28
|
-
def validate
|
|
29
|
-
super
|
|
30
|
-
reflection = association_reflection(:albums)
|
|
31
|
-
associations[:albums].each do |obj|
|
|
32
|
-
validate_associated_object(reflection, obj)
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
= Other Improvements
|
|
37
|
-
|
|
38
|
-
* Database#transaction now returns the block return value if
|
|
39
|
-
:rollback=>:always is used. Previously, it would return nil in
|
|
40
|
-
that case.
|
|
41
|
-
|
|
42
|
-
* Postgres::JSONBOp#[] and #get_text now return JSONBOp instances
|
|
43
|
-
instead of JSONOp instances.
|
|
44
|
-
|
|
45
|
-
* Model#move_to, #move_up, and #move_down in the list plugin now
|
|
46
|
-
automatically handle out-of-range targets by defaulting to the first
|
|
47
|
-
or last position in the list. Previously, using an out of range
|
|
48
|
-
target would raise an exception.
|
|
49
|
-
|
|
50
|
-
* Database#add_named_conversion_proc on PostgreSQL now works for enum
|
|
51
|
-
types.
|
|
52
|
-
|
|
53
|
-
* dataset.call_sproc(:insert, ...) now works correctly on JDBC.
|
|
54
|
-
|
|
55
|
-
* postgresql:// connection strings are now supported, since that is
|
|
56
|
-
the protocol name supported by libpq.
|
|
57
|
-
|
|
58
|
-
* Sequel has switched from rspec to minitest/spec for testing, and
|
|
59
|
-
now uses random test order when testing. During the conversion
|
|
60
|
-
process, many test order dependency bugs were fixed.
|
|
61
|
-
|
|
62
|
-
= Backwards Compatibility
|
|
63
|
-
|
|
64
|
-
* The deprecated fdbsql, jdbc/fdbsql, and openbase adapters have been
|
|
65
|
-
removed.
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* A pg_inet_ops extension has been added, for DSL support for
|
|
4
|
-
calling PostgreSQL inet functions and operators. Example:
|
|
5
|
-
|
|
6
|
-
r = Sequel.pg_inet_op(:inet)
|
|
7
|
-
|
|
8
|
-
~r # ~inet
|
|
9
|
-
r & :other # inet & other
|
|
10
|
-
r | :other # inet | other
|
|
11
|
-
r << :other # inet << other
|
|
12
|
-
r >> :other # inet >> other
|
|
13
|
-
|
|
14
|
-
r.contained_by(:other) # inet << other
|
|
15
|
-
r.contained_by_or_equals(:other) # inet <<= other
|
|
16
|
-
r.contains(:other) # inet >> other
|
|
17
|
-
r.contains_or_equals(:other) # inet >>= other
|
|
18
|
-
r.contains_or_contained_by(:other) # inet && other
|
|
19
|
-
|
|
20
|
-
r.abbrev # abbrev(inet)
|
|
21
|
-
r.broadcast # broadcast(inet)
|
|
22
|
-
r.family # family(inet)
|
|
23
|
-
r.host # host(inet)
|
|
24
|
-
r.hostmask # hostmask(inet)
|
|
25
|
-
r.masklen # masklen(inet)
|
|
26
|
-
r.netmask # netmask(inet)
|
|
27
|
-
r.network # network(inet)
|
|
28
|
-
r.set_masklen(16) # set_masklen(inet, 16)
|
|
29
|
-
r.text # text(inet)
|
|
30
|
-
|
|
31
|
-
* The association_pks plugin now supports a :delay_pks association
|
|
32
|
-
option. When set to true, this makes the methods created by the
|
|
33
|
-
plugin usable on new objects, by delaying the saving of the
|
|
34
|
-
associated pks until after the new object has been saved. When
|
|
35
|
-
set to :always, this also changes the behavior of the methods
|
|
36
|
-
for existing objects, so that nothing is persisted until the
|
|
37
|
-
object has been saved. Example:
|
|
38
|
-
|
|
39
|
-
Album.plugin :association_pks
|
|
40
|
-
Album.many_to_many :tags, :delay_pks=>true
|
|
41
|
-
|
|
42
|
-
album = Album.new(:tag_pks=>[1,2,3]) # No database query
|
|
43
|
-
album.save # Queries to insert album, and then update albums_tags
|
|
44
|
-
|
|
45
|
-
* The class_table_inheritance plugin now supports subclasses that
|
|
46
|
-
don't require additional columns, and therefore do not need to
|
|
47
|
-
join to additional tables. It now loads the
|
|
48
|
-
single_table_inheritance plugin and supports options that were
|
|
49
|
-
previously only supported by single_table_inheritance, such as the
|
|
50
|
-
:key_map and :key_chooser options.
|
|
51
|
-
|
|
52
|
-
* The validation_helpers plugin now supports a :from=>:values option
|
|
53
|
-
in the validation methods, which will take the value directly from
|
|
54
|
-
the values hash instead of calling the related method. This
|
|
55
|
-
allows validation_helpers to differentiate between validations on
|
|
56
|
-
underlying database column and validations on the model.
|
|
57
|
-
|
|
58
|
-
The auto_validations plugin has been modified to use this feature,
|
|
59
|
-
since all validations it generates are for validations on the
|
|
60
|
-
underlying database columns.
|
|
61
|
-
|
|
62
|
-
* The auto_validations plugin now supports options to pass to each
|
|
63
|
-
of the underlying validation methods:
|
|
64
|
-
|
|
65
|
-
Sequel::Model.plugin :auto_validations,
|
|
66
|
-
:unique_opts=>{:only_if_modified=>true}
|
|
67
|
-
|
|
68
|
-
In addition to :unique_opts, there is support for :not_null_opts
|
|
69
|
-
(for NOT NULL columns without a default), :explicit_not_null_opts
|
|
70
|
-
(for NOT NULL columns with a default), :max_length_opts, and
|
|
71
|
-
:schema_types_opts.
|
|
72
|
-
|
|
73
|
-
* The update_refresh plugin now accepts a :columns option, which
|
|
74
|
-
specifies the columns to refresh. This option is currently only
|
|
75
|
-
respected if the related dataset supports RETURNING.
|
|
76
|
-
|
|
77
|
-
* The :timeout option to Database#listen in the postgres adapter can
|
|
78
|
-
now be a callable object, previously it had to be Numeric. This
|
|
79
|
-
allows you to dynamically change the timeout based on current
|
|
80
|
-
application state.
|
|
81
|
-
|
|
82
|
-
= Other Improvements
|
|
83
|
-
|
|
84
|
-
* The uniqueness validations added by the auto_validations plugin now
|
|
85
|
-
use a symbol key in the related Errors instance if the underlying
|
|
86
|
-
index was on a single column. Previously, the uniqueness
|
|
87
|
-
validations for a single column would use an array key in the
|
|
88
|
-
related Errors instance.
|
|
89
|
-
|
|
90
|
-
* The jdbc subadapters now correctly handle 64-bit autoincrementing
|
|
91
|
-
primary keys.
|
|
92
|
-
|
|
93
|
-
* The jdbc subadapters now work correctly if they issue queries while
|
|
94
|
-
the subadapter is being loaded. This can happen in the
|
|
95
|
-
jdbc/postgresql adapter if the pg_hstore extension is used.
|
|
96
|
-
|
|
97
|
-
= Backwards Compatibility
|
|
98
|
-
|
|
99
|
-
* The deprecated db2 and dbi adapters have been removed.
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* The =~ and !~ methods are now defined on ComplexExpressions in
|
|
4
|
-
addition to GenericExpressions, allowing the following code to
|
|
5
|
-
work:
|
|
6
|
-
|
|
7
|
-
DB[:table].where{(column1 + column2) =~ column3}
|
|
8
|
-
|
|
9
|
-
* Dataset#group_append has been added for appending to an existing
|
|
10
|
-
GROUP BY clause:
|
|
11
|
-
|
|
12
|
-
ds = DB[:table].group(:column1)
|
|
13
|
-
# SELECT * FROM table GROUP BY column1
|
|
14
|
-
|
|
15
|
-
ds = ds.group_append(:column2)
|
|
16
|
-
# SELECT * FROM table GROUP BY column1, column2
|
|
17
|
-
|
|
18
|
-
* An inverted_subsets plugin has been added, for automatic creation of
|
|
19
|
-
methods for the inversion of the subset criteria. For example:
|
|
20
|
-
|
|
21
|
-
Album.plugin :inverted_subsets
|
|
22
|
-
Album.subset :published, :published=>true
|
|
23
|
-
|
|
24
|
-
Album.published
|
|
25
|
-
# SELECT * FROM albums WHERE published IS TRUE
|
|
26
|
-
|
|
27
|
-
Album.not_published
|
|
28
|
-
# SELECT * FROM albums WHERE published IS NOT TRUE
|
|
29
|
-
|
|
30
|
-
By default, the subset method name is prefixed with "not_". You can
|
|
31
|
-
pass a block to override the default behavior:
|
|
32
|
-
|
|
33
|
-
Album.plugin(:inverted_subsets){|name| "exclude_#{name}"}
|
|
34
|
-
Album.subset :published, :published=>true
|
|
35
|
-
|
|
36
|
-
Album.exclude_published
|
|
37
|
-
# SELECT * FROM albums WHERE published IS NOT TRUE
|
|
38
|
-
|
|
39
|
-
* A singular_table_names plugin has been added, which changes Sequel
|
|
40
|
-
to not pluralize table names by default.
|
|
41
|
-
|
|
42
|
-
Sequel::Model.plugin :singular_table_names
|
|
43
|
-
class FooBar < Sequel::Model; end
|
|
44
|
-
FooBar.table_name # => foo_bar
|
|
45
|
-
|
|
46
|
-
* Dataset#insert_conflict and #insert_ignore have been added on
|
|
47
|
-
PostgreSQL. When using PostgreSQL 9.5+, they allow you to ignore
|
|
48
|
-
unique or exclusion constraint violations on inserting, or to do
|
|
49
|
-
an update instead:
|
|
50
|
-
|
|
51
|
-
DB[:table].insert_conflict.insert(:a=>1, :b=>2)
|
|
52
|
-
# INSERT INTO TABLE (a, b) VALUES (1, 2)
|
|
53
|
-
# ON CONFLICT DO NOTHING
|
|
54
|
-
|
|
55
|
-
You can pass a specific constraint name using :constraint, to only
|
|
56
|
-
ignore a specific constraint violation:
|
|
57
|
-
|
|
58
|
-
DB[:table].insert_conflict(:constraint=>:table_a_uidx).
|
|
59
|
-
insert(:a=>1, :b=>2)
|
|
60
|
-
# INSERT INTO TABLE (a, b) VALUES (1, 2)
|
|
61
|
-
# ON CONFLICT ON CONSTRAINT table_a_uidx DO NOTHING
|
|
62
|
-
|
|
63
|
-
If the unique or exclusion constraint covers the whole table (e.g.
|
|
64
|
-
it isn't a partial unique index), then you can just specify the
|
|
65
|
-
column using the :target option:
|
|
66
|
-
|
|
67
|
-
DB[:table].insert_conflict(:target=>:a).insert(:a=>1, :b=>2)
|
|
68
|
-
# INSERT INTO TABLE (a, b) VALUES (1, 2)
|
|
69
|
-
# ON CONFLICT (a) DO NOTHING
|
|
70
|
-
|
|
71
|
-
If you want to update the existing row instead of ignoring the
|
|
72
|
-
constraint violation, you can pass an :update option with a hash of
|
|
73
|
-
values to update. You must pass either the :target or :constraint
|
|
74
|
-
options when passing the :update option:
|
|
75
|
-
|
|
76
|
-
DB[:table].insert_conflict(:target=>:a,
|
|
77
|
-
:update=>{:b=>:excluded__b}).
|
|
78
|
-
insert(:a=>1, :b=>2)
|
|
79
|
-
# INSERT INTO TABLE (a, b) VALUES (1, 2)
|
|
80
|
-
# ON CONFLICT (a) DO UPDATE SET b = excluded.b
|
|
81
|
-
|
|
82
|
-
Additionally, if you only want to do the update in certain cases,
|
|
83
|
-
you can specify an :update_where option, which will be used as a
|
|
84
|
-
filter. If the row doesn't match the conditions, the constraint
|
|
85
|
-
violation will be ignored, but the row will not be updated:
|
|
86
|
-
|
|
87
|
-
DB[:table].insert_conflict(:constraint=>:table_a_uidx,
|
|
88
|
-
:update=>{:b=>:excluded__b},
|
|
89
|
-
:update_where=>{:table__status_id=>1}).
|
|
90
|
-
insert(:a=>1, :b=>2)
|
|
91
|
-
# INSERT INTO TABLE (a, b) VALUES (1, 2)
|
|
92
|
-
# ON CONFLICT ON CONSTRAINT table_a_uidx
|
|
93
|
-
# DO UPDATE SET b = excluded.b WHERE (table.status_id = 1)
|
|
94
|
-
|
|
95
|
-
* Dataset#group_rollup and #group_cube are now supported when using
|
|
96
|
-
PostgreSQL 9.5+.
|
|
97
|
-
|
|
98
|
-
* Sequel now supports Dataset#returning when using prepared statements
|
|
99
|
-
and bound variables:
|
|
100
|
-
|
|
101
|
-
DB[:table].returning.prepare(:insert, :i, :col=>:$col).
|
|
102
|
-
call(:col=>42)
|
|
103
|
-
# => [{:col=>42}]
|
|
104
|
-
|
|
105
|
-
= Other Improvements
|
|
106
|
-
|
|
107
|
-
* The serialization plugin now integrates with the dirty plugin, so
|
|
108
|
-
that column changes are detected correctly. However, column values
|
|
109
|
-
that are changed and then changed back to the original value are
|
|
110
|
-
still detected as changed.
|
|
111
|
-
|
|
112
|
-
* Dataset#for_update and similar locking methods now cause Sequel not
|
|
113
|
-
to use the :read_only shard if sharding is used.
|
|
114
|
-
|
|
115
|
-
* The association_pks plugin now clears cached delayed associated pks
|
|
116
|
-
when the object is refreshed.
|
|
117
|
-
|
|
118
|
-
* The :collate column option when adding columns now literalizes
|
|
119
|
-
non-String values on PostgreSQL. Previously, the :collate option
|
|
120
|
-
value was used verbatim. This is because PostgreSQL's collations
|
|
121
|
-
generally require quoting as they are uppercase or mixed-case.
|
|
122
|
-
|
|
123
|
-
* Sequel's metadata parsing methods now support Microsoft SQL Server
|
|
124
|
-
2012+ when used in case sensitive mode.
|
|
125
|
-
|
|
126
|
-
* Sequel now recognizes an addition check constraint violation
|
|
127
|
-
exception on SQLite.
|
|
128
|
-
|
|
129
|
-
* Sequel now recognizes constraint violations when using the
|
|
130
|
-
swift/sqlite adapter.
|
|
131
|
-
|
|
132
|
-
* Sequel now automatically REORGs tables when altering them in the
|
|
133
|
-
jdbc/db2 adapter.
|
|
134
|
-
|
|
135
|
-
= Backwards Compatibility
|
|
136
|
-
|
|
137
|
-
* Sequel now defaults to ignoring NULL values when using IN/NOT IN
|
|
138
|
-
with an empty array. Previously, code such as:
|
|
139
|
-
|
|
140
|
-
DB[:table].where(:column=>[])
|
|
141
|
-
|
|
142
|
-
would be literalized as:
|
|
143
|
-
|
|
144
|
-
SELECT * FROM table WHERE (column != column)
|
|
145
|
-
|
|
146
|
-
This yields a NULL value when column is NULL, similarly to how most
|
|
147
|
-
other SQL operators work. Unfortunately, most databases do not
|
|
148
|
-
optimize this, and such a query can require a sequential scan of the
|
|
149
|
-
table.
|
|
150
|
-
|
|
151
|
-
Sequel previously shipped with a empty_array_ignore_nulls extension
|
|
152
|
-
that literalized the query to:
|
|
153
|
-
|
|
154
|
-
SELECT * FROM table WHERE (1 = 0)
|
|
155
|
-
|
|
156
|
-
which databases will generally optimize to a constant false value,
|
|
157
|
-
resulting in much faster queries. This behavior is now the default.
|
|
158
|
-
|
|
159
|
-
Users that desire the previous behavior can use the new
|
|
160
|
-
empty_array_consider_nulls extension.
|
|
161
|
-
|
|
162
|
-
* The deprecated firebird and informix adapters have been removed.
|
|
163
|
-
|
|
164
|
-
* Calling prepare on a prepared statement now raises an exception.
|
|
165
|
-
It was supported accidently before, as prepared statements are
|
|
166
|
-
dataset instances.
|
|
167
|
-
|
|
168
|
-
* Model::DatasetModule#subset now calls Model.subset instead of
|
|
169
|
-
the other way around. This makes it possible to modify the
|
|
170
|
-
behavior of subset in a plugin.
|
|
171
|
-
|
|
172
|
-
* The :collate column option change on PostgreSQL can break code
|
|
173
|
-
that used already quoted values in symbols. For example:
|
|
174
|
-
|
|
175
|
-
String :column_name, collate=>:'"C"'
|
|
176
|
-
|
|
177
|
-
would need to change to:
|
|
178
|
-
|
|
179
|
-
String :column_name, collate=>:C
|
|
180
|
-
# or
|
|
181
|
-
String :column_name, collate=>'"C"'
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* Add Dataset#grouping_sets to support GROUP BY GROUPING SETS on
|
|
4
|
-
PostgreSQL 9.5+, MSSQL 2008+, Oracle, DB2, and SQLAnywhere:
|
|
5
|
-
|
|
6
|
-
DB[:test].group([:type_id, :b], :type_id, []).grouping_sets
|
|
7
|
-
# SELECT * FROM test
|
|
8
|
-
# GROUP BY GROUPING SETS((type_id, b), (type_id), ())
|
|
9
|
-
|
|
10
|
-
* Sequel::NoMatchingRow exceptions raised by Sequel now give access
|
|
11
|
-
to the dataset that raised the exception via the dataset method.
|
|
12
|
-
This makes it easier to write generic error handling code.
|
|
13
|
-
|
|
14
|
-
* Support :if_exists option to drop_column on PostgreSQL:
|
|
15
|
-
|
|
16
|
-
DB.drop_column :t, :col, :if_exists=>true
|
|
17
|
-
ALTER TABLE t DROP COLUMN IF EXISTS col
|
|
18
|
-
|
|
19
|
-
= Other Improvements
|
|
20
|
-
|
|
21
|
-
* Make the class_table_inheritance plugin work correctly without an
|
|
22
|
-
sti_key. This was broken in a recent refactoring to make class
|
|
23
|
-
table inheritance support multiple classes for a single table.
|
|
24
|
-
|
|
25
|
-
* Make Class.new(ModelClass){set_dataset :table} work correctly on
|
|
26
|
-
ruby 1.8. This was broken in a refactoring to allow the
|
|
27
|
-
singular_table_names plugin to work.
|
|
28
|
-
|
|
29
|
-
* Make offset emulation via ROW_NUMBER better handle ambiguous column
|
|
30
|
-
names for datasets without an ORDER BY clause, but with an explicit
|
|
31
|
-
SELECT clause.
|
|
32
|
-
|
|
33
|
-
* Make pg_range extension use PostgreSQL range function constructors
|
|
34
|
-
instead of casting string literals to the appropriate range type,
|
|
35
|
-
if the range type is known. This allows arbitrary expressions to
|
|
36
|
-
be used inside ranges, such as CURRENT_TIMESTAMP in timestamp
|
|
37
|
-
ranges.
|
|
38
|
-
|
|
39
|
-
* Make Dataset#== not consider frozen status.
|
|
40
|
-
|
|
41
|
-
* Allow Dataset#prepare on already prepared statements in situations
|
|
42
|
-
where determining the SQL for a prepared statement requires it.
|
|
43
|
-
|
|
44
|
-
* Detect additional disconnect errors when using the tinytds adapter.
|
data/doc/release_notes/4.3.0.txt
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* The tree and rcte_tree plugins now support composite keys.
|
|
4
|
-
|
|
5
|
-
* An error_sql Database extension has been added. This extension
|
|
6
|
-
adds the DatabaseError#sql method, which should return the
|
|
7
|
-
database query that caused the error. This is useful for
|
|
8
|
-
drivers that don't include the SQL used as part of the error
|
|
9
|
-
message.
|
|
10
|
-
|
|
11
|
-
= Other Improvements
|
|
12
|
-
|
|
13
|
-
* Empty blobs are now literalized correctly on MySQL.
|
|
14
|
-
|
|
15
|
-
* Empty arrays are now literalized correctly on PostgreSQL <8.4.
|
|
16
|
-
|
|
17
|
-
* In the pagination extension, Dataset#page_count is now 1 even if
|
|
18
|
-
the dataset is empty. This fixes issues with last_page? and
|
|
19
|
-
page_range returning bad values for empty datasets.
|
|
20
|
-
|
|
21
|
-
* In the pagination extension, calling Dataset#each_page without a
|
|
22
|
-
block now returns an Enumerator.
|
|
23
|
-
|
|
24
|
-
* Dataset#qualify and Sequel.delay now work together, qualifying
|
|
25
|
-
the object returned by the delayed evaluation.
|
|
26
|
-
|
|
27
|
-
* Migrator.migrator_class is now a public method.
|
|
28
|
-
|
|
29
|
-
* The PostgreSQL citext type is now recognized as a string.
|
|
30
|
-
|
|
31
|
-
* Another disconnect error is now recognized in the jdbc/as400
|
|
32
|
-
adapter.
|
|
33
|
-
|
|
34
|
-
* Guides about using and creating Sequel extensions and model
|
|
35
|
-
plugins have been added.
|
|
36
|
-
|
|
37
|
-
= Backwards Compatibility
|
|
38
|
-
|
|
39
|
-
* If you were expecting Dataset#page_count on a empty paginated
|
|
40
|
-
dataset to return 0, you need to update your code.
|
data/doc/release_notes/4.4.0.txt
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
= New Features
|
|
2
|
-
|
|
3
|
-
* Sequel now supports Sybase SQLAnywhere, via the sqlanywhere and
|
|
4
|
-
jdbc/sqlanywhere adapters.
|
|
5
|
-
|
|
6
|
-
* The filter by associations support now handles cases where the
|
|
7
|
-
association has :conditions or a block (as long as the block
|
|
8
|
-
does not rely on instance-specific behavior). This allows
|
|
9
|
-
you to handle the following:
|
|
10
|
-
|
|
11
|
-
Album.many_to_many :popular_tags, :class=>:Tag do |ds|
|
|
12
|
-
ds.where{tags__popularity > 9000}
|
|
13
|
-
end
|
|
14
|
-
Album.where(:popular_tags=>[Tag[1], Tag[2]])
|
|
15
|
-
|
|
16
|
-
This will return all albums whose popular_tags would include
|
|
17
|
-
at least one of those two tags. Previously, the block would
|
|
18
|
-
be ignored, returning albums containing one those tags even if
|
|
19
|
-
the tags weren't popular.
|
|
20
|
-
|
|
21
|
-
* A table_select plugin has been added that changes the default
|
|
22
|
-
selection for models from * to table.*. This is useful for
|
|
23
|
-
people who want ActiveRecord-like behavior instead of SQL-like
|
|
24
|
-
behavior, where joining tables doesn't automatically include
|
|
25
|
-
columns in the other table.
|
|
26
|
-
|
|
27
|
-
This can fix issues where joining another table that has columns
|
|
28
|
-
with the same name as columns in the model table without
|
|
29
|
-
specifying an explicit selection results in model objects being
|
|
30
|
-
returned where the values in the model object are the values
|
|
31
|
-
from the joined table instead of the model table.
|
|
32
|
-
|
|
33
|
-
* Dataset#offset has been added, for specifying offset separately
|
|
34
|
-
from limit. Previous this was possible via:
|
|
35
|
-
|
|
36
|
-
ds.limit(nil, offset)
|
|
37
|
-
|
|
38
|
-
but this is a friendlier API.
|
|
39
|
-
|
|
40
|
-
* The jdbc adapter now has support for foreign key parsing. This
|
|
41
|
-
is used if there is no specific support for the underlying
|
|
42
|
-
database.
|
|
43
|
-
|
|
44
|
-
* Foreign key parsing is now supported on Oracle.
|
|
45
|
-
|
|
46
|
-
= Other Improvements
|
|
47
|
-
|
|
48
|
-
* Association add_*/remove_*/remove_all_* methods for
|
|
49
|
-
pg_array_to_many associations now work on unsaved model objects.
|
|
50
|
-
|
|
51
|
-
* In the constraint_validations extension, deletes from the
|
|
52
|
-
metadata table are now processed before inserts, so that dropping
|
|
53
|
-
an existing constraint and readding a constraint with the same
|
|
54
|
-
name now works correctly.
|
|
55
|
-
|
|
56
|
-
* Cloning an association now copies the :eager_block option
|
|
57
|
-
correctly from the source association if it was passed as
|
|
58
|
-
the block to the source association method.
|
|
59
|
-
|
|
60
|
-
* Cloning a cloned association now copies the block for the
|
|
61
|
-
association.
|
|
62
|
-
|
|
63
|
-
* The descendants method in the tree plugin no longer modifies an
|
|
64
|
-
array it is iterating over.
|
|
65
|
-
|
|
66
|
-
* The jdbc/postgresql adapter now supports PostgreSQL-specific types,
|
|
67
|
-
with pretty much the same support as the postgres adapter. When
|
|
68
|
-
using the pg_* extensions, the dataset will now handle the
|
|
69
|
-
PostgreSQL types correctly and return instances of the correct
|
|
70
|
-
Ruby classes (e.g. hstore is returned as Sequel::Postgres::HStore).
|
|
71
|
-
|
|
72
|
-
You should no longer need to use the typecast_on_load or
|
|
73
|
-
pg_typecast_on_load plugins when using model objects that use these
|
|
74
|
-
types when using the jdbc/postgresql adapter.
|
|
75
|
-
|
|
76
|
-
* Offset emulation on Oracle now handles cases where selected
|
|
77
|
-
columns can't be ordered.
|
|
78
|
-
|
|
79
|
-
* Offset emulation on DB2 no longer automatically orders on all
|
|
80
|
-
columns if the dataset itself is unordered.
|
|
81
|
-
|
|
82
|
-
* Types containing spaces are now returning correctly when
|
|
83
|
-
parsing the schema in the oracle adapter.
|
|
84
|
-
|
|
85
|
-
* Database#tables no longer returns tables in the recycle bin on
|
|
86
|
-
Oracle.
|
|
87
|
-
|
|
88
|
-
* add_foreign_key now works correctly on HSQLDB, by splitting the
|
|
89
|
-
column addition and constraint addition into two separate
|
|
90
|
-
statements.
|
|
91
|
-
|
|
92
|
-
* add_primary_key now works correctly on H2.
|