Maintenance Release Changelog

2024-20-02 Version 7.8.42

  • Fixed an issue with hex() not handling decimal types correctly.

  • Fixed a crash that occurred when trying to grant access to the table with no context database in per-privilege mode.

  • Improved the performance of S3 pipelines when Garbage Collection (GC) is enabled.

  • Fixed an issue where the number of rows affected with SELECT INTO object storage was erroneously reported as 0 rows.

  • Fixed an issue with FROM_BASE64 and TO_BASE64 built-ins when processing large string inputs, preventing potential errors in reading communication packets.

  • Improved error messages when downloading backups.

  • Fixed an issue with START PIPELINE FOREGROUND skipping files in some circumstances.

2024-01-12 Version 7.8.41

  • Fixed an allocation issue that caused poor performance on high load insertion queries.

  • ALTER PIPELINE setting max_partitions_per_batch to use a default 0 value is now allowed.

  • JSON_KEY escape characters were not working as expected.

2024-01-04 Version 7.8.40

  • Fixed a crash that occurred when user-defined variables are used in the GROUP BY and ORDER BY clauses.

  • Introduced a new session engine variable optimizer_disable_transitive_predicates which disables predicate transitivity on query rewrites.

  • Fixed an issue with the CREATE RESULT TABLE command being executed without a database being set. The command will now be locked down if a database is not set.

  • Added more log messages for backup sub-process errors.

2023-11-28 Version 7.8.39

  • Fixed an issue where the number of rows affected with SELECT INTO object storage was erroneously reported as 0 rows.

  • Pipeline state is now shown consistently across primary and child nodes.

  • Reduced blocking in query compilation after evicting many (10K+) plans in the plancache.

2023-11-08 Version 7.8.38

  • Disabled group-by on encoded data when there is an aggregate on full-text match.

  • Fixed a potential security issue with users created without a password.

  • Fixed some cases where APPROX_COUNT_DISTINCT_ACCUMULATE erroneously included nulls in the count.

  • Added resource pool metrics to the /cluster-metrics endpoint of the memsql_exporter.

2023-10-03 Version 7.8.37

  • Fixed an issue where unlimited storage databases stored on Amazon S3 could run out of connections under intense loads.

  • Fixed an issue where an incorrect result is produced when the engine variablequery_parallelism is set with flexible_parallelism. query_parallelism is deprecated and query_parallelism_per_leaf_core should be used instead.

  • Removed an unexpected warning related to the engine variablequery_parallelism (which is deprecated) when a query contains an ORDER BY clause with an IN list filter that matches the table's shard key.

  • Fixed a bug where an aggregator result table hits a lockdown when sql_select_limit is set.

  • Fixed a memory leak issue in the memsql_exporter process.

  • Improved the performance of mv_replication_status for clusters with large DR databases.

2023-08-29 Version 7.8.36

  • The SHOW COLUMNAR MERGE STATUS command now outputs status for tables with empty sort keys.

  • The following commands now respect non-default columnstore_table_lock_threshold values: INSERT ... SELECT ... ON DUPLICATE UPDATE, REPLACE ... SELECT, and REPLACE ... LOAD.

  • Fixed an issue where VECTOR_MUL was returning incorrect results on shard tables.

  • Fixed an issue where LIMIT and OFFSET after a window function with no PARTITION BY clause were returning incorrect information.

  • Enhanced the performance of DDL statements for role manipulation.

2023-08-14 Version 7.8.35

  • Fixed a potential crash in NFS backup when encountering an IO error.

  • The columnstore_validate_blob_before_merge engine variable is now applicable in unlimited storage deployments.

  • SKIP PARSER ERRORS is now supported for Kafka. Additionally, a new related engine variable, pipelines_parse_errors_threshold, has been added.

  • Fixed a memory leak when using backreferences inside regexp built-ins (e.g. `regexp_substr()`).

  • Increased mv_plancache.activity_name from varchar(64) to varchar(512).

  • Improved performance of multi-part GCS backups.

