Ejemplo n.º 1
0
    def test_hint(self):
        yield self.coll.create_index(qf.sort(qf.ASCENDING('x')))

        yield self.db.command("profile", 2)
        cnt = yield self.coll.count(hint=qf.hint(qf.ASCENDING('x')))
        self.assertEqual(cnt, 3)
        yield self.db.command("profile", 0)

        cmds = yield self.db.system.profile.count({"command.hint": {"x": 1}})
        self.assertEqual(cmds, 1)

        self.assertRaises(TypeError, self.coll.count, hint={'x': 1})
        self.assertRaises(TypeError, self.coll.count, hint=[('x', 1)])
Ejemplo n.º 2
0
    def test_Hint(self):
        # find() should fail with 'bad hint' if hint specifier works correctly
        self.assertFailure(self.coll.find({}, filter=qf.hint([('x', 1)])), OperationFailure)

        # create index and test it is honoured
        yield self.coll.create_index(qf.sort(qf.ASCENDING("x")), name="test_index")
        found_1 = yield self.coll.find({}, filter=qf.hint([('x', 1)]))
        found_2 = yield self.coll.find({}, filter=qf.hint(qf.ASCENDING("x")))
        found_3 = yield self.coll.find({}, filter=qf.hint("test_index"))
        self.assertTrue(found_1 == found_2 == found_3)

        # find() should fail with 'bad hint' if hint specifier works correctly
        self.assertFailure(self.coll.find({}, filter=qf.hint(["test_index", 1])), OperationFailure)
        self.assertFailure(self.coll.find({}, filter=qf.hint(qf.ASCENDING("test_index"))),
                           OperationFailure)
Ejemplo n.º 3
0
    def test_Hint(self):
        # find() should fail with 'bad hint' if hint specifier works correctly
        self.assertFailure(self.coll.find({}, filter=qf.hint([('x', 1)])),
                           OperationFailure)

        # create index and test it is honoured
        yield self.coll.create_index(qf.sort(qf.ASCENDING("x")),
                                     name="test_index")
        found_1 = yield self.coll.find({}, filter=qf.hint([('x', 1)]))
        found_2 = yield self.coll.find({}, filter=qf.hint(qf.ASCENDING("x")))
        found_3 = yield self.coll.find({}, filter=qf.hint("test_index"))
        self.assertTrue(found_1 == found_2 == found_3)

        # find() should fail with 'bad hint' if hint specifier works correctly
        self.assertFailure(
            self.coll.find({}, filter=qf.hint(["test_index", 1])),
            OperationFailure)
        self.assertFailure(
            self.coll.find({}, filter=qf.hint(qf.ASCENDING("test_index"))),
            OperationFailure)
Ejemplo n.º 4
0
    def test_Hint(self):
        # Ensure there is no {x:1} index
        yield self.coll.dropIndex([('x', 1)])

        # find() should fail with 'bad hint' if hint specifier works correctly
        self.assertFailure(self.coll.find({}, filter=qf.hint([('x', 1)])), OperationFailure)