diff options
author | Benety Goh <benety@mongodb.com> | 2018-02-08 13:19:04 -0500 |
---|---|---|
committer | Benety Goh <benety@mongodb.com> | 2018-02-08 13:27:06 -0500 |
commit | 2e287a4bc99f3c774a5322eae477f626638c6a81 (patch) | |
tree | b777c139eac49e1e575ceed84d4b0be51ca9ebe3 /src/mongo/db/repl/apply_ops.idl | |
parent | 4cc459b6eec57202943fb56d79327f5731f2bfef (diff) | |
download | mongo-2e287a4bc99f3c774a5322eae477f626638c6a81.tar.gz |
SERVER-32913 add ApplyOpsCommandInfo
This consolidates the command option parsing and some metadata for the applyOps command.
Diffstat (limited to 'src/mongo/db/repl/apply_ops.idl')
-rw-r--r-- | src/mongo/db/repl/apply_ops.idl | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/mongo/db/repl/apply_ops.idl b/src/mongo/db/repl/apply_ops.idl new file mode 100644 index 00000000000..947aa543e46 --- /dev/null +++ b/src/mongo/db/repl/apply_ops.idl @@ -0,0 +1,68 @@ +# Copyright (C) 2018 MongoDB Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License, version 3, +# as published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +# As a special exception, the copyright holders give permission to link the +# code of portions of this program with the OpenSSL library under certain +# conditions as described in each individual source file and distribute +# linked combinations including the program with the OpenSSL library. You +# must comply with the GNU Affero General Public License in all respects for +# all of the code used other than as permitted herein. If you modify file(s) +# with this exception, you may extend this exception to your version of the +# file(s), but you are not obligated to do so. If you do not wish to do so, +# delete this exception statement from your version. If you delete this +# exception statement from all source files in the program, then also delete +# it in the license file. + +# applyOps IDL File + +global: + cpp_namespace: "mongo::repl" + +imports: + - "mongo/idl/basic_types.idl" + +structs: + ApplyOpsCommandInfoBase: + description: A document that represents an applyOps command. + immutable: true + strict: false + fields: + applyOps: + cpp_name: operations + type: array<object> + description: "The operations to apply" + + allowAtomic: + cpp_name: allowAtomic + type: bool + default: true + description: "If 'allowAtomic' is true, applyOps() determines if all the given + operations can be processed inside one WriteUnitOfWork. Set this flag + to false to disable this 'atomic' mode." + + alwaysUpsert: + cpp_name: alwaysUpsert + type: bool + default: true + description: "Affects update operations. Set 'alwaysUpsert' to false in the command + object to never insert a new document if no document matches the query + criteria in an update operation." + + preCondition: + cpp_name: preCondition + type: array<object> + optional: true + description: "applyOps supports checking the documents of existing collections + before proceeding to execute the given operations. This flag is set to + true if the 'preCondition' option is provided." |