From 5578bd7e1591e5f5ae54364ec9a420a77975faf9 Mon Sep 17 00:00:00 2001 From: Fernando Fontes Date: Wed, 1 Oct 2025 08:25:33 +0100 Subject: [PATCH] cloudflare d1 support --- client/app/assets/images/db-logos/d1.png | Bin 0 -> 13415 bytes redash/query_runner/d1.py | 175 +++++++++++++++++++++++ redash/settings/__init__.py | 1 + 3 files changed, 176 insertions(+) create mode 100644 client/app/assets/images/db-logos/d1.png create mode 100644 redash/query_runner/d1.py diff --git a/client/app/assets/images/db-logos/d1.png b/client/app/assets/images/db-logos/d1.png new file mode 100644 index 0000000000000000000000000000000000000000..b0682e68e4ef4134a4f6d468b8b0a99c7cab2551 GIT binary patch literal 13415 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 pH^cv*-3