Maintenance Release Changelog

2022-08-08 Version 7.8.10

  • Fixed an issue with unnecessary data sorting when single partition queries contain an ORDER BY clause. The sort is redundant because the data is sorted on the leaves for these types of queries.

  • Added support for s3_force_path_style to S3 backup. s3_force_path_style (optional boolean, defaults to true) specifies whether to use path style ( or virtual address style ( syntax when specifying the location of the bucket. For S3 compatible services that only support virtual address paths, specify "s3_force_path_style":"false" in the configuration options. Refer to the BACKUP DATABASE section for more information.

  • Fixed a crash caused by UPDATE statements with a joined table where the optimizer pushes the JOIN into a derived table whose name is automatically generated and different from the original table being updated.

  • Added support for a new AES encryption mode called CBC (cipher block chaining) for 128-bit and 256-bit keys. See AES_ENCRYPT for more information.

2022-08-01 Version 7.8.9

  • Added support for Negative Lookahead, Positive Lookahead, Non-greedy quantifiers, and Non-capturing group regular expressions.

  • Removed ability to use utf8_general_mysql500_ci collation. This collation is not supported by SingleStoreDB .

  • Fixed an issue with backing up an unlimited database. Backup could fail if the blob gets evicted from the blob cache during backup.

  • Improved the performance of the BACKUP command for unlimited databases.

  • Fixed an issue with window functions which refer to the window definition at the end of a SELECT statement.

  • Fixed an issue where large amounts of consecutive aborted messages were not being handled correctly in a Kafka pipeline.

  • Fixed an issue that may cause the HTTP API to become unresponsive under a highly concurrent workload.

  • Improved the Subselect To Join rewrite to recognize more cases with subselects in filter conditions for left join.

  • Added ability for users with SHOW_METADATA permission to be able to query Information_schema.mv_events.

  • Added a new system variable default_user_require_ssl. This variable will make REQUIRE SSL the default for all newly created users.

  • Added requirement that ALTER USER statements in privilege_transfer_mode now need GRANT permissions.

  • Fixed an issue causing some queries with table value functions to report the error, "Partition's table metadata has an unexpected table type," when flexible parallelism is enabled.

  • Fixed an error that was possible while querying information_schema.TABLE_STATISTICS.

  • Fixed incorrect behavior when dropping and adding a multicolumn columnstore hash index on the same set of columns in a single alter.

  • Fixed a crash when accessing a column by a different case-register than it was created with when using lmv_prospective_histogram.

2022-07-11 Version 7.8.8

  • Improved the performance of downloading blob files for unlimited databases when SSL is enabled between SingleStoreDB and the blobstore.

  • Increased the maximin number of parameters to 4,096 for external functions.

  • Added a global sync sysvar external_functions_batch_size to control the batch size when making external function calls (default is 512 rows).

  • Added ability to use backticks in column names.

  • Fixed an error when using certain DATE_FORMAT options via Tableau.

  • Fixed an issue where the incorrect backup size showed in mv_backup_history for incremental backups.

  • Fixed HDFS pipelines failures when loading from HA/BigIP clusters that advertise a different host name than the one used to connect.

  • Reduced the memory used by the blob cache by 100-200 bytes per cached blob.

  • Added support for 256-bit keys for AES_ENCRYPT and AES_DECRYPT functions.

  • Improved the performance of hash joins over expressions.

  • Added support for NOT NULL when using persisted computed columns.

2022-06-29 Version 7.8.7

  • Fixed a potential issue with transaction rolled back-mid query errors that may occur when a database name has a number suffix.

  • Added support for AWS EKS IRSA authentication for S3 pipelines.

  • Fixed an issue when specifying all columns in the SELECT command resulted in columns being out of order rather than matching the table definition.

  • Fixed a crash due to using the LINES TERMINATED BY clause when using INFER PIPELINE.

  • Fixed an issue that may cause information_schema.processlist to show “Sanitizing . . .“ instead of the actual query text.

  • Reduce the memory used to track cached blob files and run scans over columnstore tables.

  • Fixed a “missing table” error that may occur when creating a pipeline on a child aggregator instead of the master aggregator.

  • Added support for forwarding SHOW RESULT TABLES from child aggregators to the master aggregator when DDL forwarding is enabled.

  • Fixed an issue that may cause a deadlock when using the query SELECT INTO <objectstore> when flexible parallelism is enabled.

  • Fixed crashes that may occur when downloading blobs from Azure unlimited storage databases.

  • Fixed an issue where a syntax error would occur when running queries against reference tables with comments following the query text.

  • Added support for Reloading SSL Certs without having to restart the node.

2022-06-13 Version 7.8.6

  • Added the system variable enable_ir_cache. This variable allows the on-disk IR cache to be enabled or disabled.

  • Fixed a crash due to an unbounded recursion when in-lining a common table expression (CTE) that refers to another common table expression of the same name.

  • Added the ability to DROP TEMPORARY PROCEDURE on child aggregators when DDL forwarding is enabled.

2022-05-31 Version 7.8.5

  • Added the support of the highlight builtin on non-ASCII text.

  • Allowed the execution of pipeline DDL commands to be run inside stored procedures.

  • Fixed an issue that could cause an incorrect MAX_QUEUE_DEPTH output in SHOW RESOURCE POOLS command.

  • Added a new engine variable named columnstore_small_blob_combination_threshold that can be used to control the size of column files created by combining compressed columnstore segments. Its default value is 32 Mb (the previously hard-coded value in the engine).

2022-05-23 Version 7.8.4

  • Added request_payer value to CREATE PIPELINE configuration for S3 pipelines.

  • Fixed an issue where DROP FUNCTION would result in an unknown table error.

  • Fixed a server crash caused by a rewrite trying to inline nested expressions.


  • Fixed an issue where a deadlock may occur when a broadcast left join query encounters an error.

  • Added for compatibility with other databases:

    • Global engine variable: default_storage_engine.

    • Information schema field: information_schema.COLUMNS DATETIME_PRECISION.

  • Added the ability to set the level for JSON_COMPATIBILITY_LEVEL, which changes the behavior of JSON_SET_<type> so missing keys are created when JSON_COMPATIBILITY_LEVEL is set to 8.0.

  • Added support for creating encrypted HTTP connection links using SSL.

2022-05-09 Version 7.8.3

  • Updated the Data API functionality to v2. We recommend upgrading to v2 for faster performance. Please note, v1 will continue to be supported but may be removed in a future release. See Data API for more information.

  • Fixed an issue with rare crashes caused when backing up an unlimited storage database against Azure blob storage.

  • Fixed an edge case issue where materialized common table expressions can cause a query to generate an error.

  • Added a CHECK BOTTOMLESS CHECKSUM command that checks the checksum of the blob files stored in the blob store instead of on the local disk. See CHECK BLOB/BOTTOMLESS CHECKSUM for more information.

  • Fixed an issue with the accuracy of memory and disk space availability confirmed in the REPLICATE DATABASE command. This fix will ensure any secondary cluster has enough memory and disk space to replicate the database.

  • Fixed a server crash caused by table-valued functions parameters that assume the parameter name is the same as the alias of the table-valued function operator.

  • Fixed an issue with syntax errors being generated when query forwarding multi-statement batches to the Master Aggregator.

  • Added support for restoring a backup in an unlimited storage database that contains a larger amount of data than the local disk space available on the cluster.

  • Added an engine variable columnstore_validate_blob_before_merge. If enabled, the background merger would validate the blob checksums before merging blobs.

2022-04-18 Version 7.8.2

  • Fixed an issue with incorrect results generated when filtering on the database column of the information_schema.MV_COLUMNSTORE_MERGE_STATUS table.

  • Ended the compression of Data API results to reduce memory usage and improve performance in most cases.

  • Adjusted the maximum memory allocation function to proactively run even when the total_server_memory usage is well below the maximum_memory allocation.

  • Added per privilege transferability from one user to another via the new TRANSFERABLE clause and SYSTEM_VARIABLES_ADMIN grant in the REVOKE security management command.  A new engine variable, privilege_transfer_mode, must be set to per_privilege for this functionality to work as expected.  Also, this new functionality will affect the results of the SHOW GRANTS command. If the privilege_transfer_mode engine variable remains on the default value of grant_option, then the output is one row and can include the WITH GRANT OPTION privilege. If the value of privilege_transfer_mode is per_privilege, then the output can be two rows. The first row will display the non-transferable privileges. The second row will display the transferable privileges.

  • Added support for CHECK BLOB CHECKSUM on unlimited storage databases. The command only checks the checksums of blobs on local disks.

  • Fixed an issue with error generation for aggregator result tables used in a parallel read. DROP RESULT TABLE now returns the correct error.

  • Fixed an issue where an incorrect error was generated for an aggregator result table when it was used by a parallel read. DROP RESULT TABLE now returns the correct error.

  • Improved heuristic estimates for queries with complex join predicates.

  • Release 6.8 and earlier backups can no longer be restored in release 7.8.