I don't think any abstraction is possible. Postgres has 8 different
table-level locking modes, in addition to advisory locks and 4 row-level
lock modes. I would say any attempt to abstract that would remove
functionality, and that would not be convenient.

We are already suffering from an over-abstraction of locking -- we have
limited support for SELECT ... FOR UPDATE, but not SELECT ... FOR SHARE
(not to mention FOR NO KEY UPDATE and FOR KEY SHARE, which to be honest
probably aren't useful to call from an ORM). QuerySet.select_for_update has
an option to enable NO WAIT, but not SKIP LOCKED.

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/CACPudh0KQ4XW-2G71ZDx__g6AmUO5v6QDF7zWPdCAj_1Gnjeag%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to