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:
- Fixed a crash caused by incremental data when importing data #1805
- Fixed a crash caused by the result set of the union all clause, #1875
- 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
- Fix the default value problem of adding columns in the master and slave scenarios. #1187
- Fix the incorrect result set problem when using case…when in derived table. #1784
- Fix the incorrect result problem caused by precision loss when performing bit operations when the type is time. #1173
- Fix the incorrect query result problem caused by overflow when the type is bigint. #1564
- Fix the incorrect result problem when the filter condition is hexadecimal. #1625
- Fix the problem that the default value on the table did not take effect when importing data using the “load data” command. #1865
- Modify the default field separator of the load command to make it consistent with mysql behavior. #1609
- Fix the query error caused by abnormal metadata. #1822
- Improve MTR stability on github.
What's Changed
- docs(downlaod):update the docs of download(#1453) by @Nliver in https://github.com/stoneatom/stonedb/pull/1454
- fix(mtr):Resolve the nightly run error problem(#1458) by @konghaiya in https://github.com/stoneatom/stonedb/pull/1459
- fix(workflow): fix can not run lcov in workflow by @RingsC in https://github.com/stoneatom/stonedb/pull/1396
- feat(tianmu):New configuration parameters: "tianmu_mandatory" and "tianmu_no_key_error (#1462)" by @konghaiya in https://github.com/stoneatom/stonedb/pull/1466
- fix(tianmu):(Primary/Secondary)Error 1032 occasionally occurs during … by @konghaiya in https://github.com/stoneatom/stonedb/pull/1469
- test(mtr): add integer/unsigned/in subquery/create temporary testcases and update escape.test(#1196) by @davidshiz in https://github.com/stoneatom/stonedb/pull/1471
- fix(stonedb): Corrected errors in the documentation and updated the script of the official website(#1494) by @Nliver in https://github.com/stoneatom/stonedb/pull/1500
- fix(website): fix Baidu statistics script(#1502) by @Nliver in https://github.com/stoneatom/stonedb/pull/1503
- test(mtr): Optimize parallel scheduling to execute more innodb engine testcases, add date type and std func testcase(#1196) by @davidshiz in https://github.com/stoneatom/stonedb/pull/1504
- fix(tianmu): fix crash when the aggregated element was decimal (#1402) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1506
- build(deps): bump nth-check and unist-util-select in /website by @dependabot in https://github.com/stoneatom/stonedb/pull/741
- docs(stonedb): update the docs by @Nliver in https://github.com/stoneatom/stonedb/pull/1509
- fix(workflow): remove dup lines in git workflow(#1517) by @zzzz-vincent in https://github.com/stoneatom/stonedb/pull/1531
- feat(tianmu): mv func from public to protected(#1501) by @zzzz-vincent in https://github.com/stoneatom/stonedb/pull/1527
- fix(tianmu):Resolve DDL and insert inot select Possible space inflation issues(#366) by @konghaiya in https://github.com/stoneatom/stonedb/pull/1497
- fix(tianmu):The myloader cann't work if the autocommit is closed. (#1510) by @konghaiya in https://github.com/stoneatom/stonedb/pull/1524
- fix(core): fix bug: The instance occasionally crashes if both fields … by @wisehead in https://github.com/stoneatom/stonedb/pull/1528
- fix: page hover font style by @Agility6 in https://github.com/stoneatom/stonedb/pull/1535
- feat(mtr): To fix the mtr usage by @RingsC in https://github.com/stoneatom/stonedb/pull/1537
- fix(tianmu):The mysqld is crashed when you are starting replication.(#1523) by @konghaiya in https://github.com/stoneatom/stonedb/pull/1540
- fix(optmizer):fix the crashes when the right table of hash join is in parallel(#1538) by @wisehead in https://github.com/stoneatom/stonedb/pull/1541
- feat(tianmu): To support volcano framwork by @RingsC in https://github.com/stoneatom/stonedb/pull/1543
- docs(quickstart): add stonedb-8.0 compiling guide #1449 by @Double0101 in https://github.com/stoneatom/stonedb/pull/1514
- fix(website): fix website error #1449 by @Double0101 in https://github.com/stoneatom/stonedb/pull/1548
- feat(tianmu): support volcano framewrok by @RingsC in https://github.com/stoneatom/stonedb/pull/1546
- fix(tianmu): revert code, mv ret value from try block back to catch block. (#1532) by @Dysprosium0626 in https://github.com/stoneatom/stonedb/pull/1555
- feat(tiamnu): hard code in defs.h (#1481) by @zzzz-vincent in https://github.com/stoneatom/stonedb/pull/1533
- docs:update the compile guides #1562 by @chenshengjiang in https://github.com/stoneatom/stonedb/pull/1565
- test(mtr): add more innodb testcases and tianmu range testcase(#1196) by @davidshiz in https://github.com/stoneatom/stonedb/pull/1569
- fix(tianmu):Remove excess log printing and add some code comments(#1545) by @konghaiya in https://github.com/stoneatom/stonedb/pull/1547
- fix(tianmu): fix mysqld crash when exec query with AggregateRough, assert failed on i < m_idx.size() at tianmu_attr.h:387, msg: [bad dpn index 0/0] (#1580) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1582
- docs(webstie): update the latest website content by @Nliver in https://github.com/stoneatom/stonedb/pull/1589
- feat(tianmu): support volcano framework by @RingsC in https://github.com/stoneatom/stonedb/pull/1554
- fix: max-width navbar search style by @Agility6 in https://github.com/stoneatom/stonedb/pull/1600
- feat(website): Update site dependencies and fix some issues by @Nliver in https://github.com/stoneatom/stonedb/pull/1606
- fix(tianmu):The instance occasionally crashes when the memory leak. (#1549) by @konghaiya in https://github.com/stoneatom/stonedb/pull/1598
- fix(website): fix the wrong QR code(#1624) by @Nliver in https://github.com/stoneatom/stonedb/pull/1634
- fix(tianmu):assert failed on oldv <= dpn_->max_i at pack_int.cpp:337 (#1610) by @konghaiya in https://github.com/stoneatom/stonedb/pull/1627
- fix(tianmu): fix mysqld crash when query where JOIN::propagate_dependencies… (#1628) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1639
- fix(tianmu): fix MySQL server has gone away when exec query (#1641 #1640) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1642
- fix(tianmu):Support insert ignore syntax (#1637) by @konghaiya in https://github.com/stoneatom/stonedb/pull/1643
- fix(tianmu): fix query input variables wrong result (#1647) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1660
- fix(tianmu): fix result of the query using the subquery derived table is incorrect (#1662) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1688
- fix(tianmu): fix results of two queries using a derived table and a custom face change are incorrect (#1696) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1697
- feat(tianmu): Test cases that supplement custom variables (#1703) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1705
- fix(tianmu): fix mysqld crash when assigning return values using both custom variables and derived tables (#1707) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1744
- fix(tianmu): Insert ignore can insert duplicate values.(#1699) by @konghaiya in https://github.com/stoneatom/stonedb/pull/1746
- fix(tianmu): fix error occurred in the union all query result (#1599) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1750
- feat(sql): code refactor for misleading-indentation(#1542) by @zzzz-vincent in https://github.com/stoneatom/stonedb/pull/1646
- docs(quickstart): add stonedb-8.0 compiling guide for CentOS 7.x by @xxq-xu in https://github.com/stoneatom/stonedb/pull/1756
- fix(tianmu):Even if a primary key is defined, duplicate data may be imported.(#1648) by @konghaiya in https://github.com/stoneatom/stonedb/pull/1766
- feat: add delete/drop into tianmu log stat by @duanjr in https://github.com/stoneatom/stonedb/pull/1747
- fix(tianmu): fix Error result set of the IN subquery with semi join (#1764) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1770
- doc(develop-guide): modify method for compile stonedb using docker by @Dysprosium0626 in https://github.com/stoneatom/stonedb/pull/1768
- docs: add docker compile guide of stonedb8.0.(#1780) by @chenshengjiang in https://github.com/stoneatom/stonedb/pull/1783
- feat(tianmu): remove DBUG_OFF and repalce DEBUG_ASSERT with assert by @duanjr in https://github.com/stoneatom/stonedb/pull/1751
- fix(tianmu): fix storage of DT type by @duanjr in https://github.com/stoneatom/stonedb/pull/1752
- fix(tinmu): fix tianmu crash when set varchar to num when order by by @adofsauron in https://github.com/stoneatom/stonedb/pull/1807
- docs(website): update the documentation for Compile StoneDB 8.0 in Docker(#1823) by @davidshiz in https://github.com/stoneatom/stonedb/pull/1825
- fix(tianmu): fix up the incompatible type by @RingsC in https://github.com/stoneatom/stonedb/pull/1824
- fix(tianmu): Fix up the unknown exception after instance killed randomly by @RingsC in https://github.com/stoneatom/stonedb/pull/1841
- fix(tianmu): fix up the incorrect meta-info leads unexpected behavior by @RingsC in https://github.com/stoneatom/stonedb/pull/1840
- fix(workflow): nightly build failed #1830 by @hustjieke in https://github.com/stoneatom/stonedb/pull/1836
- feat(tianmu): revert assert() --> debug_assert() #1551 by @hustjieke in https://github.com/stoneatom/stonedb/pull/1842
- feat(tianmu): fixup the default delimeter for load data by @RingsC in https://github.com/stoneatom/stonedb/pull/1843
- fix(tianmu): revert PR #1841. by @RingsC in https://github.com/stoneatom/stonedb/pull/1850
- fix(tianmu): fix up mtr test case for delim of load data command by @RingsC in https://github.com/stoneatom/stonedb/pull/1854
- fix(tianmu): fix up the
group_concat
function in tianmu by @RingsC in https://github.com/stoneatom/stonedb/pull/1852 - fix(tianmu): To fixup the instance crashed if the result of aggregate is out of boundary by @RingsC in https://github.com/stoneatom/stonedb/pull/1856
- docs(developer-guide): update the compiling guide of StoneDB 8.0 for CentOS 7.x #1817 by @xxq-xu in https://github.com/stoneatom/stonedb/pull/1834
- fix(tianmu): Fixup the mem leakage of aggregation function by @RingsC in https://github.com/stoneatom/stonedb/pull/1867
- fix(tianmu): fix UNION of non-matching columns and express with aggregation (#1861 #1864 #1873 #1870) by @adofsauron in https://github.com/stoneatom/stonedb/pull/1881
- test(tianmu): add order by sentence in the mtr case various_join.test by @xxq-xu in https://github.com/stoneatom/stonedb/pull/1886
- test(mtr): add more test cases for tianmu(#1196) by @davidshiz in https://github.com/stoneatom/stonedb/pull/1888
- test(mtr): add order by sentence in the mtr case various_join.test by @xxq-xu in https://github.com/stoneatom/stonedb/pull/1891
- ci(codecov): update the config by @Nliver in https://github.com/stoneatom/stonedb/pull/1898
- fix(tianmu): To suuport ignore option for update statement by @RingsC in https://github.com/stoneatom/stonedb/pull/1884
- ci(codecov): update the codecov congfig by @Nliver in https://github.com/stoneatom/stonedb/pull/1899
- docs(intro): update the support for 8.0 by @Nliver in https://github.com/stoneatom/stonedb/pull/1901
- workflow(codecov): Filter out excess code files by @Nliver in https://github.com/stoneatom/stonedb/pull/1905
- workflow(coverage): Update the lcov running logic(#1908)(##1592) by @Nliver in https://github.com/stoneatom/stonedb/pull/1909
- fix(tianmu): default value of the field take unaffect in load #1865 by @Double0101 in https://github.com/stoneatom/stonedb/pull/1896
- fix(tianmu): To support union(all) the statement which is without from clause by @RingsC in https://github.com/stoneatom/stonedb/pull/1887
- fix(tianmu): To remove unnessary optimization in tianmu by @RingsC in https://github.com/stoneatom/stonedb/pull/1911
- fix(tianmu): hotfix corruption in ValueOrNull under multi-thread by @RingsC in https://github.com/stoneatom/stonedb/pull/1869
- fix(tianmu): incorrect result when using where expr and args > bigint_max #1564 by @Double0101 in https://github.com/stoneatom/stonedb/pull/1902
- fix(tianmu): add TIME_to_ulonglong_time_round process and fix up precision loss problem (#1173) by @xxq-xu in https://github.com/stoneatom/stonedb/pull/1895
New Contributors
- @zzzz-vincent made their first contribution in https://github.com/stoneatom/stonedb/pull/1531
- @Agility6 made their first contribution in https://github.com/stoneatom/stonedb/pull/1535
- @Dysprosium0626 made their first contribution in https://github.com/stoneatom/stonedb/pull/1555
- @xxq-xu made their first contribution in https://github.com/stoneatom/stonedb/pull/1756
- @duanjr made their first contribution in https://github.com/stoneatom/stonedb/pull/1747
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)
源项目地址