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.

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 …