From 6116f4f885f9e5999a51acc9fe9b4f7af0b25434 Mon Sep 17 00:00:00 2001 From: James Campbell Date: Thu, 3 Jul 2025 02:08:45 -0400 Subject: [PATCH] Fix missing json default --- src/pgmon.py | 2 +- src/test_pgmon.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/pgmon.py b/src/pgmon.py index 58a4a9e..d184a67 100755 --- a/src/pgmon.py +++ b/src/pgmon.py @@ -426,7 +426,7 @@ def run_query_no_retry(pool, return_type, query, args): return "[]" return json.dumps([list(r.values())[0] for r in res], default=json_encode_special) elif return_type == "set": - return json.dumps(res) + return json.dumps(res, default=json_encode_special) except: dbname = pool.name if dbname in unhappy_cooldown: diff --git a/src/test_pgmon.py b/src/test_pgmon.py index 7e88c8d..1a86492 100644 --- a/src/test_pgmon.py +++ b/src/test_pgmon.py @@ -6,6 +6,7 @@ import tempfile import logging from decimal import Decimal +import json import pgmon @@ -805,3 +806,6 @@ metrics: self.assertRaises( TypeError, pgmon.json_encode_special, object ) + + # Make sure we can actually serialize a Decimal + self.assertEqual(json.dumps(Decimal('2.5'), default=pgmon.json_encode_special), '2.5')