Ejemplo n.º 1
0
    TEST(Options, RepeatedKeysFail) {

        IndexSpec spec;
        spec.addKey("aField");

        ASSERT_UASSERTS(spec.addKey("aField"));

        const BSONObj fields = BSON("someField" << 1 << "aField" << 1 << "anotherField" << 1);
        ASSERT_UASSERTS(spec.addKey(fields.getField("aField")));
        ASSERT_UASSERTS(spec.addKeys(fields));
    }
Ejemplo n.º 2
0
Status ShardLocal::createIndexOnConfig(OperationContext* txn,
                                       const NamespaceString& ns,
                                       const BSONObj& keys,
                                       bool unique) {
    invariant(ns.db() == "config" || ns.db() == "admin");

    try {
        DBDirectClient client(txn);
        IndexSpec index;
        index.addKeys(keys);
        index.unique(unique);
        client.createIndex(ns.toString(), index);
    } catch (const DBException& e) {
        return e.toStatus();
    }

    return Status::OK();
}