2023-08-01 Version 7.8.34

  • Introduced a new global variable, dr_min_connection_timeout_ms, which allows users to adjust the minimum timeout period in Disaster Recovery (DR) replication.

  • Fixed a potential crash in some edge cases when using Parquet pipelines.

  • Added support for Control Group v2 (cgroup v2).

  • Fixed a pipeline wrong state issue caused by an error in a table with a computed column.

2023-07-19 Version 7.8.33

  • Fixed a bug for the statistic blob_fetch_network_time value.

  • Fixed a performance bug regarding the prefetch queue's size when flexible parallelism is enabled. The prefetch queue's size was increased from 10 to 10 times the number of scanning threads to improve query performance.

  • Fixed an issue with the incremental restore of an unlimited database that would fail if the restore was larger than the disk.

  • Fixed a JSON formatting issue for PARTITION_UNRECOVERABLE events in the mv_eventstable.

  • Fixed a rare log file corruption issue in sync durable unlimited databases.

  • Fixed a performance issue where a hash join on a materialized Common Table Expression (CTE) would execute as a nested loop join in some query shapes, causing a slow join performance.

  • Fixed an argument type parametrization issue in Table-Valued Function (TVF).

  • Added a metric to the memsql_exporter that shows if there are unavailable partitions in any database.

  • Fixed a bug where changing the server collation would make the sample table unreadable.

  • Reverted the performance improvements for backups to GCS (Google Cloud Storage).

2023-06-12 Version 7.8.32

  • Fixed a rare case where the query optimizer re-wrote a query into a non-equivalent query which produced more result rows.

  • Improved the performance of backups to GCS (Google Cloud Storage). GCS backups are not using multi-part uploads.

  • PAM (Pluggable Authentication Module) users are now allowed to start and configure the memsql_exporter process.

  • Introduced an optimizer feature where a single sharded table may be gathered to the optimizer in order to reduce duplicate work across partitions. Two new engine variables were added to control this behavior: optimizer_min_reference_tables_for_gathered_join and optimizer_min_reference_rows_for_gathered_join.

2023-06-05 Version 7.8.31

  • Fixed unlimited storage S3 multipart uploads to properly retry on 200 responses which contain an embedded "SlowDown" error, instead of failing immediately.

  • Reduced memory usage in situations where tables are repeatedly created and dropped.

  • Fixed an issue where memory accumulates over time if reshuffle or repartition operators are executed for many unique query shapes.

  • Introduced a new global engine variablebackup_multipart_upload_concurrency that can be used to improve blobstore backup performance. The default value (3) can improve performance out of the box.

2023-05-30 Version 7.8.30

  • Improved the performance of a left join of a reference table with a sharded table by pushing the reference table clauses to the leaves. The engine variable disable_reference_table_leftjoin_where_pushdown must be set to "OFF" to enable this operation.

  • Fixed the query_text output in profiles generated while the profiled query is executing.

2023-05-22 Version 7.8.29

  • Fixed a bug where the DEFAULT NOW() data type and the UUID/SYS_GUID functions get ignored in some cases when specified on a column in the primary key.

2023-05-01 Version 7.8.28

  • Fixed an issue where errors could occur during backup when large files are copied.

  • Fixed an issue with DATETIME columns with ON UPDATE CURRENT_TIMESTAMP defaults that could cause incorrect results.

  • The sql_mode session variable now shows up in SHOW VARIABLES and the mv_global_variables view.

  • Fixed an issue that could cause an incorrect error message to be generated on an out of memory error.

  • Fixed an issue where a NULL could be pushed down to a union which could cause the type-cast/collation to be lost, resulting in an error: "Operation 'Scanning a hash join build' is not allowed".

2023-04-25 Version 7.8.27

  • Fixed an issue where S3 pipelines could stop loading data from the bucket if files are deleted from the bucket while the pipeline is active.

  • Fixed an issue where, in rare cases, an UPDATE statement with a left join in the filter clauses could fail to execute.

  • Fixed an issue where replica blobs could be loaded into the blob cache with an incorrect LRU timestamp.

  • Improvements to memsql_exporter: Improved error handling and reduced memory usage.

