Ditto 4.13.1
 
Loading...
Searching...
No Matches
ScopedWriteTransaction.hpp
1#ifndef DITTO_SCOPED_WRITE_TRANSACTION_H
2#define DITTO_SCOPED_WRITE_TRANSACTION_H
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
26class DITTO_DEPRECATED_BECAUSE(
27 "Use DQL (Ditto Query Language) instead. For more information see: "
28 "https://ditto.com/link/legacy-to-dql-guide") ScopedWriteTransaction {
29 DITTO_DISABLE_DEPRECATED_WARNINGS("The legacy query API is deprecated")
30
31 friend class WriteTransaction;
32 friend class WriteTransactionPendingCursorOperation;
33 friend class WriteTransactionPendingIDSpecificOperation;
34
35 WriteTransaction &base_transaction; // NOLINT
36
37 ScopedWriteTransaction(std::string collection_name,
38 WriteTransaction &base_transaction);
39
40public:
44 // TODO(v5): make collection_name private and provide getter
45 std::string collection_name; // NOLINT
46
57 DocumentId upsert(nlohmann::json content,
58 WriteStrategy write_strategy = WriteStrategy::merge) const;
59
70 WriteTransactionPendingIDSpecificOperation find_by_id(DocumentId id) const;
71
79 WriteTransactionPendingCursorOperation find_all() const;
80
89 WriteTransactionPendingCursorOperation find(std::string query) const;
90
110 WriteTransactionPendingCursorOperation find(std::string query,
111 nlohmann::json query_args) const;
112
113 DITTO_REENABLE_WARNINGS
114};
115} // namespace ditto
116#endif
WriteTransactionPendingCursorOperation find_all() const
Generates a WriteTransactionPendingCursorOperation that can be used to update, remove or evict docume...
std::string collection_name
Definition ScopedWriteTransaction.hpp:45
WriteTransactionPendingCursorOperation find(std::string query, nlohmann::json query_args) const
Generates a WriteTransactionPendingCursorOperation with the provided query that can be used to update...
WriteTransactionPendingIDSpecificOperation find_by_id(DocumentId id) const
Generates a WriteTransactionPendingIDSpecificOperation with the provided document ID that can be used...
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,...
WriteTransactionPendingCursorOperation find(std::string query) const
Generates a WriteTransactionPendingCursorOperation with the provided query that can be used to update...
Namespace for the Ditto C++ SDK types and functions.
Definition AbstractDocumentPath.hpp:19
WriteStrategy
Definition WriteStrategy.hpp:17
@ merge
Definition WriteStrategy.hpp:22
An identifier for a Document.
Definition DocumentId.hpp:23