Skip to main content

Query Analyzer with Explain and Table Structure - Release 1.4.1

· 3 min read
Ronald Pereira

Over the past few weeks, we've been working on strengthening Krater's DB Query Analyzer, completing another iteration in which we've managed to scan the structures of the tables involved in the queries as well as resolving various bugs. In this article, we're going to review each of the changes in this new release!

Table Structure from Your Queries!

In this new version of Krater, you'll be able to get the definition and structure of the tables involved when performing an EXPLAIN on your queries, so you can inspect your project's queries in greater detail:

Explain query with MySQL

We've been testing a large number of queries with the aim of finding bugs and realized that Krater was not capable of processing queries with subqueries. These errors have been fixed.

Table Structure and Indexes with MySQL, PostgreSQL, and SQLite

This feature is compatible with these three database management systems, and the data would be presented in each one as follows:

Table Structure and Indexes with MySQL

Table Structure with MySQL

Table Structure and Indexes with PostgreSQL

Table Structure with PostgreSQL

Table Structure and Indexes with SQLite

Table Structure with SQLite

As you may have noticed, each database management system has a different way of presenting and preparing data due to each DBMS having a different architecture. Nonetheless, conceptually this information serves to provide more context for the operations we are performing in the database.

Explain on SQLite Have Changed a Little

We decided to update the presentation of the EXPLAIN operation for SQLite databases after receiving various feedbacks. We concluded that perhaps it wasn't the best way to present that information because it was too low-level, so now we are opting for this format:

Explain with SQLite

Internally, this operation is reflected as:

EXPLAIN QUERY PLAN <SQL>

FIX: DSN Generation for MySQL

We noticed that certain users were unable to perform EXPLAIN on the previous release of Krater. Upon investigation, we found that there was a typo in the creation of the DSN (Data Source Name), which is a symbolic name representing an ODBC (Open Database Connectivity) connection. In short, user passwords were not being interpreted correctly, which has been resolved in this update.

FIX: Crashes and White Screens

We are aware that there were certain types of queries that could cause Krater to crash with a white screen when performing an EXPLAIN. We have strengthened error handling in this update, so in case of an error, your experience with Krater should not be interrupted.

Over the past few weeks, we've been working on the DB Query Analyzer, and our next step will be to work on the AI Query Assistant. If you haven't yet seen the conceptual demo of these features, you can watch it here:

That's all for now, connect with us on Discord and let us know what you think of Krater.

You can download and learn more about Krater on its official page. Don't miss out on the 15-day trial!

For the latest updates, breaking news, and important announcements, be sure to follow us on Twitter/X at @moonguard_dev. Stay connected and stay informed about all things MoonGuard.