- https://github.com/nuttingd
You would need to use serializable isolation for this to hold true. Any isolation level less than serializable will use the snapshot that was active at the time of the select. In Postgres, even with the serializable…
import my_module This is compatible with `__all__` if you have your code broken down into smaller sub-modules and collect them in the main module as follows: # my_module/__init__.py from .submodule import * from…
> which makes a very simple concept vastly more confusing than it needs to be. Agreed. The concepts are all very simple. You can throw away all of the domain-specific terminology and reason about accounting theory with…
It's the accounting equation being represented in canonical form. A chart of accounts is visualized in the minds of an accountant as: Assets | Liabilities + Equity Accounts classified as assets are debit accounts (left…
I have read the docs plenty of times, but it never stuck for me until I read the (free!) PostgreSQL 14 Internals ebook: https://postgrespro.com/community/books/internals Quoted from Page 70: If you use the Serializable…
One caveat to serializable transactions in Postgres is that ALL concurrent transactions must be running with the SERIALIZABLE isolation level to protect against serialization anomalies. This is a bit jarring if you come…
> (Newspeak “Sprint and Goals”) Sprint "commitments" in my world. A single word with major psychological impacts.
The check constraint solution isn't a solution to the concurrency issue: it only prevents a negative balance. The balance would still be wrong for the whole range where balance > 0. Two (positive) deposits would not…
Pagination is harder than it seems to get right. I think pagination is only predictable under these conditions: 1) The offset used for the next fetch must be based on a pointer to a unique key. We can't rely on the…
You would need to use serializable isolation for this to hold true. Any isolation level less than serializable will use the snapshot that was active at the time of the select. In Postgres, even with the serializable…
import my_module This is compatible with `__all__` if you have your code broken down into smaller sub-modules and collect them in the main module as follows: # my_module/__init__.py from .submodule import * from…
> which makes a very simple concept vastly more confusing than it needs to be. Agreed. The concepts are all very simple. You can throw away all of the domain-specific terminology and reason about accounting theory with…
It's the accounting equation being represented in canonical form. A chart of accounts is visualized in the minds of an accountant as: Assets | Liabilities + Equity Accounts classified as assets are debit accounts (left…
I have read the docs plenty of times, but it never stuck for me until I read the (free!) PostgreSQL 14 Internals ebook: https://postgrespro.com/community/books/internals Quoted from Page 70: If you use the Serializable…
One caveat to serializable transactions in Postgres is that ALL concurrent transactions must be running with the SERIALIZABLE isolation level to protect against serialization anomalies. This is a bit jarring if you come…
> (Newspeak “Sprint and Goals”) Sprint "commitments" in my world. A single word with major psychological impacts.
The check constraint solution isn't a solution to the concurrency issue: it only prevents a negative balance. The balance would still be wrong for the whole range where balance > 0. Two (positive) deposits would not…
Pagination is harder than it seems to get right. I think pagination is only predictable under these conditions: 1) The offset used for the next fetch must be based on a pointer to a unique key. We can't rely on the…