diff --git a/datadog_checks_base/datadog_checks/base/utils/db/utils.py b/datadog_checks_base/datadog_checks/base/utils/db/utils.py index 78f4f95e61b46..b36b0dfcf013f 100644 --- a/datadog_checks_base/datadog_checks/base/utils/db/utils.py +++ b/datadog_checks_base/datadog_checks/base/utils/db/utils.py @@ -182,6 +182,9 @@ def default_json_event_encoding(o): def obfuscate_sql_with_metadata(query, options=None): + if not query: + return {'query': None, 'metadata': {}} + def _load_metadata(statement): try: statement_with_metadata = json.loads(statement) diff --git a/datadog_checks_base/tests/base/utils/db/test_util.py b/datadog_checks_base/tests/base/utils/db/test_util.py index 3e498e481b1ca..f2eaf37e5c1ab 100644 --- a/datadog_checks_base/tests/base/utils/db/test_util.py +++ b/datadog_checks_base/tests/base/utils/db/test_util.py @@ -159,6 +159,11 @@ def _mock_obfuscate_sql(query, options=None): ) assert statement == expected_value + # Check that it can handle null values + statement = obfuscate_sql_with_metadata(None) + assert statement['query'] is None + assert statement['metadata'] == {} + class TestJob(DBMAsyncJob): def __init__(self, check, run_sync=False, enabled=True, rate_limit=10, min_collection_interval=15):