Releases: matrixorigin/matrixone
v1.2.3-hotfix-20241101
What's Changed
- fix vector free panic(1.2.3-tmp-shulian) by @zengyan1 in #19680
- Fix alter table column null property-shulian by @qingxinhome in #19688
- fix decimal output by @daviszhen in #19643
- cherry-pick: fix select version by @daviszhen in #19695
- fix decimal panic(1.2.3-shulian) by @zengyan1 in #19716
Full Changelog: v1.2.3-hotfix-20240916...v1.2.3-hotfix-20241101
MatrixOne-v2.0.0
We are excited to announce the release of MatrixOne v24.2.0.0!
MatrixOne is a hyper-converged, cloud-native database built for modern data demands. Designed to deliver high performance, scalability, and MySQL compatibility, MatrixOne provides a seamless HTAP (Hybrid Transactional/Analytical Processing) experience, allowing users to efficiently handle transactions, analytics, time-series data, and streaming processing in one unified platform.
Highlights of this Release
MatrixOne v24.2.0.0 introduces significant enhancements for enterprise-level high availability, disaster recovery, and expanded AIGC support.
This version features robust improvements to support Generative AI applications, including unstructured data processing, full-text search, optimized vector search, and enhanced MySQL compatibility. Key features include external data access, snapshot backups, point-in-time recovery (PITR), CDC, and disaster recovery through log-based replication for primary-standby clusters. MatrixOne continues to evolve as a leading platform for intelligent, AI-driven data management, providing enterprises with the ideal solution for their data infrastructure needs.
Use Cases
MatrixOne is well-suited for the following application scenarios. We welcome users facing similar challenges to reach out and explore a trial deployment with us.
Generative AI Applications
MatrixOne’s hyper-converged architecture is ideal for Generative AI, offering comprehensive support for multimodal data, real-time data retrieval, and intelligent data processing. In text and image generation scenarios, MatrixOne facilitates rapid response times and high-quality outputs through efficient data management, vector and hybrid search capabilities, data preprocessing with Python UDFs, and GPU-accelerated real-time inference. MatrixOne’s low-latency architecture supports Generative AI workloads like large-scale data storage, online inference, and adaptive feedback, empowering enterprises to drive innovation with speed and efficiency.
Time-Series Data Applications
Modern IoT ecosystems generate massive volumes of real-time data from diverse sources like industrial production lines, smart grids, and autonomous systems. MatrixOne is built to handle such demands with millisecond-level, high-concurrency writes and rapid, scalable data retrieval. MatrixOne’s real-time analytics seamlessly integrates with machine learning models, making it an ideal solution for predictive maintenance, energy optimization, and intelligent monitoring.
Mixed Workload Scenarios
Traditional single-node databases often struggle with the simultaneous processing demands of transactional and analytical workloads in enterprise applications like ERP, CRM, and OA systems. MatrixOne’s support for mixed workloads within a single database enables real-time analytics, continuous reporting, and efficient data-driven decision-making without the need for additional analytical databases or sharding. With MatrixOne’s scalability and high concurrency support, enterprises can confidently meet growing data demands while keeping performance at peak levels.
Enterprise SaaS
With the rise of enterprise SaaS applications, supporting multi-tenancy while ensuring cost-efficiency and data isolation is essential. MatrixOne’s native multi-tenant architecture provides load isolation, independent scaling, and unified management for each tenant. This architecture reduces management overhead, ensures data separation, and improves operational efficiency, making MatrixOne an optimal database choice for SaaS platforms.
Key New Features
Multi-mode Data Management
MatrixOne now supports direct access to external object storage, remote file systems, and local storage through Stage objects, as well as datalink access to files in storage systems. This capability significantly simplifies data pipeline construction for Generative AI applications, reducing development overhead and maintenance costs.
Full-text Indexing for Text and JSON Data
Full-text indexing on JSON and TEXT columns greatly enhances performance in AIoT applications, especially when combined with MatrixOne’s JSON data type, which minimizes data redundancy and boosts efficiency.
Vector Search
Enhanced vector search capabilities now provide rapid, large-scale vector retrieval, a critical feature for Generative AI applications involving large language models (LLMs) and retrieval-augmented generation (RAG).
Snapshot-based Backup and Recovery
Cluster and tenant-level data snapshots capture the database state at specific points in time, ensuring rapid recovery while minimally impacting performance. Snapshots support cross-tenant restoration, bolstering MatrixOne’s disaster recovery.
Primary-standby Log Replication for High Availability
Log replication enables transaction log synchronization between primary and standby databases, supporting high availability and disaster recovery. Standby databases can take over in case of primary database failure, ensuring uninterrupted operations.
Point-in-time Recovery (PITR)
PITR captures all data changes post-snapshot, allowing precise restoration to a historical moment in case of accidental operations or data loss. This approach reduces storage costs, enhances recovery efficiency, and provides flexibility for critical business continuity and compliance.
MatrixOne to MySQL CDC
Change Data Capture (CDC) from MatrixOne to MySQL supports real-time disaster recovery for users transitioning from MySQL, maintaining data continuity.
Table-level Publish-Subscribe
Building on previous database-level publish/subscribe, table-level publish-subscribe in this release enables more granular control over data change synchronization, providing enhanced flexibility for data management.
Additional Updates
SQL Enhancements
- Added support for
rename table
,create pitr
,drop pitr
,alter pitr
,restore pitr
,show pitrs
. - Optimized
show publications
and show subscriptions
. - Enhanced
load data infile
command to support user-defined column order.
Data Types
- Support datalink data type
Indexes and Constraints
- Support Full-text Index
Functions and Operators
- Support JSON functions:
json_row
,jq
,try_jq
,json_extract_string
,json_extract_float64
functions. - Enhanced date manipulation for
now()
function.
Tools
- mo-backup: Supports PiTR management.
- mo_cdc: supports CDC task management.
MySQL Compatibility
- Support Encode()/Decode() function
Quick Start
Community users and enterprise developers can try MatrixOne with the following command:
docker pull matrixorigin/matrixone:2.0.0
For more details, including architectural insights, installation guides, and tutorials, visit our documentation site. Join our discussions or share feedback on GitHub or in our community WeChat group.
Known Issues
- Standby clusters currently do not support synchronization of data in external tables or stages.
- Standby clusters support only cold backups and cannot be opened in read-only mode.
- CDC supports only table-level data synchronization.
- Snapshot backups support cluster and tenant levels, with restoration possible at the cluster, tenant, database, or table level.
- Snapshots and PiTR backups cannot recover deleted tenant data.
New Contributors
- @zuyu made their first contribution in #16402
- @Aoang made their first contribution in #14897
- @Cyberleu made their first contribution in #19014
Full Changelog: v1.2.4...v2.0.0
v1.2.3-hotfix-20241016
What's Changed
- fix Intersection2Vector panic by @gouhongshen in #19383
Full Changelog: v1.2.3-hotfix-20241010...v1.2.3-hotfix-20241016
v1.2.3-hotfix-20241010
v1.2.4
Release Date: September 23, 2024
MatrixOne Version: v1.2.4
This hotfix addresses several critical issues and includes minor improvements aimed at enhancing stability and performance.
What's Changed
- make query with limit run in single parallel by @badboynt1 in #18803
- cp to 1.2-dev 'fix ndv calculation to make it more accurate' by @badboynt1 in #18848
- fix json extract function(#1.2 hotfix) by @YANGGMM in #18849
- cp to 1.2-dev 'fix the condition for runtime filters (#18496)' by @badboynt1 in #18860
Full Changelog: v1.2.3-hotfix-20240916...v1.2.4
v1.2.3-hotfix-20240916
Release Date: September 16, 2024
MatrixOne Version: v1.2.3-hotfix-20240916
This hotfix addresses several critical issues and includes minor improvements aimed at enhancing stability and performance.
Bug Fixes
- Resolved a transaction retrieval issue in GetOrCreateTxnWithMeta.
- Fixed incorrect value retrieval for unique and secondary keys.
- Corrected a panic issue in KillRoutineConnections.
- Fixed a proxy panic when killing a connection.
- Resolved a bug where sessions could not be transferred after using LOAD DATA LOCAL INFILE.
- Fixed range checkpoint inconsistencies.
What's Changed
- add summary for txnBlock(1.2-dev only) by @aptend in #18691
- fix GetOrCreateTxnWithMeta not get txn error by @w-zr in #18705
- bug fix: unique key/secondary key get incorrect value (#18711) by @ouyuanning in #18717
- set srv.pu before creating hakeeper client by @w-zr in #18672
- Method for reading query results during upgrade modification by @qingxinhome in #18731
- fix KillRoutineConnections panic by @YANGGMM in #18726
- [bug] proxy: fix panic when kill connection by @volgariver6 in #18756
- support order by limit optimization for non-sorted columns by @badboynt1 in #18760
- cp to 1.2-dev 'fix a bug that cause hashmap data wrong' by @badboynt1 in #18779
- [tech] pprof: dump malloc profile by @volgariver6 in #18768
- remove the 1024bytes limit for group_concat result. by @m-schen in #18786
- add support rollback running txn to 1.2 by @zhangxu19830126 in #18775
- [bug] proxy: session cannot be transferred after load data local infile by @volgariver6 in #18787
- fix range checkpoint by @jiangxinmeng1 in #18799
Full Changelog: v1.2.3...v1.2.3-hotfix-20240916
MatrixOne-v1.2.3
Release Date: September 11, 2024
MatrixOne Version: v1.2.3
Compared to the previous version, v1.2.3 focuses on bug fixes, performance optimizations, and minor feature enhancements, without introducing major new features.
Improvements
- Memory Optimization: Enhancements in memory usage, particularly for duplicate checks, SEMI Join, and TableScan operations.
- Enhanced Logging: Added logs for account restrictions, account suspensions, and additional operations, improving debugging and monitoring capabilities.
- Performance Enhancements: Optimized handling of LIMIT 0 queries, improved dynamic cache management, and refined query performance for JSON type ordering.
Bug Fixes
This release addresses multiple issues related to memory usage, transaction handling, proxy connection stability, and more. These fixes improve the overall stability and reliability of MatrixOne.
What’s Changed
- [cherry-pick] : cherry-pick 17161 17020 16522 to save memory useage for dup check and clean up code by @jensenojs in #17211
- add log for account restricted by @YANGGMM in #17327
- fileservice: fix TestFuzzingDiskS3 by @reusee in #17470
- [CherryPick]: Reduce mp.Grow2 in SEMI Join and TableScan Operator by @arjunsk in #17482
- fix restore slow (#1.2-dev) by @YANGGMM in #17288
- Cp 1.2.2 hotfix by @sukki37 in #17554
- fileservice: fix missing free in tests by @reusee in #17544
For a full list of changes and improvements, refer to the complete changelog.
This release is part of our ongoing effort to ensure MatrixOne’s stability, performance, and usability, offering refinements that contribute to a smoother and more efficient database experience.
MatrixOne-v1.2.2
Release date: July 12, 2024
MatrixOne version: v1.2.2
Compared with the previous v1.2.1, v1.2.2 doesn't introduce new features but only focuses on bug fixes and minor optimizations.
Improvements
- Support
GROUP BY 1
,MAKEDATE
- Add runtime metrics
- Support reload auto increment cache
- Allow loading file info asynchronously for the disk cache
- Optimize flush and merge
Bugfix
Fixed bugs related to partition state, proxy, MySQL compatibility, lockservice, stats, and merge memory control. Check the What's Changed section for details.
What's Changed
- [fix] remove unnecessary values from the second parameter of prefix_in (cp #17111 to 1.2) by @aunjgr in #17186
- Add CoreDump when CachedData is nil by @LeftHandCold in #17219
- memorycache: do not allow nil Data by @reusee in #17222
- [bug] proxy: fix the connection id when send request to cn server. by @volgariver6 in #17228
- fix unlock fatal when tn restart by @iamlinjunhong in #17237
- fix always return illegal state error on special connection to 1.2 by @zhangxu19830126 in #17251
- cherry-pick stats related fix into 1.2-dev by @badboynt1 in #17260
- cp 17265 into 1.2-dev by @badboynt1 in #17268
- support last_day and makedate (#1.2-dev) by @YANGGMM in #17277
- add debug info for remap error by @daviszhen in #17256
- cherry-pick: remove compilectx by @daviszhen in #17257
- fix show create External table-1.2-dev by @qingxinhome in #17172
- Fix show columns compatibility issues1.2 dev by @qingxinhome in #17199
- fix bvt test(#1.2-dev) by @YANGGMM in #17284
- cherry-pick to 1.2-dev 'fix a bug that cause wrong parallelism for tpch' by @badboynt1 in #17297
- cherry-pick runtime metrics changes by @reusee in #17272
- Fix set global var do not work cross cns by @ck89119 in #17273
- Cherry-pick-fix-bugs[Dup/WW/Data-corruption] by @triump2020 in #17312
- When DDL statement has been executed within a transaction, force the use of a single CN by @ouyuanning in #17282
- fix dual by @daviszhen in #17279
- cherry-pick to 1.2-dev 'fix a bug that cause tpch performance regression ' by @badboynt1 in #17315
- retry lock when cn down by @iamlinjunhong in #17320
- Cherry pick- fix-snapshot-read-bug[txn is stale: timestamp is too small] (#17271) by @triump2020 in #17306
- fix data race when get deltaloc on 1.2-dev by @w-zr in #17319
- Merge delta loc 1.2 dev by @w-zr in #17328
- fix enum type op in one transaction (#1.2-dev) by @YANGGMM in #17285
- [pick to 1.2] fix a bug that process's cancel not match to its context by @m-schen in #17349
- Fix Location's Extend is 0 when call UpdateTableStats for 1.2 by @LeftHandCold in #17346
- fix makedate and lastday func(#1.2-dev) by @YANGGMM in #17343
- fileservice: use wrapped standard retryer in AWS sdk (#17250) by @reusee in #17267
- update delete by deltaloc by @jiangxinmeng1 in #17246
- [enhancement] stats: reduce the parallel goroutines to update stats by @volgariver6 in #17342
- [bug] stats: fix hang issue by @volgariver6 in #17364
- fix cannot restart lockservice by @iamlinjunhong in #17371
- support reload auto increment cache to 1.2 by @zhangxu19830126 in #17369
- only create buffer when err is nil by @w-zr in #17373
- fileservice: allow loading file infos asynchronously in disk cache by @reusee in #17360
- Expansion 1.2.2 Upgrade Package by @qingxinhome in #17383
- cp to 1.2-dev "release unused memory in shuffleRange" by @badboynt1 in #17386
- add clean commit state log by @iamlinjunhong in #17390
- cp to 1.2-dev "don't calculate stats for limit 0 query" by @badboynt1 in #17400
- [enhancement] proxy: remove error logs caused by hearteabt of LB. by @volgariver6 in #17401
- [enhancement] stats: add factor to update worker number. by @volgariver6 in #17410
- [enhancement] stats: do not update the same key at the same time. by @volgariver6 in #17422
- fileservice: set finalizer on read closer to avoid potential leaks by @reusee in #17398
- fix change morpc backend state to 1.2 by @zhangxu19830126 in #17432
- metric: fix typo and register fsWriteCounter by @reusee in #17434
- cherry-pick some fileservice changes from main branch by @reusee in #17429
- using process memory usage for background task memory throttle 1.2 by @aptend in #17436
- [Cherry-pick] Alter table add column with lower_case_table_names = 0 by @ck89119 in #17407
- [plan] support "GROUP BY 1" (cp to 1.2) by @aunjgr in #17424
- 1.2 optimize flush and merge prints by @XuPeng-SH in #17437
- [fix] don't push LIMIT clause to index table if main table has filters by @aunjgr in #17446
- fix ut Test_saveQueryResultMeta panic by @CJKkkk-315 in #17450
- Fix GC MaxConsumed For Backup by @LeftHandCold in #17464
- remove an info-level log. by @m-schen in #17461
- The global checkpoint only collects the node of the last deltaLoc by @LeftHandCold in #17440
- Add bvt by @ck89119 in #17457
- Fix TestSnapshotMeta data race&failed for 1.2 by @LeftHandCold in #17460
- sort objects in ascending order by @w-zr in #17454
- Fix merge mem contro 1.2 by @aptend in #17479
- [enhancement] add concurrency when fetch objects of table by @volgariver6 in #17449
- fix makedate and last_day func (#1.2-dev) by @YANGGMM in #17473
Full Changelog: v1.2.1...v1.2.2
MatrixOne-v1.2.1
Release date: June 30, 2024
MatrixOne version: v1.2.1
Compared with the previous v1.2.0, v1.2.1 doesn't introduce new features but only focuses on bug fixes and minor optimizations.
Improvements
- Memory cache supports multiple memory allocators.
- Optimize the performance of
show accounts
. - Optimize observability metrics for fileservice.
- Support incremental backup.
- Optimize TCP packet estimation.
- Refactor mologging.
- Support restoration of system tables.
- Support manual merge based on zonemap.
Bugfix
Fixed bugs related to snapshot reads, MySQL compatibility, lockservice, runtime filters, and system table upgrades. Check the What's Changed section for details.
What's Changed
- fix query result by @daviszhen in #16266
- fix restore partition table (#1.2-dev) by @YANGGMM in #16256
- pick #16245 to 1.2 : reduce agg context memory usage. by @m-schen in #16253
- sync to 1.2: optimize
show accounts
by @gouhongshen in #16241 - modify snapshot case syntax(1.2-dev) by @Ariznawlll in #16233
- fix visit tombstone, cherry-pick #16163 by @jiangxinmeng1 in #16189
- add debug info & profile interval by @daviszhen in #16223
- move some logic from compile to run (#15983) by @ouyuanning in #16079
- Fix mo cloud-issue-3298 (#16254) by @triump2020 in #16281
- [fix] use runtime filter for multi-row prepared insert stmt (cherry-pick to 1.2-dev) by @aunjgr in #16261
- refactor tn handler 1.2 by @aptend in #16136
- Support not deleting the checkpoint referenced by the snapshot 1.2 by @LeftHandCold in #16128
- test restore fk table by @YANGGMM in #16259
- Extended version upgrade package (#16049) -1.2-dev by @qingxinhome in #16271
- handle alter table add column issue (#16122) -1.2-dev by @qingxinhome in #16267
- inc ref of new bind in restart cn by @iamlinjunhong in #16294
- fix TestDedup2, cherry-pick #16301 by @jiangxinmeng1 in #16302
- syn to 1.2: collecting
the mo_database, mo_tables, mo_columns
and cluster table size for non-sys account. by @gouhongshen in #16287 - GC needs to be compatible with the earliest checkpoint for 1.2 by @LeftHandCold in #16305
- GC tombstone object (#16102) 1.2 by @LeftHandCold in #16238
- Refactor: change Chan of WaitRegister from *Batch to *Message(contains batch & error) by @ouyuanning in #16263
- change keep_user_target_list_in_result default to 1 by @YANGGMM in #16234
- Improve sql usage 1.2 dev by @w-zr in #16277
- fix 11250 on 1.2-dev by @w-zr in #16327
- pick 16239 and 16248 to 1.2-dev by @XuPeng-SH in #16257
- convert dup error if txn is orphan to 1.2 by @zhangxu19830126 in #16334
- fix TestRemovedCronTask panic on 1.2-dev by @w-zr in #16323
- fix restore view table (#1.2-dev) by @YANGGMM in #16330
- fix can not connect to remote backend when down cn by @iamlinjunhong in #16329
- fileservice: add i/o timeout as retryable error by @reusee in #16347
- add case for restore view(1.2-dev) by @Ariznawlll in #16335
- update save profile by @daviszhen in #16356
- fix show create table with fk in other database (#1.2-dev) by @YANGGMM in #16349
- add some recover logs by @volgariver6 in #16363
- fix rollback create table by @jiangxinmeng1 in #16369
- fix does not unlock deadlock txn by @iamlinjunhong in #16382
- fileservice: more metrics for Read by @reusee in #16390
- rm tag 16311 16306 16297(1.2-dev) by @Ariznawlll in #16396
- sync to 1.2: remove the old fast ranges and update metrics by @gouhongshen in #16359
- fix force flush timeout by @jiangxinmeng1 in #16381
- [bug] proxy: do not add to queue multi times when scaling CN by @volgariver6 in #16388
- add txn id by @daviszhen in #16395
- remove NullComputationWrapper by @daviszhen in #16290
- [cherry-pick-16195] : remove lock op for secondary index by @jensenojs in #16409
- Fix GetByteSlice out range for 1.2 by @LeftHandCold in #16418
- Optimize the estimation of tcp packet num send back to client in mo1.2 by @xzxiong in #16412
- fix panic during merge on 1.2-dev by @w-zr in #16416
- [opt] merge filters on composite primary keys in plan (cp to 1.2-dev) by @aunjgr in #16406
- fix 15848, cherry-pick #16435 by @jiangxinmeng1 in #16436
- sync to 1.2, re-pr: remove the old fast ranges and update metrics by @gouhongshen in #16444
- Fix fifocache evict for 1.2 by @LeftHandCold in #16451
- refactor mo logging for rawlog and statement_info in mo1.2 by @xzxiong in #16411
- [Cherry-pick] fix snapshot restore fk cross db by @ck89119 in #16454
- Optimize QueryResult decoupling from motrace in mo1.2 by @xzxiong in #16426
- cherry_pick-Supports Information_Schema
FILES
and is compatible with MySQL (#15… by @qingxinhome in #16457 - [cherry-pick-16445] : use ctx instead of proc.ctx for rangesOnePart by @jensenojs in #16465
- Fix-RW-Conflict by @triump2020 in #16477
- fix txnid by @daviszhen in #16458
- [cherry-pick-16424] : add log to track 16273 by @jensenojs in #16472
- chore: stable bvt/result_count.sql result check and enable load_data_LOCAL_infile case in mo1.2 by @xzxiong in #16478
- pick pr #16452 to 1.2-dev, fix a bug will cause hung if error happens. by @m-schen in #16453
- Support upgrading to skip Genesis version functionality-1.2-dev by @qingxinhome in #16486
- delay Ranges for partitioned table-1.2-dev by @qingxinhome in #16268
- fix stats misuse in some cases to 1.2-dev by @badboynt1 in #16500
- [CherryPick] : Fix failed BVT query in Secondary Index (#16429) by @arjunsk in #16499
- add test for restore view table and fk table (#1.2-dev) by @YANGGMM in #16432
- sync to 1.2: supporting reader linear search on unsorted fake pk col by @gouhongshen in #16461
- add hidden force option for objprune 1.2 by @aptend in #16514
- support restore system table (#1.2-dev) by @YANGGMM in #16462
- sync to 1.2: skip collecting
mo_tables, mo_databases, mo_columns
and cluster tables for non-sys. by @gouhongshen in #16515 - chore: make sure no aggr in bvt result_count in 1.2 by @xzxiong in #16536
- remove log print from automaxprocs to 1.2-dev by @badboynt1 in #16547
- malloc: fix log level by @reusee in #16509
- fix lock service ut by @iamlinjunhong in #16518
- support merge objects by table id on 1.2-dev by @w-zr in #16520
- sync to 1.2: making collect dirty blocks lazily by @gouhongshen in #16527
- chore: refactor purge_log calling objprune if target_date + 24h <= now (mo1.2) by @xzxiong in #16550
- sync to 1.2: filter optimization of the loa...
MatrixOne-v1.2.0
We are excited to announce MatrixOne 1.2.0 release!
MatrixOne is a hyper-converged cloud-native database. It is designed to provide a cloud-native, high-performance, highly scalable, MySQL-compatible HTAP database. MatrixOne enables users to handle mixed workloads such as transactions, analytics, time-series, and streaming processing through a one-stop data processing solution.
What's New in v1.2.0?
Snapshot Backup and Restore (Beta)
Database snapshot is an efficient technology for database backup and recovery, providing a read-only static copy of the database at a specific point in time. It assists database administrators and developers in performing various operations while ensuring the consistency and integrity of the data.
- Support for tenant-level snapshot backup and restore using the mo_br tool and sql statement.
- Support for uninterrupted database operation during the snapshot creation process.
- Support for rapidly restoring data to the state at the time of backup, effectively reducing the Recovery Time Objective (RTO).
Incremental Physical Backup(Enterprise Edition)
On the basis of full backup in the mo_backup tool, we support for incremental backup feature , which only backs up the newly changed data, significantly reducing the backup time and storage space requirements.
CTAS
Support for CTAS (Create Table As Select).CTAS is an SQL statement used to quickly create a new table based on existing data. It combines the functionality of table creation with a select query, providing an efficient way to create snapshots of tables, perform data transformations, or build data models for reporting and analysis.
BITMAP Fast Deduplication
BITMAP is a set of built-in functions for handling bitmaps, mainly used for rapid deduplication of large volumes of data.
- Support for rapid data deduplication using BITMAP functions.
- Support for determining the bucket number with the BITMAP_BUCKET_NUMBER() function.
- Support for returning the relative bit position within a bucket using the BITMAP_BIT_POSITION() function.
- Support for constructing bitmaps with the BITMAP_CONSTRUCT_AGG() function.
Vector Index
- Support for using vector indexing to accelerate KNN queries.
Other New Features
SQL Statements
- Support for
INSERT IGNORE
- Support for
CREATE TABLE ... LIKE
- Support for
CREATE INDEX ... USING IVFFlat
- Support for
ALTER TABLE ... ALTER REINDEX
- Support for
LOAD DATA ... CHARACTER SET
- Support for
CREATE SNAPSHOT
- Support for
SHOW SNAPSHOTS
- Support for
RESTORE ACCOUNT
- Support for
DROP SNAPSHOT
- Optimized
ALTER PUBLICATION
- Optimized
SHOW PUBLICATIONS
- Optimized
SHOW SUBSCRIPTIONS
Date Type
- Support for
bit
Indexes and Constraints
- Support for Vector Index
Built-in Functions and Operators
- Added SYSDATE date function.
- Added TO_BASE64 and FROM_BASE64 encoding and decoding functions.
- Added MD5 and SHA1/SHA encryption functions.
- Added SUBVECTOR function for extracting subvectors.
- Added SERIAL_EXTRACT function for extracting sub-elements.
- Added CLUSTER_CENTERS cluster centers function.
- Support operations between vector and scalar.
System Parameters
- Added keep_user_target_list_in_result.
- Added foreign_key_checks.
MySQL Compatibility
- Refactored the CSV reader and CSV splitting to maintain compatibility with MySQL.
Known Issues
- Vector Index works only in l2_distance.
- Only support tenant-level snapshot backup and restore.
- Snapshot restore works as logical restore, requiring quite a lot of CPU and memory resources.
- Memory leak occasionally happens and may lead to an OOM error.
- Occasional system hung under high concurrency workload.
Full Changelog:v1.1.3...v1.2.0