Hello community,
here is the log from the commit of package rubygem-activerecord-4_2 for
openSUSE:Factory checked in at 2017-09-26 21:12:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-activerecord-4_2 (Old)
and /work/SRC/openSUSE:Factory/.rubygem-activerecord-4_2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-activerecord-4_2"
Tue Sep 26 21:12:52 2017 rev:12 rq:514910 version:4.2.9
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-activerecord-4_2/rubygem-activerecord-4_2.changes
2017-03-21 22:50:26.419223167 +0100
+++
/work/SRC/openSUSE:Factory/.rubygem-activerecord-4_2.new/rubygem-activerecord-4_2.changes
2017-09-26 21:13:21.243409728 +0200
@@ -1,0 +2,35 @@
+Thu Aug 3 19:01:16 UTC 2017 - [email protected]
+
+- updated to version 4.2.9
+ see installed CHANGELOG.md
+
+ ## Rails 4.2.9 (June 26, 2017) ##
+
+ * Fix regression caused by `collection_singular_ids=` ignoring different
primary key on relationship.
+
+ *Nick Pezza*
+
+ * Fix `rake db:schema:load` with subdirectories.
+
+ *Ryuta Kamizono*
+
+ * Fix `rake db:migrate:status` with subdirectories.
+
+ *Ryuta Kamizono*
+
+ * Fix regression of #1969 with SELECT aliases in HAVING clause.
+
+ *Eugene Kenny*
+
+ * Fix `wait_timeout` to configurable for mysql2 adapter.
+
+ Fixes #26556.
+
+ *Ryuta Kamizono*
+
+ * Make `table_name=` reset current statement cache,
+ so queries are not run against the previous table name.
+
+ *namusyaka*
+
+-------------------------------------------------------------------
Old:
----
activerecord-4.2.8.gem
New:
----
activerecord-4.2.9.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-activerecord-4_2.spec ++++++
--- /var/tmp/diff_new_pack.sU4eOc/_old 2017-09-26 21:13:22.515230887 +0200
+++ /var/tmp/diff_new_pack.sU4eOc/_new 2017-09-26 21:13:22.515230887 +0200
@@ -24,7 +24,7 @@
#
Name: rubygem-activerecord-4_2
-Version: 4.2.8
+Version: 4.2.9
Release: 0
%define mod_name activerecord
%define mod_full_name %{mod_name}-%{version}
++++++ activerecord-4.2.8.gem -> activerecord-4.2.9.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2017-02-21 17:07:00.000000000 +0100
+++ new/CHANGELOG.md 2017-06-26 23:29:04.000000000 +0200
@@ -1,3 +1,33 @@
+## Rails 4.2.9 (June 26, 2017) ##
+
+* Fix regression caused by `collection_singular_ids=` ignoring different
primary key on relationship.
+
+ *Nick Pezza*
+
+* Fix `rake db:schema:load` with subdirectories.
+
+ *Ryuta Kamizono*
+
+* Fix `rake db:migrate:status` with subdirectories.
+
+ *Ryuta Kamizono*
+
+* Fix regression of #1969 with SELECT aliases in HAVING clause.
+
+ *Eugene Kenny*
+
+* Fix `wait_timeout` to configurable for mysql2 adapter.
+
+ Fixes #26556.
+
+ *Ryuta Kamizono*
+
+* Make `table_name=` reset current statement cache,
+ so queries are not run against the previous table name.
+
+ *namusyaka*
+
+
## Rails 4.2.8 (February 21, 2017) ##
* Using a mysql2 connection after it fails to reconnect will now have an
error message
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/active_record/associations/collection_association.rb
new/lib/active_record/associations/collection_association.rb
--- old/lib/active_record/associations/collection_association.rb
2017-02-21 17:07:00.000000000 +0100
+++ new/lib/active_record/associations/collection_association.rb
2017-06-26 23:29:04.000000000 +0200
@@ -67,10 +67,14 @@
pk_type.type_cast_from_user(i)
end
- if (objs = klass.where(pk_column => ids)).size == ids.size
+ objs = klass.where(pk_column => ids).index_by do |r|
+ r.send(pk_column)
+ end.values_at(*ids).compact
+
+ if objs.size == ids.size
replace(objs.index_by { |r| r.send(pk_column) }.values_at(*ids))
else
- objs.raise_record_not_found_exception!(ids, objs.size, ids.size)
+ klass.all.raise_record_not_found_exception!(ids, objs.size, ids.size)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/active_record/connection_adapters/abstract/schema_statements.rb
new/lib/active_record/connection_adapters/abstract/schema_statements.rb
--- old/lib/active_record/connection_adapters/abstract/schema_statements.rb
2017-02-21 17:07:00.000000000 +0100
+++ new/lib/active_record/connection_adapters/abstract/schema_statements.rb
2017-06-26 23:29:04.000000000 +0200
@@ -841,10 +841,9 @@
version = version.to_i
sm_table =
quote_table_name(ActiveRecord::Migrator.schema_migrations_table_name)
- migrated = select_values("SELECT version FROM #{sm_table}").map { |v|
v.to_i }
- paths = migrations_paths.map {|p| "#{p}/[0-9]*_*.rb" }
- versions = Dir[*paths].map do |filename|
- filename.split('/').last.split('_').first.to_i
+ migrated = select_values("SELECT version FROM #{sm_table}").map(&:to_i)
+ versions =
ActiveRecord::Migrator.migration_files(migrations_paths).map do |file|
+ ActiveRecord::Migrator.parse_migration_filename(file).first.to_i
end
unless migrated.include?(version)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
new/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
--- old/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
2017-02-21 17:07:00.000000000 +0100
+++ new/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
2017-06-26 23:29:04.000000000 +0200
@@ -863,9 +863,9 @@
variables['sql_auto_is_null'] = 0
# Increase timeout so the server doesn't disconnect us.
- wait_timeout = @config[:wait_timeout]
+ wait_timeout =
self.class.type_cast_config_to_integer(@config[:wait_timeout])
wait_timeout = 2147483 unless wait_timeout.is_a?(Integer)
- variables['wait_timeout'] =
self.class.type_cast_config_to_integer(wait_timeout)
+ variables["wait_timeout"] = wait_timeout
# Make MySQL reject illegal values rather than truncating or blanking
them, see
#
http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_strict_all_tables
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_record/gem_version.rb
new/lib/active_record/gem_version.rb
--- old/lib/active_record/gem_version.rb 2017-02-21 17:07:00.000000000
+0100
+++ new/lib/active_record/gem_version.rb 2017-06-26 23:29:04.000000000
+0200
@@ -7,7 +7,7 @@
module VERSION
MAJOR = 4
MINOR = 2
- TINY = 8
+ TINY = 9
PRE = nil
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_record/migration.rb
new/lib/active_record/migration.rb
--- old/lib/active_record/migration.rb 2017-02-21 17:07:00.000000000 +0100
+++ new/lib/active_record/migration.rb 2017-06-26 23:29:04.000000000 +0200
@@ -880,14 +880,15 @@
migrations_paths.first
end
+ def parse_migration_filename(filename) # :nodoc:
+
File.basename(filename).scan(/\A([0-9]+)_([_a-z0-9]*)\.?([_a-z0-9]*)?\.rb\z/).first
+ end
+
def migrations(paths)
paths = Array(paths)
- files = Dir[*paths.map { |p| "#{p}/**/[0-9]*_*.rb" }]
-
- migrations = files.map do |file|
- version, name, scope =
file.scan(/([0-9]+)_([_a-z0-9]*)\.?([_a-z0-9]*)?\.rb\z/).first
-
+ migrations = migration_files(paths).map do |file|
+ version, name, scope = parse_migration_filename(file)
raise IllegalMigrationNameError.new(file) unless version
version = version.to_i
name = name.camelize
@@ -898,6 +899,30 @@
migrations.sort_by(&:version)
end
+ def migrations_status(paths)
+ paths = Array(paths)
+
+ db_list = ActiveRecord::SchemaMigration.normalized_versions
+
+ file_list = migration_files(paths).map do |file|
+ version, name, scope = parse_migration_filename(file)
+ raise IllegalMigrationNameError.new(file) unless version
+ version =
ActiveRecord::SchemaMigration.normalize_migration_number(version)
+ status = db_list.delete(version) ? "up" : "down"
+ [status, version, (name + scope).humanize]
+ end.compact
+
+ db_list.map! do |version|
+ ["up", version, "********** NO FILE **********"]
+ end
+
+ (db_list + file_list).sort_by { |_, version, _| version }
+ end
+
+ def migration_files(paths)
+ Dir[*paths.flat_map { |path| "#{path}/**/[0-9]*_*.rb" }]
+ end
+
private
def move(direction, migrations_paths, steps)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_record/model_schema.rb
new/lib/active_record/model_schema.rb
--- old/lib/active_record/model_schema.rb 2017-02-21 17:07:00.000000000
+0100
+++ new/lib/active_record/model_schema.rb 2017-06-26 23:29:04.000000000
+0200
@@ -304,6 +304,8 @@
@default_attributes = nil
@inheritance_column = nil unless
defined?(@explicit_inheritance_column) && @explicit_inheritance_column
@relation = nil
+
+ initialize_find_by_cache
end
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_record/railtie.rb
new/lib/active_record/railtie.rb
--- old/lib/active_record/railtie.rb 2017-02-21 17:07:00.000000000 +0100
+++ new/lib/active_record/railtie.rb 2017-06-26 23:29:04.000000000 +0200
@@ -57,8 +57,10 @@
console do |app|
require "active_record/railties/console_sandbox" if app.sandbox?
require "active_record/base"
- console = ActiveSupport::Logger.new(STDERR)
- Rails.logger.extend ActiveSupport::Logger.broadcast console
+ unless ActiveSupport::Logger.logger_outputs_to?(Rails.logger, STDERR,
STDOUT)
+ console = ActiveSupport::Logger.new(STDERR)
+ Rails.logger.extend ActiveSupport::Logger.broadcast console
+ end
end
runner do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_record/railties/databases.rake
new/lib/active_record/railties/databases.rake
--- old/lib/active_record/railties/databases.rake 2017-02-21
17:07:00.000000000 +0100
+++ new/lib/active_record/railties/databases.rake 2017-06-26
23:29:04.000000000 +0200
@@ -63,6 +63,8 @@
namespace :migrate do
# desc 'Rollbacks the database one migration and re migrate up (options:
STEP=x, VERSION=x).'
task :redo => [:environment, :load_config] do
+ raise "Empty VERSION provided" if ENV["VERSION"] && ENV["VERSION"].empty?
+
if ENV['VERSION']
db_namespace['migrate:down'].invoke
db_namespace['migrate:up'].invoke
@@ -77,16 +79,17 @@
# desc 'Runs the "up" for a given migration VERSION.'
task :up => [:environment, :load_config] do
+ raise "VERSION is required" if ENV["VERSION"] && ENV["VERSION"].empty?
+
version = ENV['VERSION'] ? ENV['VERSION'].to_i : nil
- raise 'VERSION is required' unless version
ActiveRecord::Migrator.run(:up, ActiveRecord::Migrator.migrations_paths,
version)
db_namespace['_dump'].invoke
end
# desc 'Runs the "down" for a given migration VERSION.'
task :down => [:environment, :load_config] do
+ raise "VERSION is required - To go down one migration, use db:rollback"
if ENV["VERSION"] && ENV["VERSION"].empty?
version = ENV['VERSION'] ? ENV['VERSION'].to_i : nil
- raise 'VERSION is required - To go down one migration, run db:rollback'
unless version
ActiveRecord::Migrator.run(:down,
ActiveRecord::Migrator.migrations_paths, version)
db_namespace['_dump'].invoke
end
@@ -96,26 +99,13 @@
unless ActiveRecord::SchemaMigration.table_exists?
abort 'Schema migrations table does not exist yet.'
end
- db_list = ActiveRecord::SchemaMigration.normalized_versions
- file_list =
- ActiveRecord::Migrator.migrations_paths.flat_map do |path|
- # match "20091231235959_some_name.rb" and "001_some_name.rb"
pattern
- Dir.foreach(path).grep(/^(\d{3,})_(.+)\.rb$/) do
- version =
ActiveRecord::SchemaMigration.normalize_migration_number($1)
- status = db_list.delete(version) ? 'up' : 'down'
- [status, version, $2.humanize]
- end
- end
-
- db_list.map! do |version|
- ['up', version, '********** NO FILE **********']
- end
# output
puts "\ndatabase: #{ActiveRecord::Base.connection_config[:database]}\n\n"
puts "#{'Status'.center(8)} #{'Migration ID'.ljust(14)} Migration Name"
puts "-" * 50
- (db_list + file_list).sort_by { |_, version, _| version }.each do
|status, version, name|
+ paths = ActiveRecord::Tasks::DatabaseTasks.migrations_paths
+ ActiveRecord::Migrator.migrations_status(paths).each do |status,
version, name|
puts "#{status.center(8)} #{version.ljust(14)} #{name}"
end
puts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_record/relation/calculations.rb
new/lib/active_record/relation/calculations.rb
--- old/lib/active_record/relation/calculations.rb 2017-02-21
17:07:00.000000000 +0100
+++ new/lib/active_record/relation/calculations.rb 2017-06-26
23:29:04.000000000 +0200
@@ -310,7 +310,7 @@
operation,
distinct).as(aggregate_alias)
]
- select_values += select_values unless having_values.empty?
+ select_values += self.select_values unless having_values.empty?
select_values.concat group_fields.zip(group_aliases).map { |field,aliaz|
if field.respond_to?(:as)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_record/tasks/database_tasks.rb
new/lib/active_record/tasks/database_tasks.rb
--- old/lib/active_record/tasks/database_tasks.rb 2017-02-21
17:07:00.000000000 +0100
+++ new/lib/active_record/tasks/database_tasks.rb 2017-06-26
23:29:04.000000000 +0200
@@ -130,6 +130,8 @@
end
def migrate
+ raise "Empty VERSION provided" if ENV["VERSION"] &&
ENV["VERSION"].empty?
+
verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
scope = ENV['SCOPE']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_record/type/decimal.rb
new/lib/active_record/type/decimal.rb
--- old/lib/active_record/type/decimal.rb 2017-02-21 17:07:00.000000000
+0100
+++ new/lib/active_record/type/decimal.rb 2017-06-26 23:29:04.000000000
+0200
@@ -17,8 +17,14 @@
casted_value = case value
when ::Float
convert_float_to_big_decimal(value)
- when ::Numeric, ::String
+ when ::Numeric
BigDecimal(value, precision.to_i)
+ when ::String
+ begin
+ value.to_d
+ rescue ArgumentError
+ BigDecimal(0)
+ end
else
if value.respond_to?(:to_d)
value.to_d
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2017-02-21 17:07:00.000000000 +0100
+++ new/metadata 2017-06-26 23:29:04.000000000 +0200
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: activerecord
version: !ruby/object:Gem::Version
- version: 4.2.8
+ version: 4.2.9
platform: ruby
authors:
- David Heinemeier Hansson
autorequire:
bindir: bin
cert_chain: []
-date: 2017-02-21 00:00:00.000000000 Z
+date: 2017-06-26 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: activesupport
@@ -16,28 +16,28 @@
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 4.2.8
+ version: 4.2.9
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 4.2.8
+ version: 4.2.9
- !ruby/object:Gem::Dependency
name: activemodel
requirement: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 4.2.8
+ version: 4.2.9
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 4.2.8
+ version: 4.2.9
- !ruby/object:Gem::Dependency
name: arel
requirement: !ruby/object:Gem::Requirement
@@ -304,7 +304,7 @@
version: '0'
requirements: []
rubyforge_project:
-rubygems_version: 2.6.10
+rubygems_version: 2.6.12
signing_key:
specification_version: 4
summary: Object-relational mapper framework (part of Rails).