#12 new
Mark Van Holstyn

Error caused by modifying arguments

Reported by Mark Van Holstyn | November 26th, 2008 @ 08:39 PM

When passing the same array of column names into import for the list of column names, and for the list of on_duplicate_key_update option, the list is modified in places and causes sql queries with improper columns. Here is a rough patch

--- a/vendor/plugins/ar-extensions/lib/ar-extensions/import.rb
+++ b/vendor/plugins/ar-extensions/lib/ar-extensions/import.rb
@@ -175,7 +175,7 @@ class ActiveRecord::Base
         end
         # supports 2-element array and array
       elsif args.size == 2 and args.first.is_a?( Array ) and args.last.is_a?( Array )
-        column_names, array_of_attributes = args
+        column_names, array_of_attributes = args.first.dup, args.last.dup
       else
         raise ArgumentError.new( "Invalid arguments!" )
       end

No comments found

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

ActiveRecord::Extension (aka ar-extensions) is a plugin to extend and
enhance the functionality of ActiveRecord. It starts by adding better
find support for ActiveRecord. It then adds mass data import
capabilities which are highly efficient and lastly it supports to_csv
functionality.

It also introduces a cool concept of creating easily extendable pieces
of ActiveRecord functionality, so developers don't have to understand
ActiveRecord internals or have the fear of breaking ActiveRecord
itself.

People watching this ticket

Pages