From 889e1bd15f7cb354b1e19dd58eb619eb91c59114 Mon Sep 17 00:00:00 2001 From: Andrew Bogott Date: Sun, 9 Aug 2020 14:54:57 -0500 Subject: [PATCH 1/2] du sql query: eliminate use of count(a.*) The particular syntax count(a.*) in this query doesn't parse on mariadb (or, presumably, mysql). Counting a.uid is equivalent; we can be confident that there aren't any rows without uid set because the query includes 'a.uid is not NULL'. Addresses https://github.com/wamdam/backy2/issues/71 --- src/backy2/meta_backends/sql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backy2/meta_backends/sql.py b/src/backy2/meta_backends/sql.py index 26ed494..f1fc13b 100644 --- a/src/backy2/meta_backends/sql.py +++ b/src/backy2/meta_backends/sql.py @@ -254,7 +254,7 @@ def du(self, version_uid): # find real blocks statement = text(""" - select a.uid, a.size, count(a.*) own_shared, + select a.uid, a.size, count(a.uid own_shared, (select count(*) cnt from blocks where uid=a.uid) shared from blocks a where a.version_uid=:version_uid From 7e5fe9b3c6062787d31d9a7e2480a660954296e0 Mon Sep 17 00:00:00 2001 From: Andrew Bogott Date: Tue, 19 Jan 2021 11:59:53 -0600 Subject: [PATCH 2/2] Add missing wane --- src/backy2/meta_backends/sql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backy2/meta_backends/sql.py b/src/backy2/meta_backends/sql.py index f1fc13b..2a4ac67 100644 --- a/src/backy2/meta_backends/sql.py +++ b/src/backy2/meta_backends/sql.py @@ -254,7 +254,7 @@ def du(self, version_uid): # find real blocks statement = text(""" - select a.uid, a.size, count(a.uid own_shared, + select a.uid, a.size, count(a.uid) own_shared, (select count(*) cnt from blocks where uid=a.uid) shared from blocks a where a.version_uid=:version_uid