Bonjour
J'ai développé une appli avec datas stockées dans une bdd Postgres. Dans cette appli (multiutilisateurs), chaque utilisateur a accès aux datas qui apparaissent dans une fenêtre. Il peut donc les modifier à la volée et valider la modif via un bouton "modifier".
Et donc là j'ai voulu protéger 2 utilisateurs qui auraient l'idée de modifier la même data. J'ai donc procédé ainsi: dès que le premier modifie la valeur, je pose un lock via un select for update. Et si le second modife ladite valeur, la prise du lock remonte une exception que je récupère et je lui indique que la data est déjà en train d'être modifiée.
Donc ça ça marche super. Mais j'aimerais faire encore mieux et lui indiquer par qui elle est modifiée.
Et là est ma question: y a-t-il moyen de remonter la chaine et arriver au nom de l'utilisateur ayant posé un verrou sur une ligne X d'une table Y ? J'ai un peu regardé pg_lock mais c'est assez obscur...
Merci![]()
Partager