ACTUALIZACIÓN atómica .. SELECCIONAR en Postgres
Estoy construyendo un mecanismo de cola de clases. Hay filas de datos que necesitan procesamiento, y una marca de estado. Estoy usando unupdate .. returning
Cláusula para gestionarlo:
UPDATE stuff
SET computed = 'working'
WHERE id = (SELECT id from STUFF WHERE computed IS NULL LIMIT 1)
RETURNING *
¿Es la parte de selección anidada el mismo bloqueo que la actualización, o tengo una condición de carrera aquí? Si es así, ¿la selección interna necesita ser unaselect for update
?