2023-04-19 Version 7.8.26

  • Fixed an issue where the memory used by an external function was not being freed quickly enough.

  • Fixed an issue where CLEAR ORPHAN DATABASE could cause data loss if run when the master aggregator has a database in an unrecoverable state.

  • Fixed an issue with missing row counts during optimization when sampling is disabled.

2023-04-10 Version 7.8.25

  • Fixed an issue where filters using the range_stats column in the information_schema.optimizer_statistics table were not allowed.

  • Fixed an issue where incorrect results could be returned when segment-level flexible parallelism is used inside a subquery containing both a shard key filter and either an aggregate, a window function, or the limit clause.

  • Fixed an error caused by setting the collation_server global variable to a non-default value when performing a REBALANCE PARTITIONS resource availability check.

  • Fixed an error that could occur when attaching databases with a snapshot file of greater than 5 GB.

  • Fixed an issue where too many rows are sampled from columnstore tables with more than 1 billion rows.

  • Added a new information schema view internal_table_statistics which shows memory use of SingleStore internal metadata tables. The columns displayed are the same as those shown for table_statistics.

  • Fixed an issue where running DROP PLAN FROM PLANCACHE ... FOR QUERY on a query with invalid syntax could cause a crash.

  • Updated timezone metadata to include Mexico's latest timezone change.

  • Fixed a potential crash issue in UPDATE queries that involve joins and that have scalar subselects in SET clauses.

2023-03-20 Version 7.8.24

  • Improved the parsing performance of queries that contain several tables.

  • Improved error handling when restoring from an incomplete incremental backup.

  • Improved the performance of S3 pipelines when Garbage Collection (GC) is enabled.

  • The  read_advanced_counters, snapshot_trigger_size, and  snapshot_to_keep  engine variables can now be set on SingleStore Helios.

2023-03-14 Version 7.8.23

  • Fixed an issue with the schema registry so only superusers can see redacted pipeline metadata such as credentials and URLs.

  • Introduced a new global variable subprocess_max_retries, which is used for retrying on retry-able connection failures during select into/backup queries for S3 and GCS.

  • Fixed an issue that may cause a "Table doesn't exist" error when a multi-insert contains expressions and the target table has a computed column as its shard key.

  • The CREATE_TIME, CREATE_USER, ALTER_TIME, and ALTER_USER columns in the information_schema.TABLESview are now properly set for views and TVFs (table-valued functions).

  • Added the ability to cache histogram results during optimization to reduce the work performed by the histograms.

  • Improved the tracing of error cases encountered by a backup database.

  • Fixed a crash that could occur when a computed column definition refers to a table name.

2023-02-14 Version 7.8.22

  • Added a new information_schema view named LMV_LOCAL_DATABASES. This view shows the state of local databases like SHOW DATABASES EXTENDED, but it can be queried against unlike show commands.

  • Fixed a parsing issue for queries containing multi-line comments near GROUP BY or ORDER BY clauses.

  • Added support for incremental backups to blob stores where a single partition contains more than 5 TB of data.

  • The num_background_merger_threadsengine variable is now settable on Cloud.

  • Fixed an issue causing incorrect trace messages in master logs where clocks were incorrectly advancing from "0".

  • Fixed the case where the REGEXP_REPLACE and REGEXP_SUBSTR expressions can produce non-utf8 strings by introducing the new engine variableregexp_output_validation_mode. Regular expression built-ins can produce non-utf8 strings because they don't have full support for multi-byte characters. The engine variable controls this behavior if regular expression built-ins return strings that are invalid under its collation settings.

  • Added the DATETIME_PRECISION column to both PARAMETER and ROUTINESinformation_schema views. Also, the DATETIME_PRECISION column will include TIME and TIMESTAMP data types in the COLUMNS information_schema view.

  • The spilling_minimal_disk_space engine variable can now be set at startup.

  • Sampling will no longer be used for table size estimation when statistics are present.

