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 - co...@suse.com
+
+- 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).


Reply via email to