Ditto 1.1.7
ScopedWriteTransaction.hpp
1#ifndef _DITTO_SCOPED_WRITE_TRANSACTION_
2#define _DITTO_SCOPED_WRITE_TRANSACTION_
3
4#include "DocumentId.hpp"
5#include "Helpers.hpp"
6#include "WriteStrategy.hpp"
7#include "WriteTransaction.hpp"
8#include "WriteTransactionPendingCursorOperation.hpp"
9#include "WriteTransactionPendingIDSpecificOperation.hpp"
10
11#include "json.hpp"
12#include "safer_ffi_utils.hpp"
13
14#include <string>
15
16namespace ditto {
17class DittoHandleWrapper;
18
24 friend class WriteTransaction;
27
28 WriteTransaction &base_transaction;
29
31 WriteTransaction &base_transaction);
32
33public:
37 std::string collection_name;
38
50 WriteStrategy write_strategy = WriteStrategy::merge) const;
51
68 bool is_default = false) const DITTO_DEPRECATED;
69
85 WriteStrategy write_strategy =
86 WriteStrategy::overwrite) const DITTO_DEPRECATED;
87
99
108
117 WriteTransactionPendingCursorOperation find(std::string query) const;
118
139 nlohmann::json query_args) const;
140};
141} // namespace ditto
142#endif
ScopedWriteTransaction exposes functionality that allows you to perform multiple operations on the st...
Definition: ScopedWriteTransaction.hpp:23
DocumentId insert(nlohmann::json content, DocumentId id=DocumentId(), bool is_default=false) const DITTO_DEPRECATED
Inserts a document into the scoped collection and returns the document's ID.
Definition: ScopedWriteTransaction.cpp:32
WriteTransactionPendingCursorOperation find_all() const
Generates a WriteTransactionPendingCursorOperation that can be used to update, remove or evict docume...
Definition: ScopedWriteTransaction.cpp:59
std::string collection_name
Definition: ScopedWriteTransaction.hpp:37
DocumentId insert_with_strategy(nlohmann::json content, DocumentId id=DocumentId(), WriteStrategy write_strategy=WriteStrategy::overwrite) const DITTO_DEPRECATED
Inserts a document into the scoped collection and returns the document's ID.
Definition: ScopedWriteTransaction.cpp:40
WriteTransactionPendingIDSpecificOperation find_by_id(DocumentId id) const
Generates a WriteTransactionPendingIDSpecificOperation with the provided document ID that can be used...
Definition: ScopedWriteTransaction.cpp:52
DocumentId upsert(nlohmann::json content, WriteStrategy write_strategy=WriteStrategy::merge) const
Inserts a new document into the collection and returns its ID. If the document already exists,...
Definition: ScopedWriteTransaction.cpp:21
WriteTransactionPendingCursorOperation find(std::string query) const
Generates a WriteTransactionPendingCursorOperation with the provided query that can be used to update...
Definition: ScopedWriteTransaction.cpp:64
WriteTransaction exposes functionality that allows you to perform multiple operations on the store wi...
Definition: WriteTransaction.hpp:25
These objects are returned when using find-like functionality on ScopedWriteTransactions....
Definition: WriteTransactionPendingCursorOperation.hpp:27
These objects are returned when ScopedWriteTransaction::find_by_id is called.
Definition: WriteTransactionPendingIDSpecificOperation.hpp:25
namespace for Niels Lohmann
Definition: json.hpp:82
basic_json<> json
default JSON class
Definition: json.hpp:2933
An identifier for a Document.
Definition: DocumentId.hpp:21