Title: [801] trunk/activerecord-jdbc: Raise ActiveRecord:: ActiveRecordError on SQLExceptions
Revision
801
Author
nicksieger
Date
2007-11-13 18:54:00 -0500 (Tue, 13 Nov 2007)

Log Message

Raise ActiveRecord::ActiveRecordError on SQLExceptions

Modified Paths


Diff

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


--- trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb	2007-11-13 22:02:26 UTC (rev 800)
+++ trunk/activerecord-jdbc/lib/active_record/connection_adapters/jdbc_adapter.rb	2007-11-13 23:54:00 UTC (rev 801)
@@ -370,7 +370,7 @@
         url    = ""
 
         unless driver && url
-          raise ArgumentError, "jdbc adapter requires driver class and url"
+          raise ::ActiveRecord::ConnectionFailed, "jdbc adapter requires driver class and url"
         end
 
         if driver =~ /mysql/i && url !~ /#{Regexp.quote(JdbcSpec::MySQL::URL_OPTIONS)}/

Modified: trunk/activerecord-jdbc/src/java/jdbc_adapter/JdbcAdapterInternalService.java (800 => 801)


--- trunk/activerecord-jdbc/src/java/jdbc_adapter/JdbcAdapterInternalService.java	2007-11-13 22:02:26 UTC (rev 800)
+++ trunk/activerecord-jdbc/src/java/jdbc_adapter/JdbcAdapterInternalService.java	2007-11-13 23:54:00 UTC (rev 801)
@@ -1005,7 +1005,8 @@
     }
 
     private static RuntimeException wrap(IRubyObject recv, Throwable exception) {
-        return recv.getRuntime().newArgumentError(exception.getMessage());
+        RubyClass err = recv.getRuntime().getModule("ActiveRecord").getClass("ActiveRecordError");
+        return (RuntimeException) new RaiseException(recv.getRuntime(), err, exception.getMessage(), false).initCause(exception);
     }
 
     private static ResultSet intoResultSet(IRubyObject inp) {

Modified: trunk/activerecord-jdbc/test/simple.rb (800 => 801)


--- trunk/activerecord-jdbc/test/simple.rb	2007-11-13 22:02:26 UTC (rev 800)
+++ trunk/activerecord-jdbc/test/simple.rb	2007-11-13 23:54:00 UTC (rev 801)
@@ -116,12 +116,13 @@
   end
 
   def test_reconnect
+    assert_equal 1, Entry.count
     @connection.reconnect!
     assert_equal 1, Entry.count
   end
 
   def test_connection_valid
-    assert_raises(ArgumentError) do
+    assert_raises(ActiveRecord::ActiveRecordError) do
       @connection.raw_connection.with_connection_retry_guard do |c|
         begin
           stmt = c.createStatement
@@ -134,8 +135,11 @@
   end
 
   def test_disconnect
+    assert_equal 1, Entry.count
     ActiveRecord::Base.clear_active_connections!
     assert !ActiveRecord::Base.connected?
+    assert_equal 1, Entry.count
+    assert ActiveRecord::Base.connected?
   end
 end
 
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to