Stability improvements, new utility features, bug fixes
-----BEGIN SSH SIGNATURE-----
U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgOr23xFF/qazVOWVJQbQvNxj0/W
mA65qTzClmrfcCEx0AAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5
AAAAQBccML5ndIB3DA+2socfMyXVhrBK1JWdnT8Antm28FFRSEVV+9irtgtKuPbOin9QLk
qssQsYiYEPntDyFLlilwU=
-----END SSH SIGNATURE-----

Release Notes for stonedb-5.7-v1.0.4-alpha

  • Version Number: 5.7-v1.0.4-alpha
  • Release Date: 2023-06-30

Stability:

  1. Fixed a crash caused by incremental data when importing data #1805
  2. Fixed a crash caused by the result set of the union all clause, #1875
  3. Fixed a crash caused by using aggregate functions in large data scenarios, #1855

New features

2.1. Support for update ignore syntax feature.

When updating tianmu, records with primary key conflicts will be skipped and subsequent update operations will be performed. For example:

CREATE TABLE t1  (id int(11) NOT NULL auto_increment,  parent_id int(11) DEFAULT '0' NOT NULL,  level tinyint(4)
DEFAULT '0' NOT NULL, PRIMARY KEY (id)) engine=tianmu;
INSERT INTO t1 VALUES (3,1,1),(4,1,1);

Executing the update ignore t1 set id=id+1; statement will ignore the update of PK=3, because the updated primary key will conflict with PK=4. Then continue to execute the update of pk=4, and the updated PK=5.

mysql>  CREATE TABLE t1  (id int(11) NOT NULL auto_increment,  parent_id int(11) DEFAULT '0' NOT NULL,  level tinyint(4)
         -> DEFAULT '0' NOT NULL, PRIMARY KEY (id)) engine=tianmu;
Query OK, 0 rows affected (0.01 sec)

mysql>   INSERT INTO t1 VALUES (3,1,1),(4,1,1);
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> update t1 set id=id+1;
ERROR 1062 (23000): Duplicate entry '4' for key 'PRIMARY'
mysql> select * from t1; 
+----+-----------+-------+
| id | parent_id | level |
+----+-----------+-------+
|  3 |         1 |     1 |
|  4 |         1 |     1 |
+----+-----------+-------+
2 rows in set (0.00 sec)

mysql> update ignore t1 set id=id+1;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> select * from t1; 
+----+-----------+-------+
| id | parent_id | level |
+----+-----------+-------+
|  3 |         1 |     1 |
|  5 |         1 |     1 |
+----+-----------+-------+
2 rows in set (0.00 sec)

2.2 Support row format for “load data” statement.

When stonedb is used as the primary database, the load statement will be executed on the backup database in the form of “insert into”.

2.3 Support AggregatorGroupConcat function

mysql> select GROUP_CONCAT(t.id) from sequence t;
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GROUP_CONCAT(t.id)                                                                                                                                                                         |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 3000000000010000,3000000000010001,3000000000010002,3000000000010003,3000000000010004,3000000000010005,3000000000010006,3000000000010007,3000000000010008,3000000000010009,3000000000010010 |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

2.4 Support using select 111 or select 111 from dual scenarios in uion/union all

mysql>  select id from tt union all select 2222 c1 from dual;
+------+
| id   |
+------+
| 1111 |
| 2222 |
+------+

mysql>  select id from tt union all select 2222 ;
+------+
| id   |
+------+
| 1111 |
| 2222 |
+------+
-- PS:select 111(from dual) appears in a position other than that of the first clause

Others Bug fixs

  1. Fix the default value problem of adding columns in the master and slave scenarios. #1187
  2. Fix the incorrect result set problem when using case…when in derived table. #1784
  3. Fix the incorrect result problem caused by precision loss when performing bit operations when the type is time. #1173
  4. Fix the incorrect query result problem caused by overflow when the type is bigint. #1564
  5. Fix the incorrect result problem when the filter condition is hexadecimal. #1625
  6. Fix the problem that the default value on the table did not take effect when importing data using the “load data” command. #1865
  7. Modify the default field separator of the load command to make it consistent with mysql behavior. #1609
  8. Fix the query error caused by abnormal metadata. #1822
  9. Improve MTR stability on github.

What's Changed

New Contributors

Full Changelog: https://github.com/stoneatom/stonedb/compare/5.7-v1.0.3-GA...5.7-v1.0.4-alpha

项目简介

StoneDB is an Open-Source MySQL HTAP and MySQL-Native DataBase for OLTP, Real-Time Analytics, a counterpart of MySQLHeatWave. (https://stonedb.io)

🚀 Github 镜像仓库 🚀

源项目地址

https://github.com/stoneatom/stonedb

发行版本 11

stonedb-5.7-v1.0.4-alpha

全部发行版

贡献者 13

全部贡献者

开发语言

  • C++ 52.1 %
  • C 38.6 %
  • Perl 3.1 %
  • Objective-C 1.1 %
  • Yacc 0.8 %