Skip to content

stonedb-5.7-v1.0.4-alpha

Latest
Compare
Choose a tag to compare
@Nliver Nliver released this 30 Jun 11:08
· 159 commits to stonedb-5.7-dev since this release
5.7-v1.0.4-alpha
bf353dc

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

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

New Contributors

Full Changelog: 5.7-v1.0.3-GA...5.7-v1.0.4-alpha