The first ever SQL debugger – runs & visualizes your query step-by-step, every clause, condition, expression, incl. GROUP BY, aggregates / windows, DISTINCT (ON), subqueries (even correlated ones!), CTEs, you name it.
You can search for full or partial rows and see the whole query lineage – which intermediate rows from which CTEs/subqueries contributed to the result you're searching for.
Entirely offline & no usage of AI. Free in-browser version (using PGLite WASM), paid desktop version.
This is awesome! I’m work with a team of analysts and data engineers who own a pretty big snowflake data warehouse. We write a ton of dbt models and have a range of sql skill levels on the team. This would be the perfect way to allow more junior devs to build their skills quickly and support more complex models.
I would recommend you target data warehouses like snowflake and bigquery where the query complexity and thus value prop for a tool like this is potentially much higher.
Thank you, nice to get some idea validation from folks in the industry. For sure data warehouses are the top priority on my TODO list, I picked PG first because that's what I'm familiar with.
I can ping you via email when the debugger is ready, if you're interested. My email is in my profile
This would be incredible to understand why some queries execute slow; most of the time it's one of the steps in between that takes 99% of the execution time at our company. Do you record the time each step takes?
This is a great command everyone should know. We once had a long running database query that was blocking a pipeline (code was written in a week and of course became integral to operations). Ran it, 15 minutes of thinking, added a new index on an now important column, and cut the run time down from almost 30 minutes to 5 seconds.
You're onto the original idea I started out with! Unfortunately it's very difficult to correlate input SQL to an output query plan – but possible. It's definitely in future plans
Thanks for the suggestion! I am using https://github.com/tobymao/sqlglot, which magically supports most SQL dialects. And yes, support for DuckDB is also in future plans
Thanks! Would you mind sharing what would be your use cases?
At my job, all of our business logic (4 KLOC of network topology algorithms) is written in a niche query language, which we have been migrating to PostgreSQL. When an inconsistency/error is found, tracking it can take days, manually commenting out parts of query and looking at the results.
Thanks for the motivation to finish this as soon as possible :) I'm working on a basic landing page with screenshots/videos and a "get notified" button right now – shoot me an (empty, if you want) email (in profile) and I'll ping you as soon as it's ready
That was quick.
I wanted to be quick too, but learned that I was too eager and missed that the are optional fields to pick from. I then re-submitted with the same email (will it go through or you have uniqueness validation?) providing optional stuff this time.
Maybe play with positioning of the optional fields so they would be more apparent before submitting email address.
For now, yes, but I'll start working on adding support for all other DBs (especially OLAP) as soon as possible. The geberal approach is the same, I just have to handle all the edge cases of the SQL dialects
You can search for full or partial rows and see the whole query lineage – which intermediate rows from which CTEs/subqueries contributed to the result you're searching for.
Entirely offline & no usage of AI. Free in-browser version (using PGLite WASM), paid desktop version.
No website yet, here's a 5 minute showcase (skip to middle): https://www.loom.com/share/c03b57fa61fc4c509b1e2134e53b70dd