2

In Golang, database/sql package, there is a constant such as LevelWriteCommitted for the IsolationLevel type https://pkg.go.dev/database/sql#IsolationLevel

What is the purpose of this level? There is no such level among well-known ones.

Googling and searching through the docs didn’t turn up any clear explanation.
The source code in the package https://cs.opensource.google/go/go/+/refs/tags/go1.25.3:src/database/sql/sql.go;l=131
refers to the wikipeadia https://en.wikipedia.org/wiki/Isolation_%28database_systems%29#Isolation_levels
but that article doesn’t mention anything called "Write Committed".

Can anyone give any description/example of usage?

0

1 Answer 1

0

Found RocksDB has WriteCommitted "write policy".

Seems it's basically Read Committed isolation level with extra protection that prevents other transactions from INTENTIONALLY dirty reading intermediate state by Read Uncommitted isolation level.

From https://github.com/facebook/rocksdb/wiki/WritePrepared-Transactions,

With WriteCommitted write policy, the data is written to the memtable only after the transaction commits. This greatly simplifies the read path as any data that is read by other transactions can be assumed to be committed.

... the writes are buffered in memory in the meanwhile.

Moreover this write policy cannot provide weaker isolation levels, such as READ UNCOMMITTED, ...

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.