From 58a0cfe9aa688a24b96fc8bf2ff90c2d6ff1699d Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sat, 9 Nov 2024 10:12:23 +0100 Subject: [PATCH] exmdb: resolve recalc_store_size SQL error for empty stores References: GXH-108 --- exch/exmdb/store2.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exch/exmdb/store2.cpp b/exch/exmdb/store2.cpp index 3b10c288f..e136d4cba 100644 --- a/exch/exmdb/store2.cpp +++ b/exch/exmdb/store2.cpp @@ -564,8 +564,8 @@ BOOL exmdb_server::recalc_store_size(const char *dir, uint32_t flags) auto comp = [&](proptag_t tag, const char *wh) { char query[240]; gx_snprintf(query, std::size(query), "REPLACE INTO store_properties " - "(proptag,propval) VALUES (%u, (SELECT SUM(message_size) " - "FROM messages WHERE %s))", + "(proptag,propval) VALUES (%u, (SELECT COALESCE((SELECT SUM(message_size) " + "FROM messages WHERE %s), 0)))", tag, wh); gx_sql_exec(idb, query); };