Title: [655] trunk/activerecord-jdbc: columns should only return columns in the same catalog

Diff

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


--- trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb	2007-06-22 14:39:26 UTC (rev 654)
+++ trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb	2007-06-22 17:13:52 UTC (rev 655)
@@ -194,17 +194,17 @@
       attr_writer :limit, :precision
         
       COLUMN_TYPES = {
-        /oracle/i => lambda {|cfg,col| col.extend(JdbcSpec::Oracle::Column)},
-        /mysql/i => lambda {|cfg,col| col.extend(JdbcSpec::MySQL::Column)},
-        /postgre/i => lambda {|cfg,col| col.extend(JdbcSpec::PostgreSQL::Column)},
-        /sqlserver|tds/i => lambda {|cfg,col| col.extend(JdbcSpec::MsSQL::Column)},
-        /hsqldb|\.h2\./i => lambda {|cfg,col| col.extend(JdbcSpec::HSQLDB::Column)},
-        /derby/i => lambda {|cfg,col| col.extend(JdbcSpec::Derby::Column)},
+        /oracle/i => lambda {|cfg,col| col.extend(::JdbcSpec::Oracle::Column)},
+        /mysql/i => lambda {|cfg,col| col.extend(::JdbcSpec::MySQL::Column)},
+        /postgre/i => lambda {|cfg,col| col.extend(::JdbcSpec::PostgreSQL::Column)},
+        /sqlserver|tds/i => lambda {|cfg,col| col.extend(::JdbcSpec::MsSQL::Column)},
+        /hsqldb|\.h2\./i => lambda {|cfg,col| col.extend(::JdbcSpec::HSQLDB::Column)},
+        /derby/i => lambda {|cfg,col| col.extend(::JdbcSpec::Derby::Column)},
         /db2/i => lambda {|cfg,col|
           if cfg[:url] =~ /^jdbc:derby:net:/
-            col.extend(JdbcSpec::Derby::Column)
+            col.extend(::JdbcSpec::Derby::Column)
           else
-            col.extend(JdbcSpec::DB2::Column)
+            col.extend(::JdbcSpec::DB2::Column)
           end }
       }
 
@@ -342,20 +342,20 @@
 
     class JdbcAdapter < AbstractAdapter
       ADAPTER_TYPES = {
-        /oracle/i => lambda{|cfg,adapt| adapt.extend(JdbcSpec::Oracle)},
-        /mimer/i => lambda{|cfg,adapt| adapt.extend(JdbcSpec::Mimer)},
-        /postgre/i => lambda{|cfg,adapt| adapt.extend(JdbcSpec::PostgreSQL)},
-        /mysql/i => lambda{|cfg,adapt| adapt.extend(JdbcSpec::MySQL)},
-        /sqlserver|tds/i => lambda{|cfg,adapt| adapt.extend(JdbcSpec::MsSQL)},
-        /hsqldb|\.h2\./i => lambda{|cfg,adapt| adapt.extend(JdbcSpec::HSQLDB)},
-        /derby/i => lambda{|cfg,adapt| adapt.extend(JdbcSpec::Derby)},
+        /oracle/i => lambda{|cfg,adapt| adapt.extend(::JdbcSpec::Oracle)},
+        /mimer/i => lambda{|cfg,adapt| adapt.extend(::JdbcSpec::Mimer)},
+        /postgre/i => lambda{|cfg,adapt| adapt.extend(::JdbcSpec::PostgreSQL)},
+        /mysql/i => lambda{|cfg,adapt| adapt.extend(::JdbcSpec::MySQL)},
+        /sqlserver|tds/i => lambda{|cfg,adapt| adapt.extend(::JdbcSpec::MsSQL)},
+        /hsqldb|\.h2\./i => lambda{|cfg,adapt| adapt.extend(::JdbcSpec::HSQLDB)},
+        /derby/i => lambda{|cfg,adapt| adapt.extend(::JdbcSpec::Derby)},
         /db2/i => lambda{|cfg,adapt|
           if cfg[:url] =~ /^jdbc:derby:net:/
-            adapt.extend(JdbcSpec::Derby)
+            adapt.extend(::JdbcSpec::Derby)
           else
-            adapt.extend(JdbcSpec::DB2)
+            adapt.extend(::JdbcSpec::DB2)
           end},
-        /firebird/i => lambda{|cfg,adapt| adapt.extend(JdbcSpec::FireBird)}
+        /firebird/i => lambda{|cfg,adapt| adapt.extend(::JdbcSpec::FireBird)}
 
       }
 

Modified: trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_mysql.rb (654 => 655)


--- trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_mysql.rb	2007-06-22 14:39:26 UTC (rev 654)
+++ trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_mysql.rb	2007-06-22 17:13:52 UTC (rev 655)
@@ -1,6 +1,6 @@
 require 'active_record/connection_adapters/abstract/schema_definitions'
 
-module JdbcSpec
+module ::JdbcSpec
   module MySQL
     def self.extended(adapter)
       adapter.execute("SET SQL_AUTO_IS_NULL=0")

Modified: trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_postgre.rb (654 => 655)


--- trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_postgre.rb	2007-06-22 14:39:26 UTC (rev 654)
+++ trunk/activerecord-jdbc/lib/jdbc_adapter/jdbc_postgre.rb	2007-06-22 17:13:52 UTC (rev 655)
@@ -246,6 +246,14 @@
       end
     end
 
+    def escape_bytea(s)
+      if s
+        result = ''
+        s.each_byte { |c| result << sprintf('\\\\%03o', c) }
+        result
+      end
+    end
+    
     def quote_column_name(name)
       %("#{name}")
     end

Modified: trunk/activerecord-jdbc/src/java/JdbcAdapterInternalService.java (654 => 655)


--- trunk/activerecord-jdbc/src/java/JdbcAdapterInternalService.java	2007-06-22 14:39:26 UTC (rev 654)
+++ trunk/activerecord-jdbc/src/java/JdbcAdapterInternalService.java	2007-06-22 17:13:52 UTC (rev 655)
@@ -231,7 +231,7 @@
                 } else if(metadata.storesLowerCaseIdentifiers()) {
                     table_name = table_name.toLowerCase();
                 }
-                ResultSet results = metadata.getColumns(null,null,table_name,null);
+                ResultSet results = metadata.getColumns(c.getCatalog(),null,table_name,null);
                 return unmarshal_columns(recv, metadata, results);
             } catch(SQLException e) {
                 if(c.isClosed()) {
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to