8. 7 Release Notes
On this page
Note
-
To deploy a SingleStore 8.
7 cluster, refer to the Deploy SingleStore Guide. -
To make a backup of a database in this release or to restore a database backup to this release, follow this guide.
-
The data_
conversion_ compatibility_ level engine variable now defaults to '8.
in new installations.0' This results in stricter data type conversions. The value is not changed when upgrading to version 8. 0. This new data_
setting additionally flags invalid string-to-number conversion inconversion_ compatibility_ level INSERT
statements,PIPELINES
,LOAD DATA
commands, and type casts.Applications will likely see more compatibility issues flagged when run against installations with
data_
set toconversion_ compatibility_ level '8.
than when run with a lower compatibility level.0' -
New deployments of SingleStore 8.
7 require a 64-bit version of RHEL/AlmaLinux 7 or later, or Debian 8 or later, with kernel 3. 10 or later and glibc
2.17 or later. Refer to the System Requirements and Recommendations for additional information. -
In 8.
7, string functions such as CONCAT
,LENGTH
,SUBSTR
, andHEX
operate on the binary representation of vectors.In 8. 5, these functions operated on the JSON representation of vectors; that behavior is deprecated. Refer to Vector Type for more information. -
The default output format for vectors has been changed to binary format from JSON format for performance reasons.
An engine variable vector_
has been added to allow the users to control whether vectors are output in binary or JSON format.type_ project_ format The default value for new 8. 7 deployments is BINARY. Upgrades from 8. 5 will set the value to JSON to preserve 8. 5 behavior. Future upgrades will leave the variable as is.
Default Charset and Collation
The default charset has changed in version 8.
-
The default server character set is now utf8mb4 (previously utf8).
-
The default collation is now utf8mb4_
general_ ci (previously utf8_ general_ ci).
Newly created clusters will have these values as defaults, ensuring that characters with 4-byte encoding (such as emojis) are treated correctly.
The following additional notes apply:
JSON Collation: JSON now has utf8mb4_
Upgrading: For all existing clusters, the default collation and collations of TEXT/JSON columns will not be changed.
JSON_
: To support using the JSON_
built-in function on JSON with utf8mb4_json_
engine variable to SERVER_
, which is default beginning in version 7.json_
is set to AUTO
or SERVER
, using a JSON argument with utf8mb4_json_
to SERVER_
.
Release Highlights
Note
This is the complete list of new features and fixes in engine version 8.
Vector Range Search
Vector range search allows users to query for vectors that have a similarity score beyond a specified threshold using a vector index.
Full-Text Search Enhancement
Full-text search version 2 is the enhanced and recommended use of the full-text search functionality in SingleStore.
Full-text search version 2:
-
Supports integration with the Java Lucene library.
-
Supports BM25 relevancy scoring for term queries at a partition level.
-
Allows creation and querying of full-text indexes on JSON columns.
Refer to Working with Full-Text Search for more information.
Schema and Pipeline Inference
Table and pipeline definitions can be inferred from input files using the INFER
and CREATE INFERRED
commands which create definitions for table or pipeline based on input files.
Ingest from Apache Iceberg
Apache Iceberg tables can be directly ingested into SingleStore using pipelines.
Feedback Reoptimization
This feature can be used to reoptimize a poorly performing query by feeding in the statistics collected from the query's initial run back into the optimizer instead of repeatedly using the original estimates.
Other Improvements and Fixes
Vector Type Fixes and Enhancements
Vector - Project Format
The default projection format for VECTOR
-type columns now is binary format.vector_
engine variable.BINARY
and JSON
.vector_
engine variable.
Vector - String Builtins
String builtins now operate on the binary representation of VECTOR
arguments instead of the JSON string representation.CONCAT
, LENGTH
, and SUBSTR
previously operated on the JSON representation of a vector, interpreted as a string.
This is a breaking change; those using the VECTOR
type should review their application for the use of string functions on VECTOR
arguments before upgrading to 8.
Vector - HEX Function
The HEX
function now operates on the binary representation of VECTOR
arguments instead of the JSON string representation.
This is a breaking change; those using the VECTOR
type should review their application for the use of the HEX
function on vector arguments before upgrading to 8.
Vector Comparisons
Added the ability to compare VECTOR
-type expressions vs.BLOB
s.
Other Performance Enhancements
-
Enhancement: Improved the performance of regular expression (regex) operations.
(8. 7. 18) -
Enhancement: Improved performance of
REPLACE
query into a columnstore table when table-level locking is triggered.(8. 7. 17) -
Enhancement: The library used for building IVF_
PQFS indexes, FAISS, has been updated to improve the performance of IVF_ PQFS indexes. With this change, nprobe
is now a search option for IVF_PQFS indexes in addition to being an index-building option. Refer to Vector Indexing for more information. -
Bugfix: Resolved inaccurate memory estimation due to out-of-sync stats between aggregators and leaf nodes by only using collated memory usage stat for profile queries.
-
Enhancement: Improved the performance of Point In Time Recovery (PITR).
-
Enhancement: Improved performance related to
PIPELINES_
information schema table.BATCHES -
Enhancement: Improved query performance up to 2x when retrieving data blobs from the object store for unlimited storage databases.
This is achieved by allowing blob files that are downloaded from the object store to fsync()
in the background while enabling query threads to read them immediately.This process occurs transparently without any user intervention.
Query Optimization Enhancements:
-
Enabled decorrelating scalar subselects that are not equi-joins on fields.
Decorrelation involves transforming a query that contains a correlated subselect into a join that can be more efficiently executed by the database engine. -
Improved the optimization of queries containing
ORDER BY
andLIMIT
in a subselect.
New Information Schema Views and Columns
-
Enhancement: Added an
information_
view for obtaining variousschema. OBSERVE_ DATABASE_ OFFSETS OBSERVE
offsets.(8. 7. 16) -
Enhancement: Add bottle service reliability metrics to
MV_
.BOTTOMLESS_ STATUS_ EXTENDED (8. 7. 16) -
Enhancement: Fixed the
KILLED_
counter inQUERIES MV_
.RESOURCE_ POOL_ STATUS (8. 7. 16) -
Enhancement: Updated the
MV_
information schema table (8.BOTTOMLESS_ STATUS_ EXTENDED 7. 4): -
Removed the
LATEST_
andAPI_ FAILURE_ RATE AVERAGE_
columns.API_ LATENCY_ US -
Added the following columns:
SUCCESS_
- Number of successful remote storage api calls per second over the last 30 seconds.API_ PER_ SECOND FAILED_
- Number of failed remote storage api calls per second over the last 30 seconds.API_ PER_ SECOND AVERAGE_
- Average latency to complete a remote storage api event over the past 30 seconds.API_ EVENT_ LATENCY_ US Includes time taken on retries or waiting for rate limiting. AVERAGE_
- Average latency of receiving a response for a remote storage api request.API_ RESPONSE_ LATENCY_ US Excludes waiting for rate limiting or retries. NOTE: This is relevant only for S3. otherwise this field is identical to AVERAGE_
.API_ EVENT_ LATENCY_ US
-
-
Enhancement: Added the following monitoring metrics to the
information_
view:schema. mv_ bottomless_ status_ extended NUM_
,SUCCESS_ API_ REQUESTS NUM_
,FAILED_ API_ REQUESTS LATEST_
,API_ FAILURE_ RATE AVERAGE_
,API_ LATENCY_ US IS_
,GC_ RUNNING NUM_
, andREMOTE_ FILES_ DELETED NUM_
.SLOW_ DOWNS (8. 7. 2) -
Added the new
MV_
view.VERSION_ HISTORY This view shows the upgrade history for a cluster. There are also two related views: LMV_
andVERSION_ HISTORY_ EXTENDED MV_
.VERSION_ HISTORY_ EXTENDED
New Commands and Functions
-
New Feature: Added the new
FULLTEXT SERVICE STOP
command.This command stops the full-text V2 service running on any node connected to the aggregator on which the command is run. Syntax:
FULLTEXT SERVICE STOPFULLTEXT SERVICE STOP
requires thePROCESS
permission.This command is useful when making configuration changes to the full-text service via engine variables that only take effect when the service (re)starts (
fts2_
, for example).max_ connections Also can be used to force a reclaim of resources the service might be using before the idle-out time is reached. The service run state can be checked using
SHOW FULLTEXT SERVICE STATUS
.Added in 8.
7. 12 -
Enhancement: Added Feedback Reoptimization via the
REOPTIMIZE
SQL command.The command is used to reoptimize a query based on previous executions of it. You can reoptimize a query multiple times, pick execution plans from any iteration, and then choose the best iteration's plan to commit to use. Syntax: REOPTIMIZE [[EXPLAIN] | [COMMIT]] [<reoptimize_level>]For more information, see
REOPTIMIZE
.Added in 8.
7. 7 -
Introduced the
BM25( )
function.This function is used to employ BM25 partition-scoped scoring for VERSION 2
full-text search queries.Refer to Working with Full-Text Search for more information.
New or Modified Engine Variables
-
Enhancement: Added a new filter deviation rewrite controlled by the
optimizer_
engine variable.not_ null_ filter_ deviation (8. 7. 17) -
Enhancement: Added a variable,
max_
, to tune the maximum number of background autostats update workers.autostats_ update_ workers (8. 7. 17) -
Enhancement: Disabled the
optimize_
engine variable by default.json_ computed_ column (8. 7. 16) -
Enhancement: Added a new
observe_
global variable that sets the number of seconds anagg_ timeout_ secs OBSERVE
query can block on sending data before giving the consumer a network error.(8. 7. 16) -
Enhancement: Added a new engine variable,
json_
, which is used to control JSON collation, the value of which can either becollation utf8_
orbin utf8mb4_
.bin (8. 7. 15) -
Enhancement: Added a new engine variable,
optimize_
, which is used to enable or disable optimization for json computed columns.json_ computed_ column Enabled by default. (8. 7. 10) -
Enhancement: Added new engine variables for full-text search, used to fine-tune Lucene service connections:
fts2_
andsocket_ timeout_ ms fts2_
.socket_ ttl_ ms These variables control the service's socket timeout and time-to-live. (8. 7. 9) -
Enhancement: Added a new engine variable:
assume_
.udfs_ deterministic This variable controls behavior where SingleStore will do extra work to avoid issues caused by UDFs that return different values when repeatedly invoked (e. g. , are non-deterministic). This variable defaults to false, preserving the existing behavior (since SingleStore version 8. 0), where SingleStore will ensure these computations take place once on an aggregator node. When set to true, SingleStore will avoid this extra layer of coordination (and bottleneck) allowing leaf nodes to independently coordinate. (8. 7. 8) -
Enhancement: Added a new engine variable:
external_
.functions_ service_ buffer_ mb Sets the maximum size (in mb) of the memory-mapped region used to communicate between the engine and collocated services. (8. 7. 8) -
Enhancement: Added a method to throttle upload ingest when blob cache has low evictability and running out of disk space is imminent.
This is controlled via two new engine variables: bottomless_
andupload_ throttle_ hard_ limit_ cache_ usability bottomless_
.upload_ throttle_ soft_ limit_ cache_ usability (8. 7. 7) bottomless_
: The usability (free space + evictable space) of blob cache below which all columnstore ingest is throttled.upload_ throttle_ hard_ limit_ cache_ usability bottomless_
: The usability (free space + evictable space) of blob cache below which some columnstore ingest is throttled.upload_ throttle_ soft_ limit_ cache_ usability -
Enhancement: Enabled
log_
andfile_ size_ partitions log_
engine variables on SingleStore Helios.file_ size_ ref_ dbs (8. 7. 7) -
Enhancement: Added a new engine variable,
sampling_
, used to configure sampling in columnstore tables.estimate_ approach See Statistics and Sampling Concepts for more information.
-
An engine variable
vector_
has been added to allow the users to control whether vectors are output in binary or JSON format.type_ project_ format The default value is BINARY for new deployments, but will be set to JSON for upgrades from 8. 5 and will not be changed in future upgrades. Refer to List of Engine Variables for more information. -
Several engine variables have been introduced to configure and manage the enhanced full-text search (FTS V2) functionality.
Refer to the Working with Full-Text Search page for more information. The new engine variables are: -
fts2_
- If set, this provides the JAVA_java_ home HOME for the full-text search service. Not configurable on SingleStore Helios. -
fts2_
- If set, this provides the path for the Java executable used by the full-text search service.java_ path Not configurable on SingleStore Helios. -
fts2_
- Collocated service control endpoint for the full-text search service.ctrl_ endpoint Not configurable on SingleStore Helios. -
fts2_
- Collocated service request endpoint for full-text search service.endpoint Not configurable on SingleStore Helios. -
fts2_
- The amount of heap memory with which to start the Java process for the full-text search collocated service.init_ memory_ mb If it is 0, the Java default is used. -
fts2_
- The maximum number of parallel requests that the full-text search collocated service can accept before queuing them.max_ connections -
fts2_
- The number of seconds that the full-text search collocated service may be idle before shutting itself down.max_ idle_ seconds -
fts2_
- The maximum amount of heap memory that the Java process for the full-text search collocated service may use.max_ memory_ mb If it is 0, the Java default is used. -
fts2_
- This is the number of seconds between monitor polls (0 disables it).monitor_ interval_ secs -
fts2_
- Sets the positionIncrementGap for use when indexing multi-valued fields.position_ increment_ gap Concatenates multiple values within a field. This variable controls the amount of virtual white space that is inserted between same-field values during a search. This helps prevent proximity and phrase queries from erroneously matching across field instances. The default value gives good results in most cases. -
fts2_
- Sets the maximum number of seconds that a query will wait for a response from the full-text service before returning a timeout error.query_ timeout -
fts2_
- When the full-text search collocated service is shut down in a controlled manner, this sets the number of seconds to wait before it must be forcibly killed.stop_ timeout_ secs
-
-
Full
for table evictions is now the default value for the global engine variableenable_
.idle_ table_ eviction Refer to Sync Variables Lists for more information. -
Adjusted the lower threshold for
max_
engine variable.allowed_ packet Refer to Sync Variables Lists for more information. -
An engine variable
enable_
has been added which can be used to turn on the new Iceberg Ingest feature.iceberg_ ingest Refer to List of Engine Variables for more information. -
Introduced an engine variable
highlight_
to control whetherallow_ ascii_ binary_ strings HIGHLIGHT
allows ascii binary strings as input argument.This variable controls the behavior of HIGHLIGHT (expression) AGAINST (query_
statement if it is allowed to process ascii binary strings or not.expression, [max_ number_ fragments]) Refer to the Sync Variables. -
An engine variable
enable_
has been added to allow the query optimizer to use stale statistics instead of querying for statistics during optimization.use_ of_ stale_ incremental_ stats -
Added an engine variable
max_
that sets percentage ofsys_ mem_ usage_ for_ load_ data maximum_
available for allocation to thememory load_
anddata_ read_ size load_
variables.data_ write_ size This variable limits the memory usage by LOAD DATA
read/write operations -
Added an engine variable
enable_
that enables the automatic creation of histograms based onhistogram_ auto_ creation_ for_ joins JOIN
clauses. -
Added an engine variable
pipelines_
that specifies the maximum number of CDC-in extractor instances that can run concurrently.cdc_ max_ extractors -
Added an engine variable
pipelines_
that specifies the minimum duration (in seconds) that the extractor allocates to a single pipeline for ingesting data and listening to CDC events.cdc_ min_ extractor_ lifetime_ s
Miscellaneous
-
Enhancement: Improved out of memory (OOM) error message to make the message more accurate.
(8. 7. 19) -
Bugfix: Fixed a crash that could occur when columns were dropped with
ALTER TABLE
.(8. 7. 19) -
Bugfix: Fixed an issue where left join sometimes returned an incorrect result when spilling occurred.
(8. 7. 19) -
Bugfix: Fixed an issue that could lead to new connections hanging.
(8. 7. 19) -
Bugfix: Additional binlog position updates for CDC-in pipelines in the extractor pool que.
(8. 7. 17) -
Bugfix: Fixed an edge case certificate refresh issue for connections to remote storage in long running clusters.
(8. 7. 17) -
Enhancement: Improved the Debezium DDL statetements parser.
(8. 7. 17) -
Bugfix: Improved the error message for CDC-in pipelines for insufficient permissions errors.
(8. 7. 17) -
Bugfix: Fixed deadlock in db recovery due to evicting table module holding an open LOCK.
(8. 7. 17) -
Bugfix: Fixed an issue where the garbage collection of a partition database's 2PC transaction table could unnecessarily delay the reprovisioning of the reference database.
(8. 7. 17) -
Bugfix: Fixed an issue with alter repair where the repair job would be created before alter commits.
(8. 7. 17) -
Bugfix: Fixed a race condition where node shutdown could get stuck if it happens concurrently with a partition failover.
(8. 7. 17) -
Bugfix: Fixed a rare bug where
STOP PIPELINE
could write an old extractor cookie into pipeline metadata (8.7. 17) -
Enhancement: Added single-parameter
JSON_
builtins.EXTRACT (8. 7. 16) -
Bugfix: Fixed a crash when using a unique key to upsert into a table when JSON column optimization is enabled.
(8. 7. 16) -
Bugfix: Fixed a certificate refresh issue for connections to remote storage in long-running clusters.
(8. 7. 16) -
Enhancement: Both
END AT TAIL
and the DDL gracefully endOBSERVE
queries instead of producing an error.(8. 7. 16) -
Bugfix: Fixed an undefined behavior in the failure path of an
OBSERVE
query.(8. 7. 16) -
Enhancement: Where appropriate, the
DELETE
records forOBSERVE
queries now populate the primary key for tables instead of the internal ID.(8. 7. 16) -
Enhancement: Removed the
TxPartitions
column and added a newTxTimestamp
column forOBSERVE
.(8. 7. 16) -
Enhancement: The internal IDs for
OBSERVE
are now unique across partitions.(8. 7. 16) -
Enhancement:
OBSERVE
now immediately flushes the result-set metadata to the client, eliminating the need to wait for rows to be returned to receive result metadata.(8. 7. 16) -
Bugfix: Fixed the failure to reset the socket-write timeout after an
OBSERVE
query has completed.(8. 7. 16) -
Enhancement: Reading segments in
OBSERVE
now respectsKILL QUERY
.(8. 7. 16) -
Bugfix: Fixed misleading
KILL QUERY
tracelog messages inOBSERVE
.(8. 7. 16) -
Bugfix: Fixed connection reset errors when the value in the
observe_
engine variable was not used correctly withleaf_ timeout_ secs OBSERVE
.(8. 7. 16) -
Bugfix: Fixed
BEGIN AT
inOBSERVE
when the offset is in the middle of a snapshot on an unlimited storage database.(8. 7. 16) -
Enhancement: Added support for resumable offsets into columnar segments for
OBSERVE
.The OBSERVE
query now returns 28-byte offsets.While 24-byte offsets are still valid with BEGIN AT
, the "strictly increasing" guarantee does not hold when comparing 24-byte and 28-byte offsets.(8. 7. 16) -
Bugfix: Fixed
OBSERVE
returning the wrong transaction ID (txId) when resuming from some transactions.(8. 7. 16) -
Bugfix: Fixed an issue where the output of
OBSERVE
would be incorrect when performing a delete on a large columnstore segment.(8. 7. 16) -
Bugfix: Fixed some cases of an incorrect transaction ID (txId) for snapshot records.
BeginSnapshot
/CommitSnapshot
can now report nestedBeginTransaction
/CommitTransaction
when there are unresolved distributed transactions while the snapshot is taken.(8. 7. 16) -
Enhancement: Added metrics to track the availability of universal storage and the bottle service.
(8. 7. 16) -
Enhancement: Enabled hash joins when two tables are joined together using the
JSON_
function.ARRAY_ CONTAINS_ <type> (8. 7. 16) -
Enhancement: Added support for query rewrite for certain query patterns with
EXISTS
and subselects.(8. 7. 16) -
Enhancement: Added support for BM25 over multiple columns.
(8. 7. 15) -
Enhancement: Added support for BM25 partition-scoped scoring for Boolean and boost queries.
(8. 7. 15) -
Bugfix: Fixed a rare issue where a membership-related clustering operation could delay the re-provision or deletion of a cluster database.
(8. 7. 15) -
Enhancement: Improved the logic for selecting vectors close to the distance threshold during vector range search.
(8. 7. 15) -
Bugfix: Fixed an issue where
JSON_
queries withMATCH_ ANY() MATCH_
evaluated incorrectly on non-array values.ELEMENTS (8. 7. 14) -
Enhancement: Updated
JSON_
simplified syntax to allow specifyingMATCH_ ANY() MATCH_
by appending a 'ELEMENTS *
' to the end of the keypath.(8. 7. 14) -
Enhancement: Added support for BM25 partition-scoped scoring for phrase and proximity search queries.
(8. 7. 14) -
Bugfix: Fixed sporadic reading failures from
MV_
.SYSINFO_ CPU (8. 7. 14) -
Bugfix: Clarified the error message produced in some cases where a snapshot gets aborted.
(8. 7. 13) -
Bugfix: Fixed schema history in incremental snapshot mode for MySQL CDC.
(8. 7. 13) -
Enhancement: The
optimize_
engine variable is now disabled by default.json_ computed_ column This only impacts new workspaces/clusters. (8. 7. 13) -
Enhancement: Significant overall performance improvements for the full-text V2 service.
(8. 7. 12) -
Bugfix: Fixed an intermittent hang under load issue with the full-text V2 service.
(8. 7. 12) -
Bugfix: Reduce
server_
collision probability for MySQL CDC.id (8. 7. 12) -
Bugfix: Fixed an issue with json computed column optimization crashes on computed column shard key.
(8. 7. 12) -
Enhancement: When
parametrize_
is enabled, numeric keys will be parametrized as well.json_ keys Also fixed a crash in queries with json extracts within JSON MATCH ANY (when parametrize_
is switched on).json_ keys (8. 7. 12) -
Enhancement: Update to certificate loading behavior.
Prior to this change, only the first certificate was loaded from a server's . pem file specified via the server configuration. Now all certificates are loaded, so if a . pem file contains a certificates chain, then intermediate CA certificates will be returned by the server. (8. 7. 11) -
Enhancement: Updated the distributed OpenSSL license file to to 1.
0. 2zj (8. 7. 11) -
Enhancement: Added
X-Content-Type-Options: nosniff
,Strict-Transport-Security: max-age=31536000
,Cache-control: no-store
headers to Data API responses.(8. 7. 10) -
Bugfix: Address an issue with rewriting of scalar subqueries with null-accepting projections.
(8. 7. 10) -
Bugfix: Fixed an issue where concurrent
DROP TABLE
s could block a snapshot from running indefinitely.(8. 7. 10) -
Bugfix: Fixed an issue that caused INFER of CDC-in pipelines to fail with "Failed to allocate slot in the extractor pool" error after increasing the limit.
(8. 7. 10) -
Enhancement: The default value for the
fts2_
engine variable has been increased to 100000.max_ connections (8. 7. 9) -
Enhancement: Improved throughput for full-text v2 queries.
(8. 7. 9) -
Enhancement: Optimized full-text queries that contain an
ORDER BY .
over a full-text score and optionally filter on the same full-text clause.. . LIMIT . . . (8. 7. 9) -
Bugfix: Fixed an issue in vector range search with
DOT PRODUCT
as the distance metric.(8. 7. 9) -
Bugfix: Fixed an issue with lateral join queries with identical aliases.
(8. 7. 9) -
Bugfix: Fixed a possible race condition with DR connections that could cause repeated connection failures when attempting to replicate from the primary.
(8. 7. 9) -
Bugfix: Fixed a rare race condition where PITR would incorrectly operate on an unrecoverable database.
(8. 7. 9) -
Bugfix: Fixed a password validation error on
ADD AGGREGATOR
.(8. 7. 8) -
Bugfix: Fixed an issue that could occur when replacing JSON expressions with computed columns in
GROUP BY
lists.(8. 7. 8) -
Bugfix: Fixed potential deadlock in Lucene service under high load.
(8. 7. 8) -
Bugfix: Fixed an issue where in a VM environment
SHOW LEAVES
could show corrupted latency values due to incorrect values from the system clock if the VM is stopped or migrated.(8. 7. 8) -
Bugfix: Fixed a vector index issue in unlimited storage that could make a vector index blob file in accessible.
(8. 7. 8) -
Bugfix: Fixed an issue where indexes were not case-sensitive when performing full-text search against JSON keys.
(8. 7. 7) -
Bugfix: Fixed an issue where
ALTER TABLE
could throw errors related to VECTOR-type columns, even if those columns were not part of theALTER
.(8. 7. 7) -
Bugfix: Fixed an issue in CDC-in pipelines causing delays between batches.
(8. 7. 7) -
Enhancement: Added websocket_
proxy. log to the files managed via Trace Log Rotation. (8. 7. 7) -
Enhancement: Added support for numeric range queries when doing full-text search against JSON fields.
(8. 7. 7) See numeric range queries for more information.
-
Enhancement: Enabled lateral join subselects to reference fields in grandparent
SELECT
.(8. 7. 7) -
Bugfix: Fixed an issue that could occur when replacing JSON expressions with computed columns in
GROUP BY
lists.(8. 7. 7) -
Bugfix: Fixed display of microseconds for default TIMESTAMP(6) column values in system information commands (such as
DESCRIBE TABLE
orINFORMATION_
).SCHEMA. COLUMNS. COLUMN_ DEFAULT (8. 7. 6) -
Bugfix: Fixed a potential false positive output for OBSERVE queries during the first delete of large columnstore segments.
(8. 7. 6) -
Enhancement: Allow leading 0x prefix for
OBSERVE
offsets.(8. 7. 6) -
Bugfix: Fixed an issue where the output of the
OBSERVE
query for the first delete on a columnstore segment was the inverse of expected.(8. 7. 6) -
Bugfix: Fixed an issue where user defined variables could read collation-related variables incorrectly during a
SET @var = .
command.. . (8. 7. 6) -
Bugfix: Fixed a table eviction issue that can crash a node when replaying straight-to-disk inserts on unique key tables during database recovery.
(8. 7. 6) -
Bugfix: Fixed an issue in MongoDB® CDC-in pipelines which blocks data ingestion after
ALTER PIPELINE
.(8. 7. 6) -
Enhancement: Allow NULL values in JSON columns when used with Full-Text search.
(8. 7. 6) -
Bugfix: Fixed several system warnings that occur when running a
SELECT
from theMV_
information schema view.VERSION_ HISTORY (8. 7. 6) -
Enhancement: Improved performance of VECTOR-type User-Defined Variables(UDVs).
No longer require using extra typecast to BLOB datatype. (8. 7. 6) -
Enhancement: Added support for
INNER
/LEFT
lateral joins.(8. 7. 5) -
Bugfix: Fixed issue that caused protocol errors in the pipelines.
(8. 7. 5) -
Bugfix: Fixed an issue to now avoid prematurely assigning column reference to namespace.
(8. 7. 5) -
Bugfix: Temporarily disallow shallow table copy for tables created on version 8.
0 or before. (8. 7. 4) -
Enhancement: Enhance table pushdown to union rewrite to enable derived table pushdown based on row count estimation.
(8. 7. 4) -
Enhancement: Added support for
ON NODE
clause forSHOW PROFILE PROCESS|PLAN
, which forwards the command to another aggregator.(8. 7. 4) -
Enhancement: Improved performance of the
CREATE PROJECTION
command.(8. 7. 4) -
Bugfix: Unneeded sort fields will no longer be projected to the aggregator.
(8. 7. 4) -
Enhancement: Improved the performance of
CREATE TABLES AS INFER PIPELINE
.(8. 7. 4) -
Bugfix: Fixed an issue that could occur where a join with
TABLE(JSON_
is performed with numeric keys in theTO_ ARRAY(JSON_ EXTRACT_ JSON())) JSON_
statement could possibly lead to incorrect output or crashes.EXTRACT_ JSON() (8. 7. 4) -
Bugfix: Identified an upgrade scenario that causes a blob leak and added a command to delete the leaked blobs.
As a result, temporarily disallowing shallow table copy for tables created on version 8. 0 or before. (8. 7. 4) -
Enhancement: Set collation utf8_
bin for the JSON_
builtin in cases where the input has utf8 charset, and set collation utf8mb4_TO_ ARRAY bin in cases where the input has utf8mb4 charset. (8. 7. 4) -
Bugfix: An error is reported when inserting incorrect data into vector column for any
data_
.conversion_ compatibility_ level (8. 7. 4) -
Bugfix: Fixed a possible connectivity issue and eliminated delay when starting the Lucene service for the first time.
(8. 7. 4) -
Bugfix: Fixed an edge case where unlimited storage garbage collection was causing the master aggregator to run out of connections.
(8. 7. 3) -
Bugfix: Fixed a crash that occurred when dropping a database that contained tables with both very high and low column IDs.
(8. 7. 3) -
Bugfix: Fixed a crash that occurred when spilling a hash join operation with at least 3 tables.
(8. 7. 2) -
Bugfix: Fixed a crash that occurred when running the
SHOW CREATE PROJECTIONS
command when using the database name in the syntax (SHOW CREATE PROJECTIONS database_
).name. projection_ name. . . (8. 7. 2) -
Bugfix: Fixed a bug where the full-text service controller would periodically restart the process when the started process hadn't fully completed.
(8. 7. 2) -
Bugfix: Fixed an issue where
INSERT .
into. . SELECT VECTOR
type columns returned an error.(8. 7. 2) -
Bugfix: Fixed issues with the
TO_
function where results were truncated or reading communication packet errors were generated.CHAR() (8. 7. 2) -
Bugfix: Fixed an integer overflow issue in unique integer columns by changing the storage type to a 32-bit unsigned integer.
(8. 7. 2) -
Bugfix: Fixed incorrect results in an uncommon scenario where hash join operators with an optimization path need to spill.
(8. 7. 2) -
Enhancement: The
memsql_
now collects additional fields from theexporter mv_
information schema view.activities_ extended_ cumulative (8. 7. 2) -
Enhancement: Updated the default
client.
for the Kafka configuration to the SingleStore partner ID.id (8. 7. 2) -
Enhancement: Added support for Iceberg ingest via Snowflake, REST, and JDBC.
(8. 7. 2) -
Enhancement: Added support for BM25 full-text search (FTS) as a built-in feature.
(8. 7. 2) -
Bugfix: Fixed an edge case regression with SingleStore Kai and information schema queries when using multiple workspaces and databases.
(8. 7. 2) -
Enhancement: Indexed vector search has been upgraded so that filters are applied before index search.
This removes the need to adjust the search parameter k
in indexed searches with a filter. -
Enhancement: Introduced the
SUB_
argument to thePARTITIONS n CREATE DATABASE
command.This argument allows you to set the number of sub-partitions per physical partition when a new database is created. Using this optional argument in the CREATE DATABASE
command will overwrite the value set by thesub_
variable.to_ physical_ partition_ ratio The value of n
must be set at 0 or a power of 2 value of the physical partition count. -
Enhancement: A user with both the
GRANT OPTION
andSUPER
privileges can now grant and remove any privilege to the users (including themselves) within a scoped database. -
Enhancement: The deprecated Strict Mode feature is officially removed from SingleStore.
-
Enhancement: Improved error reporting for exceeding stack memory during SQL parsing for CTEs.
-
Bugfix: Fixed a bug that could cause scans on non-unique indexes to return incorrect results or crash.
-
Bugfix: Fixed a crash in a rare case involving
ALTER TABLE
and failovers. -
Bugfix: Fixed a bug where the cleanup of unlimited storage data outside of the retention period is delayed when a database is restored.
-
Enhancement: Improved error messaging for unsupported index types on columnstore tables.
-
Bugfix: Fixed an error with the total cache size after an
OPTIMIZE TABLE WARM BLOB CACHE
command. -
Enhancement: Updated the default return type of the
FORMAT
function toVARCHAR
. -
Bugfix: Fixed a bug with
LIMIT 0
in anEXIST
clause in a subselect such asWHERE EXISTS (SELECT … LIMIT 0)
. -
Bugfix: Fixed incorrect results that occur in some
DELETE
commands that contain a self-join and aLIMIT
clause. -
Bugfix: Fixed incorrect results and deadlocks that occur in some
INSERT SELECTS
inside multi-statement transactions. -
Bugfix: Restricted queries on information_
schema tables to be case-sensitive with respect to database names. -
Bugfix: Table-level locking (such as large
UPDATE
s orDELETE
s) no longer blocks the background flusher. -
Bugfix: Fixed an error encountered while backing up a database using an hyphenated resource group name.
-
Enhancement: Unnecessary
LIMIT
clauses are removed when combined with unique key filters. -
Bugfix: Fixed an issue where histograms are built from up to 10x more rows than desired.
-
Enhancement: Added file lock to prevent multiple SingleStore instances starting on the same datadir.
-
Enhancement: Disabled
JSON_
TVF join optimization if query does not use the TVF output column.TO_ ARRAY -
Bugfix: An
info_
query will no longer affect blob cache's internal eviction performance.schema. mv_ cached_ blobs -
Bugfix: Fixed an unlimited storage issue with checking for missing files before downloading.
-
Bugfix: Fixed a rare situation where a windows function would not be killable.
-
Bugfix: Fixed a rare crash scenario with mv views.
-
Enhancement: Added support histogram data collection for BSON keys.
-
Enhancement: Allow using
TABLE
builtin with info schema tables (for example:SELECT * FROM information_
).schema. tables JOIN TABLE(SPLIT(table_ name, '_ ')) LIMIT 2; -
Enhancement: Added support for expressions with
VALUE()
in the delete condition forON DUPLICATE KEY DELETE
in pipelines. -
Enhancement: Engine variable
optimizer_
restricts to only show rule-based optimization warning message when cost based optimization is meaningful.empty_ tables_ limit -
Bugfix: Fixed an issue in backup restore when the backup has a corrupted GV timestamp in the about snapshot record.
-
Enhancement: Provided the ability to collect non-truncated pipeline errors (
CREATE PIPELINE .
).. . DEBUG -
Enhancement: Improved performance for
SELECT INTO kafka
. -
Enhancement: Added support for correlated subselects with
LIMIT
.ORDER BY
andOFFSET
are optional, but if they are present, they are also supported. -
Enhancement: Allow
EXPLAIN
forATTACH DATABASE READ ONLY
.Nothing is returned if it could not be attached read only. -
Enhancement: The
EVENT_
column of theTYPE MV_
view was modified to include the COPY event.BOTTOMLESS_ API_ EVENTS -
Enhancement: Added two file types to
mv_
: Backup Blob and Backup Snapshotbottomless_ api_ events -
Enhancement: Added a visibility (security) check for detached databases.
-
Enhancement: Added JSON validation for link credentials and configuration.
-
Enhancement: Added the optional
IF NOT EXISTS
clause to theCREATE LINK
andCREATE RESOURCE POOL
statements. -
Bugfix: Fixed a bug that blocked histograms from being enabled on remote tables.
-
Bugfix:
LAST_
will now correctly retrieve the last inserted ID for a forwardedINSERT_ ID INSERT
query. -
Enhancement: Added support for
mongodb.
parameter in theconnection. string CONFIG
clause of theCREATE AGGREGATOR PIPELINE .
statement.. . AS LOAD DATA MONGODB Refer to Replicate Data from MongoDB® for more information. -
Bugfix: Fixed an issue with incorrect results in
information_
when filtering on theschema. PROJECTIONS PROJECTION_
column.NAME
In this section
Last modified: November 12, 2024