A few design-pattern + check-my-understanding questions

That’s what I was calling a “witness” key. Sometimes you can re-use an existing field, like a last-modified or document-version field.

Other times, if the transaction is completing a work-item or command that is in a queue somewhere, and the transaction also deletes that entry from the command queue, you can use that as well…

Maybe this thread could be interesting as well: Implementing atomic DDL for SQL schema

This is a feature of the .NET Binding. I wrote it because I needed it and nothing like that was available in fdb out of the box at the time.

I don’t know how I would have been able to build complex layers without this, so it’s a mystery to me how everyone else is able to do it “in the blind” :slight_smile:

I hope that either this come as a native feature of the C client library some day, or that authors of other bindings will port it to their language. It’s not very complex to do and the code for this part can be found here and the ASCII-art goodness can be found here