Release Notes 4.17
The 4.17 release notes were released on April 23, 2026
Compatibility Matrix
System Requirement |
Details |
|---|---|
Supported OS |
RHEL 8.9 / 8.10 / 9.5 / 9.6 |
supported Nvidia driver |
CUDA version 12.3.2 / 12.6.1 / 12.9.1 / 13.0 |
Storage version |
101 |
New Features
► Add comment per column - Allow adding descriptive metadata to table and columns.
► Native HDFS Partition Support - Enable HDFS partitioning on foreign/external tables.
► Compression enhancements - Full nvcomp support.
► MCP interface support - allows you to query your data using natural language, using Claude as LLM. Please see MCP documentation.
► Add ANY syntax to Saved Query parameters should allow a dynamic IN list. Please see Saved Query.
► Add support for casting TEXT_TO_ARRAY. Please see casting TEXT_TO_ARRAY.
► (From 4.17.1.2) Support license reloading during system activity. Please see RELOAD LICENSE.
► (From 4.17.1.3) New utility function for checking a column’s chunk index against the table’s real chunks. Please see VALIDATE CHUNKS INDEXES.
► (From 4.17.1.4) The metadata server handles read-only requests on a parallel queue, reducing the delay before a statement is assigned to an execution worker. Three new flags tune it: metadataReadPoolEnabled, metadataReadPoolSize, and metadataMaxPendingDeletes (SQ-23114).
► (From 4.17.1.4) The default value of the slowMessageLogWarningSec flag is now 1 second, lowered from 5 seconds, so the metadata server logs slow messages more readily (SQ-23114).
► (From 4.17.1.6) New PIVOT ARRAY and UNPIVOT ARRAY syntax, which pivots into a single array column instead of one column per value. Because they produce one column per aggregation rather than one per value, their value lists are not bounded by the maximum number of columns. Please see PIVOT ARRAY & UNPIVOT ARRAY (SQ-23132).
► (From 4.17.3) Large IN lists are compiled as an inner join against the listed values instead of a chain of equality comparisons, reducing compilation time. The new inListJoinThreshold flag sets the number of values above which this applies, defaulting to 100 (SQ-23033).
Utility Function Permissions
The following utility functions no longer require the SUPERUSER permission:
* GET CHUNK INFO
* GET EXTENT INFO
* SHOW CONNECTIONS
* SHOW NODE INFO
* SHOW SERVER STATUS
Known Issues
Using Grant operation on a specific UDF function fail.
Percentile is not supported for Window Functions
The Node.JS connector does not support ARRAY data types.
Version 4.17 resolved Issues
SQ No. |
Description |
|---|---|
SQ-20823 |
Data sorting query failed in particular circumstances |
SQ-20981 |
DELETE WHERE EXISTS failed when adding another condition |
SQ-21140 |
New utility functions for rechunking encrypted columns |
SQ-21283 |
Improve Saved Query runtime |
SQ-21395 |
Improve metadata performance |
SQ-21412 |
Enhanced loading of multiple ORC files |
SQ-21456 |
Fix the server status output on all available services |
SQ-21479 |
Improved schema information display in Studio |
SQ-21518 |
Resolved runtime error when copying from ORC after copy to ORC |
SQ-21596 |
Improved handling of permission checks on delete operations |
SQ-21609 |
Tables with special characters failing recompilation and cleanup operations |
SQ-21631 |
Improve DELETE performance when joining large tables with empty tables |
SQ-21760 |
Improve compilation runtime |
SQ-21843 |
Saved Query parameters support a dynamic IN list |
SQ-22281 |
Cross-database operations with identity or sequence columns |
SQ-22345 |
Improved reliability when accessing files across databases |
SQ-22399 |
Stability improvements for UNNEST join query compilation |
SQ-22442 |
Resolved COUNT window function compilation error |
SQ-22588 |
Worker memory usage improvements |
SQ-22608 |
Resolved window function query internal runtime error |
SQ-22621 |
Enhanced performance when querying sqream_catalog.chunks |
SQ-22710 |
Delete execution plan no longer includes inappropriate rechunk producer |
SQ-22739 |
Improved post statement memory release |
SQ-22755 |
Improved cleanup_chunks performance |
SQ-22756 |
Improved performance for sqream_catalog.metadata_partitions queries |
SQ-22830 |
S3 connectivity endpoint flag wasn’t enforced correctly |
SQ-22838 |
Cleanup extents mechanism improvement |
SQ-23030 |
(v4.17.1.2) Resolved compile error when querying a catalog table across databases |
SQ-23034 |
(v4.17.1.2) Table and column comments now returned to JDBC clients such as DBeaver |
SQ-23040, SQ-23075 |
(v4.17.1.2) Improved compilation time for INSERT INTO VALUES with very long strings |
SQ-23052 |
(v4.17.1.2) Improved memory management during query execution |
SQ-23054 |
(v4.17.1.2) Improved performance when loading tables by cluster |
SQ-20848 |
(v4.17.1.3) Improved compilation time for statements with a large IN list |
SQ-23027 |
(v4.17.1.3) Improved RECHUNK performance on tables that use CLUSTER BY |
SQ-23026 |
(v4.17.1.4) Resolved a runtime error when querying a table after adding a TEXT column |
SQ-23078 |
(v4.17.1.4) Improved error messages for failed inserts, including mismatched column order |
SQ-23096 |
(v4.17.1.4) Resolved a compilation error when concatenating TEXT array literals |
SQ-23114 |
(v4.17.1.4) Improved metadata server response times during login and read requests |
SQ-21508 |
(v4.17.1.5) Improved configuration flag lookup time, reducing statement pending time |
SQ-22909 |
(v4.17.1.5) Improved worker logging and statement teardown, reducing intermittent delays |
SQ-23029 |
(v4.17.1.5) Abandoned statements no longer hold execution slots |
SQ-23071 |
(v4.17.1.5) Improved memory management when loading chunk indexes for filtered columns |
SQ-23080 |
(v4.17.1.5) Table and column comments are returned in full for multi-byte characters |
SQ-23093 |
(v4.17.1.5) Resolved an execution error when merging arrays larger than 2 GB |
SQ-23129 |
(v4.17.1.5) Improved UPDATE performance by applying partial metadata filters |
SQ-22805 |
(v4.17.1.6) Worker thread pool returns threads after a burst, improving resource use |
SQ-23041 |
(v4.17.1.6) Node info is recorded reliably for concurrent statements |
SQ-23111 |
(v4.17.1.6) Statements are assigned to workers in turn, improving load distribution |
SQ-23130 |
(v4.17.1.6) Corrected row count calculation in node info worker log output |
SQ-23148 |
(v4.17.3) Improved chunk sizing when a join duplicates TEXT values, improving performance |
Deprecation
► Flag inListLimit deprecated
As of version 4.17.3, the inListLimit flag is no longer enforced. It previously capped the number of values
permitted in an IN list and failed the statement with an error when the list was longer. Long lists are now
compiled as a join against the listed values instead, so the cap is no longer needed. The flag remains settable,
and sessions that set it are unaffected.
► Flag maxBlobSizeNetworkInsert depracted
Instead use maxBlobSize
► Column DDL permission
Column DDL permission is now deprecated as its functionality is fully included within the table DDL permission. Upon upgrading to this version, all existing column DDL permissions will be automatically revoked.
If you are upgrading from a release using the old behavior, please contact SQream support prior to performing the upgrade.
► Haskell CLI
Starting October 2024, support for the Haskell CLI is discontinued, and it is replaced by the Multi Platform CLI that is compatible with the Haskell CLI with the added value of Table-View and cross platform compatibility.
► CentOS Linux 7.x
As of June 2024, CentOS Linux 7.x has reached its End of Life and is no longer supported by SQreamDB.
► DateTime2 Alias
As of April 2025, the alias DateTime2 for the DateTime Data Type has been deprecated to simplify our data model and make way for the introduction of a new data type named DateTime2.
Upgrading to Version 4.17
Upgrading to this version requires an additional infrastructure, to support some of it’s functionality. The requirements are listed below. In addition, it is required to perform a storage upgrade according to the listed process.
Additional packages
Please see additional installation requirements for In-process functions in this page
Storage upgrade
Generate a back-up of the metadata by running the following command:
select backup_metadata('out_path');Tip
SQreamDB recommends storing the generated back-up locally in case needed.
SQreamDB runs the Garbage Collector and creates a clean backup tarball package.
Shut down all SQreamDB services.
Copy the recently created back-up file.
Replace your current metadata with the metadata you stored in the back-up file.
Navigate to the new SQreamDB package bin folder.
Run the following command:
./upgrade_storage <levelDB path>
Note
Upgrading from a major version to another major version requires you to follow the Upgrade Storage step. This is described in Step 7 of the Upgrading SQreamDB Version procedure.