2023-01-25 Version 7.8.21

  • Added a new option, SERVER_V2, to the json_extract_string_collation  engine variable. This new, recommended option is the default for new clusters, and allows comparison of utf8mb4 strings extracted from JSON to utf8 string constants.

    Since the old AUTO/SERVER behavior is error-prone, existing customers should set this engine variable to SERVER_V2 immediately after upgrading. See the support bulletin: Using the JSON utf8mb4 Column...

  • Improved the performance of various commands (SHOW commands, DDL, etc.) when there are very many views or tables in the database (100s of thousands).

  • Fixed a performance regression when running SET <system variable> = <expression> commands. These commands are often run by client drivers on new connections.

  • Fixed an upgrade issue where a database that was originally created on SingleStore 6.8 or earlier and was then upgraded to 7.3 is then REPLICATED to SingleStore version 7.8 could result in broken shard keys.

  • The SHOW STATUS EXTENDED command contains a new "Gv_clock" key whose value is the current logical clock of the server.

  • The SHOW DATABASE STATUS command contains a new "gv_clock" key whose value is the current logical clock of the server.

  • Fixed an issue introduced in version 8.0.4 where SHOW TABLE STATUS was incorrectly displaying views.

  • Fixed a MySQL protocol incompatibility where SingleStore was not properly sending back the SERVER_STATUS_IN_TRANS flag. This was impacting some MySQL php drivers.

  • The information_schema.statistics "collation" column now correctly indicates whether an index is ascending ("A") or descending ("D").

  • Fixed an issue where the engine could crash during recursive set operations.

  • Fixed an edge case issue which could cause the engine to hang during shutdown.

  • Added the skip_segelim_with_inlist_threshold engine variable, which will skip segment elimination with the IN list if its size is larger than threshold (default is 1000 elements).

  • Fixed an issue with databases becoming unrecoverable when upgrading to version 8.0 if any tables contained shard keys using computed columns that call JSON_EXTRACT_STRING.

  • Added a new global variable, num_background_merger_threads, which controls the number of background merger threads to start for each node. The default value is 2.

  • information_schema.table_statistics now correctly shows information about global temporary tables.

2022-12-22 Version 7.8.20

  • Fixed an issue that may cause the engine to crash from info_schema query submissions.

  • Fixed an issue where environments with several nodes having several partitions may not auto-attach when restarted simultaneously.

  • Improved the performance of bushy join rewrites.

  • The SHOW TABLE STATUS command now displays the memory usage by GLOBAL TEMPORARY tables.

  • Fixed an issue that may cause the old master aggregator to lose users/grants metdata when it rejoins the cluster after a new master aggregator was promoted using the AGGREGATOR SET AS MASTER command.

  • Fixed an issue with the JSON_EXTRACT_STRING built-in, which may return a non-valid utf8 string under collation_server collation utf8 when the JSON column has a utf8mb4 charset.

  • Fixed a crash when parsing certain Parquet data into a pipeline.

  • Fixed an issue with aggregate functions using incorrect enum/set types that may result in inaccurate output in the operator tree.

  • Improved the accuracy of network time reporting in query profiles regarding the time spent sending the results back to the user connection.

  • Fixed an edge case issue causing a potential memory leak when running an UPSERT statement against a columnstore table.

  • Fixed an issue with a transaction leak on the master aggregator when running CREATE TABLE AS SELECT on a child aggregator using autocommit=0 on the connection.

  • Added support for using a connection link for inserting data with the FORMAT PARQUET option.

  • Fixed a bug that may cause a query to hang when comparing an utf8 column with an utf8mb4 constant. This issue occurs when collation_server is set to one of the utf8mb4 collations.

  • Fixed a performance issue when creating an aggregator result table on the master aggregator.

