Postgres and the Perils of Abstraction
It only matters whe it affects me — Every #CowboyDeveloper Ever Isolation Levels You know about that the default isolation level in Postgres is “ Read Committed ”, right? You do? Well good for you Genius, ‘cos I sure as hell didn’t. But first, a digression. Isolation Levels , in a database, refer to the various ways in which concurrent transactions can impact each other. Say I’m read -ing a bunch-a data from the database, and database, and during this you update one of the records, what happens? • Do I see the data before your update ? • Do I see the data after your update ? • If my read is actually a couple of table scans inside a single transaction, what happens? Do I get both the before and after version of the data? • Does my read just bork with a “ somebody is updating this table ” error? • Do I get a NullPointerException ? (Sorry. PoorJava humor. M...