A.L.E.C wrote:
As far as I can see 'SELECT ... FOR UPDATE' is an SQL92 standard, so I added that.
As I know it's not supported by mssql and sqlite, so we need probably a check for db type.
We could modify the session table, or create an extra session_vars table, to hold 'key=>value' pairs. Then remember what we got with rcube_sess_read, do a diff at rcube_sess_write, and insert/update/delete only the keys that were changed in that process.
The only possible race left, as far as I see now, is when two concurrent processes modify the same key variables.
I'd like submit the patch I made but without the 'FOR UPDATE', so we can close #1485659 and make some people happy. We can have some more thoughts about the above later. OK?
Robin
List info: http://lists.roundcube.net/dev/