2022-11-28 Version 7.8.19

  • Added the option to use HTTPS with memsql_exporter. To use HTTPS, enable the engine variables exporter_use_https, exporter_ssl_cert, and exporter_ssl_key.

  • Added the session variable histogram_column_correlation, which controls the assumed correlation between columns when using histograms for selectivity estimation.

  • Added ability to use ALTER and TRUNCATE table commands when BACKUP is running.

  • Fixed a performance issue with count distinct aggregation and streaming subqueries.

  • Fixed an issue where an incorrect result could be returned when a query contains multiple joins that all match a multi-column hash index.

  • Reduced the memory usage of querying information_schema.pipeline_errors when there are many past pipeline errors.

  • Upgraded zlib to release 1.2.13.

  • Decreased the cost of working with large project lists during optimization.

  • Fixed a wrong results issue when a shard key column is set to the value of a non-deterministic function (e.g., rand(), uuid (), etc.).

  • SingleStore no longer schedules pipelines to run internally if there is no writable database attached.

  • Improved the join estimation when using a unique key.

  • Fixed vulnerabilities in the libraries and packages used in the engine.

  • Improved the ALTER TABLE error message received when run on a view on a child aggregator.

  • Fixed an issue with tables created on child aggregators not using the correct create_user in the information_schema.tables.

  • Fixed an issue when auto-creation is turned off (auto.create.topics.enable=false); SELECT INTO KAFKA returns a success message even if the insert fails.

2022-11-07 Version 7.8.18

  • Improved incremental backup performance, which includes both the INIT and following DIFF backup operations.

  • Fixed a potential issue that may cause an infinite loop when some information_schema tables are filtered using the utf8m4 string constant.

  • Fixed a potential issue using multi-statement batches inside of prepared statements without parameters that may result in a crash.

  • Fixed a potential issue that could cause a lost second prepare statement when using a binary protocol over SSL.

  • Fixed an issue that may cause a restarted master aggregator to crash when the STOP PIPELINE command runs on a detached pipeline.

  • Added the ability to limit the application of join predicate transitivity to predicates that may be estimated. To use this feature, the session variable verify_fields_in_transitivity needs to be set to ON.

  • Fixed a potential issue that may cause unlimited databases to rebuild unnecessary auto-stats.

  • Added the ability to allow code-generation of queries against the information schema when the cluster is very low on disk/memory.

  • Added the ability to handle 429 (too many requests) errors the same way as 503 (slow down) errors.

  • Fixed an issue where having too many rows on the same columnstore hash key could return "Read failed with error 14 (Bad address)".

  • Fixed a potential issue that could cause a NFS backup error to trigger a crash.

  • Enabled the ability for histograms to estimate predicates using stored procedure parameters or implicit /explicit typecasted literals. To use this feature, the session variable verify_fields_in_transitivity needs to be set to ON.

2022-10-11 Version 7.8.17

  • Added ability for automatically triggered rebalance operations to restart any long-running write queries which would prevent the rebalance from making progress. The user executed rebalance commands now have a KILL option to trigger this behavior from a manually executed REBALANCE.

  • Introduced new syntax for DROP FROM PLANCACHE to drop a plan based on query text instead of plan_id. The syntax also supports dropping plans across all aggregators instead of on a particular node_id.

  • Introduced a new engine variable: clamp_histogram_date_estimates. When enabled, SingleStore will use a heuristic to more accurately estimate date predicates that are larger than the histograms range. This variable is set to AUTO (OFF) by default.

  • Improved the error message displayed when a user tries to create a user that already exists.

2022-10-03 Version 7.8.16

  • Fixed an issue which caused unlimited database S3 uploads to fail due to an ExpiredToken error. This issue impacted the refresh of EC2 instance meta credentials caused by the public open-source AWS C++ SDK after encountering a transient network issue.

  • Allow REVOKE from ROLE permissions for tables that have been dropped.

  • Fixed a specific query shape which failed CodeGen for columnstore unique keys.

  • Added engine variable: exporter_ssl_key_passphrase. It is used for the decryption of the exporter_ssl_key file by the monitoring process if the file is encrypted (password protected).

  • Fixed an issue where memsql_exporter could start with an incorrect user.

  • Fixed a potential issue regarding diagnostic messages appearing to start successfully but were silently failing.

