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.19
New Features
Added support for GROUPING SETS, ROLLUP and CUBE clauses
Expanded SQL support with the addition of GROUPING SETS
, ROLLUP
and CUBE
clauses for GROUP BY
operations. These clauses enable more flexible and efficient multi-level aggregations in a single query, simplifying complex reporting and analytics workflows.
GROUPING SETS
: Specify multiple groupings in a single query.ROLLUP
: Create subtotals that roll up from the most detailed level to a grand total.CUBE
: Generate subtotals for all combinations of a set of columns. These enhancements unlock more powerful data summarization directly within SQL.
Added COVAR_POP
, COVAR_SAMP
and CORR
functions
Added support for advanced statistical analysis directly in SQL with the introduction of the following aggregate functions:
COVAR_POP
: Calculates the population covariance between two sets of values.COVAR_SAMP
: Computes the sample covariance.CORR
: Returns the Pearson correlation coefficient. These functions enable deeper insight into relationships between variables, making it easier to perform in-database analytics without external tools.
Added ARRAY_INTERSECT function to find common elements in arrays
Added a new function ARRAY_INTERSECT
, which finds common elements across given arrays. This functionality simplifies operations that require comparing multiple arrays to identify shared items, enhancing data analysis capabilities.
Added the ability to attach a certificate’s public key to a service account using ALTER SERVICE ACCOUNT.
Added the ability to control an engine’s Auto VACUUM behavior
CREATE ENGINE
and ALTER ENGINE
statements now support an AUTO_VACUUM
parameter.
Performance Improvements
Reduced memory usage for the COPY TO
function with SINGLE_FILE=true
Memory usage was reduced when using the COPY TO
function with SINGLE_FILE=true
. This change optimizes performance and resource efficiency, especially for users dealing with large datasets.
Enabled RESULT
and SUBRESULT
cache to reuse query results between user interface and JDBC connector
The RESULT
and SUBRESULT
cache now reuses query results between those sent from the user interface and those sent from the JDBC connector. This improves performance by reducing redundant computations.
Rearchitected the Parquet reader for more predictable memory usage with external tables and the READ_PARQUET
function
We have significantly rearchitected our parquet reader. This should lead to more predictable memory usage when reading from external tables or using the READ_PARQUET
function and improve performance for many parquet workloads. More improvements, including bringing these changes to COPY FROM
, will follow in upcoming releases.
Improved join pruning to support more join types and pruning through window operators
Join pruning now supports almost any join between the table scan being pruned and the probe side of the join where pruning is applied. It now also supports pruning through window operators when the column used for pruning is included in all windows’ PARTITION BY
clause. This enhancement improves query performance by reducing unnecessary data processing.
Behavior Changes
Updated how ANY privileges are displayed in information_schema.object_privileges
The representation of privileges in the information_schema.object_privileges
has been updated so that all objects privileges granted to the user are explicitly enumerated. So usage any database on account
privilege will be expanded to:
- usage any database on account
- usage database db1
- usage database db2 …