Release notes
Firebolt continuously releases updates so that you can benefit from the latest and most stable service. These updates might happen daily, but we aggregate release notes to cover a longer time period for easier reference. The most recent release notes from the latest version are below.
- See the Release notes archive for earlier-version release notes.
Firebolt might roll out releases in phases. New features and changes may not yet be available to all accounts on the release date shown.
Firebolt Release Notes - Version 4.15
New Features
Improved EXPLAIN (STATISTICS)
to include estimated row counts and column distinct counts
The EXPLAIN (STATISTICS) function now provides estimated row counts and column distinct counts, when available. This enhancement offers more detailed insights for analyzing query performance.
Added a Tableau connector for the current version of Firebolt
Tableau is a visual analytics platform that empowers users to explore, analyze, and present data through interactive visualizations. The current Firebolt connector in Tableau Exchange supports only an older version of Firebolt. You can now download the latest connector directly from Firebolt and integrate it with Tableau Desktop or Tableau Server. Follow the installation instructions in Integrate with Tableau to set up the updated connector.
Added a DBeaver connector for the current version of Firebolt
DBeaver is a free, open-source database administration tool that supports multiple database types, provides a graphical interface for managing databases, running queries, and analyzing data. You can now connect to DBeaver using the Firebolt JDBC driver. Follow the instructions in Integrate with DBeaver to set up a connection to DBeaver.
Added the Firebolt Resource Center to the Firebolt Workspace
The Firebolt Resource Center is now accessible from the Firebolt Workspace. Select the Firebolt icon in the bottom-right corner to access resources including the Get started guide, Knowledge Center, Documentation, Release notes, Announcements, and a unified search tool covering all Firebolt resources.
Performance Improvements
Optimized LEFT JOIN
conversion for better query performance
A nested LEFT JOIN
can now be automatically replaced with a more efficient join when its results are not needed due to filtering in a later step. This optimization occurs when a LEFT JOIN
removes rows where the right-hand side contains NULL
values, effectively discarding the extra rows introduced by the earlier LEFT JOIN
. In such cases, simplifying the join structure improves efficiency without altering query results. This conversion reduces unnecessary operations, lowering computational overhead and enhancing performance.
Improved performance by allowing multiple INSERT INTO <tbl> VALUES ...
statements to be combined in a single request
Workloads that send multiple consecutive INSERT INTO <tbl> VALUES ...
statements into the same table can now run much faster by sending all statements in a single request separated by semicolons. These statements are now automatically merged and processed together on the server within a single transaction, which means that either all of them succeed or fail. This improvement reduces network overhead and enhances performance for batch data insertion.
Updated duration_us
in information_schema.engine_running_queries
and information_schema.engine_query_history
to include total query time across Firebolt infrastructure
The duration_us
value in the system tables information_schema.engine_running_queries
and information_schema.engine_query_history
now reflects the complete time a query spends in the Firebolt infrastructure. Previously, it included only the time on the engine and did not consider retries. The duration now also accounts for time spent in gateway services and retries. For example, if a query activates a stopped engine, the start-up time is included in the query’s duration. This change provides a more accurate measurement of query duration, allowing users to better understand and optimize performance.
Behavior Changes
Use NULL
instead of empty strings for passing unset TVF parameters
Table-valued functions (TVFs) such as LIST_OBJECTS, READ_PARQUET, and READ_CSV that accept string named parameters like aws_access_key_id
and aws_role_arn
will no longer treat empty strings (''
) as unset arguments. The empty strings will instead be forwarded to the credential provider and may return errors. If you want to pass an explicitly unset parameter, use NULL
instead.
Bug Fixes
Resolved issue in distributed GROUP BY
and JOIN
planning
Resolved a bug in the optimization process for distributed GROUP BY
and JOIN
operators. This bug sometimes led to missed optimization opportunities and, in rare cases, incorrect results.
Fixed a bug in correlated EXISTS
subqueries that caused duplicated outer tuples in query results
Fixed a bug with non-trivial correlated EXISTS
subquery, which is a dependent subquery inside an EXISTS
condition that references a column from an outer query. An example of this kind of query follows:
SELECT *,
EXISTS(SELECT 1 FROM table2 where COALESCE(table2.col_1, table2.col_2) = table1.col_1)
FROM table1
Previously, if an outer table contained a value, and the inner table had two matching values, the outer table’s row would appear twice in the final result instead of just once. This happened because the query checked for matches individually for each row in the inner table, rather than treating the condition as a simple existence check.
This bug fix corrected this issue by ensuring that the EXISTS
condition only determines whether at least one match exists, without duplicating rows in the outer table. Now, each row in the outer table correctly appears once, with TRUE
if a match exists and FALSE
otherwise, improving the accuracy of query results.