2022-09-26 Version 7.8.15

  • Added support for SELECT INTO ... FORMAT PARQUET.

  • Increased the default value of the following engine variables: http_api_pool_max_idle to 1024 and http_api_pool_capacity to 2048.

  • Improved the hash function used for strings.

  • Updated behavior of the DROP FROM PLANCACHE command; it now supports ON NODE syntax to drop a query plan from a specific node.

  • Fixed an invalid op tree error when CCM matching is enabled on a query with CTEs.

  • Added http_api_max_lifetime_seconds engine variable which controls how long a pooled connection can remain open.

  • Added http_api_max_idle_seconds engine variable which controls how long a pooled connection can remain idle (or unused) before it will be closed.

2022-09-14 Version 7.8.14

  • Fixed an issue where canceling a RESTORE would not completely drop the partially restored database.

  • Fixed a memory leak issue due to alloc_warnings when using reference table pipelines.

  • Fixed an issue where commands forwarded to the master aggregator during an online upgrade could cause a crash.

  • Fixed an invalid op tree error when CCM matching is enabled on a query with CTEs.

  • Fixed a performance issue for sampling queries with large IN lists executed by the query optimizer.

  • Fixed an issue with the aggregate result tables not being parameterized correctly, which resulted in unnecessary plans being generated.

2022-08-29 Version 7.8.13

  • Removed ability to use RESTORE DATABASE on unlimited databases with sync durability enabled.

  • Added support for running INSERT SELECTS using an aggregator result table on a child aggregator.

  • Fixed an issue where the native table names in computed columns were not being recognized in an expression.

  • Fixed a lockdown feature error that may occur for queries with multiple in-subselects.

  • Fixed an issue where SHOW GRANTS output was incorrect for users with REQUIRE SSL WITH GRANT OPTIONS.

  • Fixed a performance regression issue for SELECT INTO S3.

  • Improved the accuracy of the FIRST_LOADED and LAST_EXECUTED timestamp columns in information_schema.plancache.

  • Fixed an issue where S3 can silently fail to upload a file for an unlimited database.

2022-08-22 Version 7.8.12

  • Fixed an issue that may cause error 200 to occur when running CREATE DATABASE or RESTORE DATABASE commands on an unlimited database.

  • Improved reliability of full and incremental cloud backups that experience network connectivity issues.

2022-08-19 Version 7.8.11

  • Fixed an issue where a common table expression inside an update or delete query with a join outside a subselect would cause an “unknown table” error.

  • Fixed an edge case issue with the blob cache eviction algorithm may cause an infinite loop.

  • Added the ability to query MV_BACKUP_STATUS for users with SHOW METADATA permissions.

  • Fixed an issue that may cause insert into mv_queries to become invalid when the cluster is in ONLY_FULL_GROUP_BY sql_mode.

  • Fixed an issue where S3 can silently fail to upload a file for an unlimited database.

  • Fixed an incorrect error message when a computed column refers to a two part table name (i.e., table.column).

  • Fixed an issue that returned 'zero rows' when sampling fails or there is no sampling data. The corrected behavior will use heuristic or histogram estimate depending on what is available. To enable this behavior, set estimate_zero_rows_when_sampling_data_is_missing to ‘false’.

  • Added ability to run SingleStore cluster via a Docker container on a Mac with an Apple silicon processor (M1).

  • Added the ability to configure SingleStore to estimate the equality predicate for uncorrelated scalar subselects as 1/cardinality; and use heuristics for all other scalar subselect predicates. To enable the new estimation logic, set exclude_scalar_subselects_from_filters to 'false'.

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 (region.amazonaws.com/bucket) or virtual address style (bucket.region.amazonaws.com) 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 SingleStore Helios .

  • 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 DATA 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 SingleStore Helios 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.

  • Added SSL KEY options for CREATE EXTERNAL FUNCTION.

  • 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 keypaths 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. SingleStore recommends 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 workspace 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 workspace.

  • 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.

Last modified: March 8, 2024

Was this article helpful?