7.6 Release Notes

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: 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 (SingleStore Self-Managed), SELECT … INTO GCS , and SELECT … INTO S3. WITH COMPRESSION writes the SELECT 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 variable compiled_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 a GROUP 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 broadcast LEFT JOIN.

  • Enhancement: Improved selectivity estimate for RIGHT JOIN query shapes when doing BloomFilter decision. See Query Plan Operations for a detailed explanation of BloomFilter and other filtering methods.

  • Enhancement: Improved query performance using SORT KEY() and KEY () WITH CLUSTERED COLUMNSTORE columns with integer data types.

  • Enhancement: Added password_expiration column to information_schema.USERS table. If the password_expiration_seconds engine variable is not enabled, the password_expiration column will be NULL. If the password_expiration_seconds engine variable is enabled, the password_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 broadcast LEFT JOIN or for a MATERIALIZE_CTE as they can have the same result table name. For broadcast LEFT 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

In this section

Last modified: October 12, 2023

Was this article helpful?