7.6 Release Notes
Note
To deploy a SingleStoreDB 7.6 cluster, refer to the Deploy SingleStoreDB Guide.
To make a backup of a database in this release or to restore a database backup to this release, follow this guide.
Release Highlights
Note
For a list of all new features and bug fixes, see the maintenance release changelog.
Storage and Transaction Management
New Feature:Point-in-time recovery (PITR) has moved from preview to production status, and is now supported for production use cases.
Enhancement: By default, all backups are now lock-free. Distributed write transactions no longer have to wait when a backup starts.
New Feature: Added support on Google Cloud Storage (GCS), as a preview feature, for unlimited storage databases and point-in time recovery (PITR).
New Feature: Added support on Azure for unlimited storage databases and point-in time recovery (PITR).
New feature: Introduced row-level decompression for the string data type which will increase performance on reads against columnstore tables. Before this improvement, decompression occurred on the order of blocks of data which consists of 4096 rows.
New Feature: Added support for cross-database
INSERT...SELECT
into columnstore temporary tables.Enhancement: Allow spilling hash
GROUP BY
operator.New Feature: Added support for SELECT ... INTO AZURE. This command supports the
WITH COMPRESSION
option, which is described in the next release note.New Feature: Added the
WITH COMPRESSION
option to SELECT … INTO FS, SELECT … INTO GCS , and SELECT … INTO S3.WITH COMPRESSION
writes theSELECT
query results, in compressed .gzip files, to an object store.
Programmability and Query Processing
New Feature: Added support for new vector functions, namely JSON_ARRAY_UNPACK, SCALAR_VECTOR_MUL, VECTOR_ADD, and VECTOR_MUL.
New Feature: Added support for the current user security model in stored procedures. In this model, when the current user executes a stored procedure, the stored procedure is executed using the security permissions of that user.
New Feature: Added support for external functions, as a preview feature. An external function calls code that is executed outside of a SingleStore database. For more information, see CREATE [OR REPLACE] EXTERNAL FUNCTION.
Enhancement: Improved full-text filter performance when used with other secondary hash index filters. For highly selective full-text filters, the improvement in execution speed can be 10 times faster.
Enhancement: Introduced new logic to determine when to evict a compiled image of a query plan. The logic will sort on the oldest number of plans while considering the explicitly set memory limit usage of each plan. The feature is disabled by default. To enable the logic, the engine variable
enable_compiled_images_eviction
must be set to ON. The engine variablecompiled_images_eviction_memory_limit_mb
is used to set the memory limit.New Feature: Added a new function, JSON_KEYS, which returns the top-level keys of a JSON object in the form of a JSON array. Optionally, if a keypath is defined, returns the top-level keys from the keypath.
Enhancement: Added support for more query shapes with
FULL JOIN
or correlated subselects when reference tables are involved. Prior to this release, these query shapes would hit a lockdown error.New Feature: Added support for query shapes that include repartitioned subqueries containing
SELECT
statements with aggregated column(s) without aGROUP BY
clause. Prior to this release, these query shapes would hit a lockdown error.New Feature: Added support for
LEFT JOIN
when the left table is a reference table without a primary key. Prior to this release, this query shape would hit a lockdown error.Enhancement: Improved query execution for repartition
DELETE FROM ...LIMIT
and broadcastLEFT JOIN
.Enhancement: Improved selectivity estimate for
RIGHT JOIN
query shapes when doingBloomFilter
decision. See Query Plan Operations for a detailed explanation ofBloomFilter
and other filtering methods.Enhancement: Improved query performance using
SORT KEY()
andKEY () WITH CLUSTERED COLUMNSTORE
columns with integer data types.Enhancement: Added
password_expiration
column toinformation_schema.USERS
table. If thepassword_expiration_seconds
engine variable is not enabled, thepassword_expiration
column will be NULL. If thepassword_expiration_seconds
engine variable is enabled, thepassword_expiration
column will display the number of seconds remaining for the password to expire.Enhancement: Improved the performance of selective filters using string columns in columnstore tables.
New Feature: Added support for
UNION
between reference and sharded tables. Prior to this, this query shape would hit a lockdown error.Enhancement: Improved
EXPLAIN
output to clarify a result table for a broadcastLEFT JOIN
or for aMATERIALIZE_CTE
as they can have the same result table name. For broadcastLEFT JOIN
, a branch operator is added so that the branching operation on the shared result table is reflected. See Query Plan Operations for a detailed explanation of broadcasts and other distributed data movement.
Ingest
New Feature: Added support for transactions in Kafka pipelines.