Below are the release notes for all the recent versions of the Mireo SpaceTime Cluster and MSQL query language.
The SpaceTime/MSQL versioning scheme is as follows:
YY. [last two digits of the current year (00-99)]
MM. [current month (01-12)]
v [minor release version during the particular month]
Version 23.09.1
Breaking Changes
- Some details in the MSQL wire protocol changed - new servers won't be compatible with older connectors and vice versa
- msql-server no longer supports the older, mireo ID-based connectionless protocol (request-response)
- STRING_ESCAPE function renamed to JSON_ESCAPE
New Features
- Added support for connecting to external PostgreSQL tables - they can now be queried directly from MSQL
- Added support for connecting to external SQLite tables - they can now be queried directly from MSQL
- Added internal support for views
- MSQL now supporting a rich subset of Postgres
pg_catalog
and ANSI information_schema
functionalities
Improvements
- Better dynamic hyperrect merging speeds up some joins up to 10x
- All builtin functions now present as entities in the database catalog - this enables a lot simpler addition of new functions in the future
Bugfixes
- Many fixes & stability improvements
Version 23.02.1
Breaking Changes
- Exclusive use of the new, asynchronous & multi-flight connector to MSQL servers (old connectors no longer supported)
New Features
- Added
USE ROLE
and REVERT USE ROLE
statements which enable impersonation of other users (for users which have the required privileges)
- Added many aliases for data types, to match standard SQL names for them (e.g.
i32 = integer
, i64 = bigint
)
Improvements
- MSQL server now relies on a new catalog which keeps information about all the existing database entities & configuration parameters
- Internal implementation of the type system completely redesigned, added support for future introduction of multi-ranges, collections etc.
Bugfixes
- Fixed planner crashing on queries which use
NOT IN
with sub-selects, e.g. SELECT * FROM ... WHERE x NOT IN (SELECT ...)
(T11404)
- Fixed planner crashing in deducing additional input bounds from join conditions (T9279)
Version 22.12.1
Breaking Changes
timestamp
, timeperiod
and rtimestamp
data types are now internally 64-bit floating-point numbers holding a decimal number of seconds elapsed since the Unix epoch (previously they kept an integral number of milliseconds since epoch).
New Features
- Introduced
USE ROLE
and REVOKE USE ROLE
statements. They enable a user to impersonate another user (if he has sufficient rights), and see what results the other user would see if he ran a particular query.
- Introduced
VAR
function for accessing
Improvements
Special handling of interval joins resulting in an execution time speedup of up to 1000x. Applies to joins containing inequality comparisons in the join condition, e.g. a JOIN b ON a.x >= b.y and a.z <= b.w
.
Various code improvements
Bugfixes
- Parsing malformed timestamp strings could cause a crash
Release notes for versions earlier than 22.12.1
are not listed on this page.