RUBY-193 don't create gridfs indexes when slave_ok
This commit is contained in:
parent
048e9e6fbe
commit
afe8fe3167
|
@ -38,7 +38,10 @@ module Mongo
|
|||
@chunks = @db["#{fs_name}.chunks"]
|
||||
@fs_name = fs_name
|
||||
|
||||
@chunks.create_index([['files_id', Mongo::ASCENDING], ['n', Mongo::ASCENDING]], :unique => true)
|
||||
# Ensure indexes only if not connected to slave.
|
||||
unless db.connection.slave_ok?
|
||||
@chunks.create_index([['files_id', Mongo::ASCENDING], ['n', Mongo::ASCENDING]], :unique => true)
|
||||
end
|
||||
end
|
||||
|
||||
# Store a file in the file store. This method is designed only for writing new files;
|
||||
|
|
|
@ -39,8 +39,11 @@ module Mongo
|
|||
|
||||
@default_query_opts = {:sort => [['filename', 1], ['uploadDate', -1]], :limit => 1}
|
||||
|
||||
@files.create_index([['filename', 1], ['uploadDate', -1]])
|
||||
@chunks.create_index([['files_id', Mongo::ASCENDING], ['n', Mongo::ASCENDING]], :unique => true)
|
||||
# Ensure indexes only if not connected to slave.
|
||||
unless db.connection.slave_ok?
|
||||
@files.create_index([['filename', 1], ['uploadDate', -1]])
|
||||
@chunks.create_index([['files_id', Mongo::ASCENDING], ['n', Mongo::ASCENDING]], :unique => true)
|
||||
end
|
||||
end
|
||||
|
||||
# Open a file for reading or writing. Note that the options for this method only apply
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
require './test/test_helper'
|
||||
|
||||
class GridTest < Test::Unit::TestCase
|
||||
|
||||
context "GridFS: " do
|
||||
setup do
|
||||
@conn = stub()
|
||||
@db = DB.new("testing", @conn)
|
||||
@files = mock()
|
||||
@chunks = mock()
|
||||
|
||||
@db.expects(:[]).with('fs.files').returns(@files)
|
||||
@db.expects(:[]).with('fs.chunks').returns(@chunks)
|
||||
end
|
||||
|
||||
context "Grid classe with standard connections" do
|
||||
setup do
|
||||
@conn.expects(:slave_ok?).returns(false)
|
||||
end
|
||||
|
||||
should "create indexes for Grid" do
|
||||
@chunks.expects(:create_index)
|
||||
Grid.new(@db)
|
||||
end
|
||||
|
||||
should "create indexes for GridFileSystem" do
|
||||
@files.expects(:create_index)
|
||||
@chunks.expects(:create_index)
|
||||
GridFileSystem.new(@db)
|
||||
end
|
||||
end
|
||||
|
||||
context "Grid classes with slave connection" do
|
||||
setup do
|
||||
@conn.expects(:slave_ok?).returns(true)
|
||||
end
|
||||
|
||||
should "not create indexes for Grid" do
|
||||
Grid.new(@db)
|
||||
end
|
||||
|
||||
should "not create indexes for GridFileSystem" do
|
||||
GridFileSystem.new(@db)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue