stonedb icon indicating copy to clipboard operation
stonedb copied to clipboard

bug: SELECT name, LENGTH(name), n FROM t2 WHERE name='cc '; The query result data is incomplete

Open shangyanwen opened this issue 1 year ago • 3 comments

Describe the problem

CREATE TABLE t1 (name varchar(255))engine=stonedb;
CREATE TABLE t2 (name varchar(255), n int, KEY (name(3)))engine=stonedb;
INSERT INTO t1 VALUES ('ccc'), ('bb'), ('cc '), ('aa  '), ('aa');
INSERT INTO t2 VALUES ('bb',1), ('aa',2), ('cc   ',3);
INSERT INTO t2 VALUES (concat('cc ', 0x06), 4);
INSERT INTO t2 VALUES ('cc',5), ('bb ',6), ('cc ',7);

SELECT name, LENGTH(name), n FROM t2 WHERE name='cc '; 
##The error results are as follows
+------+--------------+------+
| name | LENGTH(name) | n    |
+------+--------------+------+
| cc   |            3 |    7 |
+------+--------------+------+
1 row in set (0.01 sec)

Expected behavior

##The following is:innodb test result

SELECT name, LENGTH(name), n FROM t2 WHERE name='cc ';
+-------+--------------+------+
| name  | LENGTH(name) | n    |
+-------+--------------+------+
| cc    |            5 |    3 |
| cc    |            2 |    5 |
| cc    |            3 |    7 |
+-------+--------------+------+
3 rows in set (0.01 sec)

How To Reproduce

CREATE TABLE t1 (name varchar(255))engine=stonedb;
CREATE TABLE t2 (name varchar(255), n int, KEY (name(3)))engine=stonedb;
INSERT INTO t1 VALUES ('ccc'), ('bb'), ('cc '), ('aa  '), ('aa');
INSERT INTO t2 VALUES ('bb',1), ('aa',2), ('cc   ',3);
INSERT INTO t2 VALUES (concat('cc ', 0x06), 4);
INSERT INTO t2 VALUES ('cc',5), ('bb ',6), ('cc ',7);

SELECT name, LENGTH(name), n FROM t2 WHERE name='cc ';

Environment

  1. StoneDB for mysql5.7 (release)
  2. Ubuntu 20.04.4

Are you interested in submitting a PR to solve the problem?

  • [ ] Yes, I will!

shangyanwen avatar Jul 21 '22 10:07 shangyanwen

With both stonedb_insert_delayed=0/1:

mysql> select * from t2;
+-------+------+
| name  | n    |
+-------+------+
| bb    |    1 |
| aa    |    2 |
| cc    |    3 |
| cc   |    4 |
| cc    |    5 |
| bb    |    6 |
| cc    |    7 |
+-------+------+

distinct not work?

mysql> select distinct name from t2;
+-------+
| name  |
+-------+
| bb    |
| aa    |
| cc    |
| cc   |
| cc    |
| bb    |
| cc    |
+-------+
7 rows in set (0.01 sec)

hustjieke avatar Jul 24 '22 16:07 hustjieke

stonedb 5.7_v1.0.1,Regression This bug still exists

shangyanwen avatar Sep 26 '22 09:09 shangyanwen

ACK

duanfuxiang0 avatar Sep 29 '22 12:09 duanfuxiang0

#247

duanfuxiang0 avatar Oct 11 '22 12:10 duanfuxiang0

If the verification is successful, the space problem is not handled

shangyanwen avatar Oct 17 '22 07:10 shangyanwen