From a20ea33ca66bafd38bfce1a73221384b8aa37170 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Tue, 5 Nov 2019 10:18:47 +0100 Subject: [PATCH] Fixed DatabaseFeatures.has_select_for_update_nowait on MariaDB 10.3+. Thanks Kola Erinoso for the report. --- django/db/backends/mysql/features.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/django/db/backends/mysql/features.py b/django/db/backends/mysql/features.py index 9aaae2b5daf..1d0cd365dbc 100644 --- a/django/db/backends/mysql/features.py +++ b/django/db/backends/mysql/features.py @@ -111,7 +111,11 @@ class DatabaseFeatures(BaseDatabaseFeatures): def has_select_for_update_skip_locked(self): return not self.connection.mysql_is_mariadb and self.connection.mysql_version >= (8, 0, 1) - has_select_for_update_nowait = property(operator.attrgetter('has_select_for_update_skip_locked')) + @cached_property + def has_select_for_update_nowait(self): + if self.connection.mysql_is_mariadb: + return self.connection.mysql_version >= (10, 3, 0) + return self.connection.mysql_version >= (8, 0, 1) @cached_property def needs_explain_extended(self):