MCPcopy Create free account
hub / github.com/FoundationDB/fdb-document-layer / findOrCreate

Method findOrCreate

src/QLContext.actor.cpp:189–199  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

187 void delref() override { ReferenceCounted<FDBPlugin>::delref(); }
188
189 Reference<DocumentDeferred> findOrCreate(Reference<DocTransaction> tr, DataKey const& key) {
190 ASSERT(key.size() > 1);
191 std::string documentPrefix = key.keyPrefix(2).toString();
192 auto deferredDocument = tr->deferredDocuments.find(documentPrefix);
193 if (deferredDocument == tr->deferredDocuments.end())
194 deferredDocument =
195 tr->deferredDocuments
196 .insert(std::make_pair(documentPrefix, Reference<DocumentDeferred>(new DocumentDeferred())))
197 .first;
198 return (*deferredDocument).second;
199 }
200
201 Future<Optional<DataValue>> get(Reference<DocTransaction> tr, DataKey key) override {
202 return FDBPlugin_get(key, tr);

Callers

nothing calls this directly

Calls 6

keyPrefixMethod · 0.80
findMethod · 0.80
endMethod · 0.80
sizeMethod · 0.45
toStringMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected