1#ifndef _DITTO_SCOPED_WRITE_TRANSACTION_
2#define _DITTO_SCOPED_WRITE_TRANSACTION_
4#include "DocumentId.hpp"
6#include "WriteStrategy.hpp"
7#include "WriteTransaction.hpp"
8#include "WriteTransactionPendingCursorOperation.hpp"
9#include "WriteTransactionPendingIDSpecificOperation.hpp"
12#include "safer_ffi_utils.hpp"
17class DittoHandleWrapper;
23class ScopedWriteTransaction {
24 friend class WriteTransaction;
25 friend class WriteTransactionPendingCursorOperation;
26 friend class WriteTransactionPendingIDSpecificOperation;
28 WriteTransaction &base_transaction;
31 WriteTransaction &base_transaction);
50 WriteStrategy write_strategy = WriteStrategy::merge)
const;
71 WriteTransactionPendingCursorOperation
find_all()
const;
81 WriteTransactionPendingCursorOperation
find(std::string query)
const;
102 WriteTransactionPendingCursorOperation
find(std::string query,
103 nlohmann::json query_args)
const;
WriteTransactionPendingCursorOperation find_all() const
Generates a WriteTransactionPendingCursorOperation that can be used to update, remove or evict docume...
Definition ScopedWriteTransaction.cpp:40
std::string collection_name
Definition ScopedWriteTransaction.hpp:37
WriteTransactionPendingIDSpecificOperation find_by_id(DocumentId id) const
Generates a WriteTransactionPendingIDSpecificOperation with the provided document ID that can be used...
Definition ScopedWriteTransaction.cpp:33
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:45
An identifier for a Document.
Definition DocumentId.hpp:21