Title: [467] trunk/activerecord-jdbc/lib: Handle downcasing in a better way from here on, and NEVER call downcase! or upcase! directly on an argument.
Revision
467
Author
olabini
Date
2007-04-20 02:30:00 -0400 (Fri, 20 Apr 2007)

Log Message

Handle downcasing in a better way from here on, and NEVER call downcase! or upcase! directly on an argument.

Modified Paths

Diff

Modified: trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb (466 => 467)


--- trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb	2007-04-19 00:16:03 UTC (rev 466)
+++ trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb	2007-04-20 06:30:00 UTC (rev 467)
@@ -222,7 +222,11 @@
       # should filter the return from this method instead.
       def indexes(table_name, name = nil)
         metadata = @connection.getMetaData
-        table_name = table_name.to_s unless String === table_name
+        unless String === table_name
+          table_name = table_name.to_s 
+        else
+          table_name = table_name.dup
+        end
         table_name.upcase! if metadata.storesUpperCaseIdentifiers
         table_name.downcase! if metadata.storesLowerCaseIdentifiers
         resultset = metadata.getIndexInfo(nil, nil, table_name, false, false)

Modified: trunk/activerecord-jdbc/lib/jdbc_adapter/missing_functionality_helper.rb (466 => 467)


--- trunk/activerecord-jdbc/lib/jdbc_adapter/missing_functionality_helper.rb	2007-04-19 00:16:03 UTC (rev 466)
+++ trunk/activerecord-jdbc/lib/jdbc_adapter/missing_functionality_helper.rb	2007-04-20 06:30:00 UTC (rev 467)
@@ -3,7 +3,7 @@
     #Taken from SQLite adapter
 
     def alter_table(table_name, options = {}) #:nodoc:
-      table_name.downcase!
+      table_name = table_name.downcase
       altered_table_name = "altered_#{table_name}"
       caller = lambda {|definition| yield definition if block_given?}
 
@@ -42,7 +42,7 @@
     
     def copy_table_indexes(from, to) #:nodoc:
       indexes(from).each do |index|
-        name = index.name
+        name = index.name.downcase
         if to == "altered_#{from}"
           name = "temp_#{name}"
         elsif from == "altered_#{to}"
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to