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