the only way to do an "atomic increment operation" is to use the "Watch" command or to write stored procedure.
Watch is a poor man transaction and stored procedure does not work when you need to read value interactively from somewhere else (user/filesystem/another database) while inside a transaction.
You're literally describing INCR, it's atomic. But I know what you mean, you want atomic GET then SET which is done by WATCH.
I don't disagree with you about WATCH being less powerful than PG transactions. SQLite data types are less powerful than PG types but it's still a database.
Comments
the only way to do an "atomic increment operation" is to use the "Watch" command or to write stored procedure.
Watch is a poor man transaction and stored procedure does not work when you need to read value interactively from somewhere else (user/filesystem/another database) while inside a transaction.
You're literally describing INCR, it's atomic. But I know what you mean, you want atomic GET then SET which is done by WATCH.
I don't disagree with you about WATCH being less powerful than PG transactions. SQLite data types are less powerful than PG types but it's still a database.