diff --git a/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb b/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb index f2e168d..23ed44c 100755 --- a/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb +++ b/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb @@ -172,6 +172,11 @@ def adapter_name #:nodoc: def all_connections [@master_connection] + @read_connections end + + # Returns the raw_connection for master + def raw_connection + @master_connection.raw_connection + end # Get the pool weight of a connection def pool_weight(connection) diff --git a/spec/seamless_database_pool_adapter_spec.rb b/spec/seamless_database_pool_adapter_spec.rb index 150f3d7..4d5cda6 100755 --- a/spec/seamless_database_pool_adapter_spec.rb +++ b/spec/seamless_database_pool_adapter_spec.rb @@ -186,6 +186,11 @@ def columns (table_name, name = nil); end expect(master_connection).to receive(:columns).with(:table).and_return(:retval) pool_connection.columns(:table).should == :retval end + + it "#raw_connection returns the master raw_connection" do + expect(master_connection).to receive(:raw_connection).and_return(:base_connection) + pool_connection.raw_connection().should == :base_connection + end end context "fork to all connections" do