From b721632e71cc65c20eede0effba721e2e2eb5b87 Mon Sep 17 00:00:00 2001 From: Vincent Pelletier <vincent@nexedi.com> Date: Wed, 27 Apr 2022 11:54:18 +0900 Subject: [PATCH] CMFActivity: Prevent generation of meaningless LIMIT on SQL lock operations. --- product/CMFActivity/Activity/SQLBase.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/product/CMFActivity/Activity/SQLBase.py b/product/CMFActivity/Activity/SQLBase.py index 3ea2004454..55bc1043d7 100644 --- a/product/CMFActivity/Activity/SQLBase.py +++ b/product/CMFActivity/Activity/SQLBase.py @@ -100,14 +100,20 @@ def SQLLock(db, lock_name, timeout): """ lock_name = db.string_literal(lock_name) query = db.query - (_, ((acquired, ), )) = query('SELECT GET_LOCK(%s, %f)' % (lock_name, timeout)) + (_, ((acquired, ), )) = query( + 'SELECT GET_LOCK(%s, %f)' % (lock_name, timeout), + max_rows=0, + ) if acquired is None: raise ValueError('Error acquiring lock') try: yield acquired finally: if acquired: - query('SELECT RELEASE_LOCK(%s)' % (lock_name, )) + query( + 'SELECT RELEASE_LOCK(%s)' % (lock_name, ), + max_rows=0, + ) # sqltest_dict ({'condition_name': <render_function>}) defines how to render # condition statements in the SQL query used by SQLBase.getMessageList def sqltest_dict(): -- 2.30.9