stonedb icon indicating copy to clipboard operation
stonedb copied to clipboard

bug: run tianmu unit test locally having 'ERROR HY000: Unknown error' fail cases

Open zzzz-vincent opened this issue 1 year ago • 1 comments

Have you read the Contributing Guidelines on issues?

Please confirm if bug report does NOT exists already ?

  • [X] I confirm there is no existing issue for this

Describe the problem

When I run tianmu test locally with ./mysql-test-run.pl --suite=tianmu --nowarnings --force --nocheck-testcases --retry=0 --parallel=10, there are multiple test cases failed with a common pattern that an Unknown error 3236 should be parsed to a msg string as Tianmu engine does not support fulltext index.

Here are all fail cases:

[  5%] tianmu.drop_index                        w10 [ fail ]
        Test ended at 2023-05-01 01:51:18

CURRENT_TEST: tianmu.drop_index
--- /home/zeinwenwen/stonedb/build/install/mysql-test/suite/tianmu/r/drop_index.result  2023-04-03 02:00:13.000000000 +0300
+++ /home/zeinwenwen/stonedb/build/install/mysql-test/var/10/log/drop_index.reject      2023-05-01 04:51:17.748489935 +0300
@@ -26,13 +26,13 @@
 ) ENGINE=TIANMU DEFAULT CHARSET=utf8mb4;
 set session tianmu_no_key_error=OFF;
 drop index idx_id on t1;
-ERROR HY000: Tianmu engine does not support unique index.
+ERROR HY000: Unknown error 3235
 drop index idx_name on t2;
-ERROR HY000: Tianmu engine does not support fulltext index.
+ERROR HY000: Unknown error 3236
 drop index idx_firstname on t3;
-ERROR HY000: Tianmu engine does not support secondary index.
+ERROR HY000: Unknown error 3234
 drop index idx_lastname on t3;
-ERROR HY000: Tianmu engine does not support fulltext index.
+ERROR HY000: Unknown error 3236
 drop index idx_uk on t3;
-ERROR HY000: Tianmu engine does not support unique index.
+ERROR HY000: Unknown error 3235
 DROP DATABASE drop_index_test;

mysqltest: Result content mismatch

safe_process[80561]: Child process: 80562, exit: 1

[  6%] tianmu.issue848                          w1 [ fail ]
        Test ended at 2023-05-01 01:51:21

CURRENT_TEST: tianmu.issue848
mysqltest: At line 22: query 'ALTER TABLE t1 MODIFY c_varchar char(10) CHARACTER SET UTF8MB4' failed: 1030: Got error 1 from storage engine

The result from queries just before the failure was:
< snip >
  `c_text` text COMMENT 'text'
) ENGINE=TIANMU DEFAULT CHARSET=gbk
ALTER TABLE t1 CHARACTER SET latin1;
show create table t1;
Table   Create Table
t1      CREATE TABLE `t1` (
  `c_char` char(10) CHARACTER SET gbk DEFAULT NULL COMMENT 'char',
  `c_varchar` varchar(10) CHARACTER SET gbk DEFAULT NULL COMMENT 'varchar',
  `c_text` text CHARACTER SET gbk COMMENT 'text'
) ENGINE=TIANMU DEFAULT CHARSET=latin1
alter table t1  add column ex_column char(30);
show create table t1;
Table   Create Table
t1      CREATE TABLE `t1` (
  `c_char` char(10) CHARACTER SET gbk DEFAULT NULL COMMENT 'char',
  `c_varchar` varchar(10) CHARACTER SET gbk DEFAULT NULL COMMENT 'varchar',
  `c_text` text CHARACTER SET gbk COMMENT 'text',
  `ex_column` char(30) DEFAULT NULL
) ENGINE=TIANMU DEFAULT CHARSET=latin1
ALTER TABLE t1 MODIFY c_char char(10) CHARACTER SET UTF8MB4;
safe_process[80592]: Child process: 80593, exit: 1

[ 20%] tianmu.issue1185                         w2 [ fail ]
        Test ended at 2023-05-01 01:51:38

CURRENT_TEST: tianmu.issue1185
--- /home/zeinwenwen/stonedb/build/install/mysql-test/suite/tianmu/r/issue1185.result   2023-04-03 02:00:13.000000000 +0300
+++ /home/zeinwenwen/stonedb/build/install/mysql-test/var/2/log/issue1185.reject        2023-05-01 04:51:38.454539592 +0300
@@ -5,46 +5,46 @@
 # Secondary INDEX
 #
 CREATE TABLE tb_stu_info (id int(11) NOT NULL, height int(11) DEFAULT NULL,KEY height (height)) ENGINE=TIANMU;
-ERROR HY000: Tianmu engine does not support secondary index.
+ERROR HY000: Unknown error 3234
 CREATE TABLE tb_stu_info (id int(11) NOT NULL, height int(11) DEFAULT NULL,INDEX height (height)) ENGINE=TIANMU;
-ERROR HY000: Tianmu engine does not support secondary index.
+ERROR HY000: Unknown error 3234
 CREATE TABLE tb_stu_info (id int, col_name varchar(10)) ENGINE=TIANMU;
 CREATE INDEX index_name ON tb_stu_info(column_name);
-ERROR HY000: Tianmu engine does not support secondary index.
+ERROR HY000: Unknown error 3234
 ALTER TABLE  tb_stu_info  add INDEX  index_name  (col_name) ;
-ERROR HY000: Tianmu engine does not support secondary index.
+ERROR HY000: Unknown error 3234
 ALTER TABLE  tb_stu_info  add KEY  index_name  (col_name) ;
-ERROR HY000: Tianmu engine does not support secondary index.
+ERROR HY000: Unknown error 3234
 ALTER TABLE tb_stu_info DROP INDEX indx_name;
-ERROR HY000: Tianmu engine does not find the index.
+ERROR HY000: Unknown error 3243
 ALTER TABLE tb_stu_info DROP KEY indx_name;
-ERROR HY000: Tianmu engine does not find the index.
+ERROR HY000: Unknown error 3243
 ALTER TABLE tb_stu_info RENAME INDEX old_index_name TO new_index_name;
-ERROR HY000: Tianmu engine does not find the index.
+ERROR HY000: Unknown error 3243
 ALTER TABLE tb_stu_info RENAME KEY old_index_name TO new_index_name;
-ERROR HY000: Tianmu engine does not find the index.
+ERROR HY000: Unknown error 3243
 #
 # UNIQUE INDEX
 #
 CREATE TABLE tb_stu_info_2 (id int(11) NOT NULL, height int(11) DEFAULT NULL,UNIQUE KEY height (height)) ENGINE=TIANMU;
-ERROR HY000: Tianmu engine does not support unique index.
+ERROR HY000: Unknown error 3235
 CREATE TABLE tb_stu_info_2 (id int(11) NOT NULL, height int(11) DEFAULT NULL,UNIQUE INDEX height (height)) ENGINE=TIANMU;
-ERROR HY000: Tianmu engine does not support unique index.
+ERROR HY000: Unknown error 3235
 CREATE TABLE tb_stu_info_2 (id int(11) NOT NULL, height int(11) DEFAULT NULL) ENGINE=TIANMU;
 ALTER TABLE tb_stu_info_2 ADD CONSTRAINT constraint_name UNIQUE KEY(height);
-ERROR HY000: Tianmu engine does not support unique index.
+ERROR HY000: Unknown error 3235
 ALTER TABLE tb_stu_info_2 ADD CONSTRAINT constraint_name UNIQUE INDEX(height);
-ERROR HY000: Tianmu engine does not support unique index.
+ERROR HY000: Unknown error 3235
 CREATE UNIQUE INDEX index_name ON tb_stu_info_2(height);
-ERROR HY000: Tianmu engine does not support unique index.
+ERROR HY000: Unknown error 3235
 ALTER TABLE tb_stu_info_2 DROP INDEX c;
-ERROR HY000: Tianmu engine does not find the index.
+ERROR HY000: Unknown error 3243
 ALTER TABLE tb_stu_info_2 DROP KEY c;
-ERROR HY000: Tianmu engine does not find the index.
+ERROR HY000: Unknown error 3243
 ALTER TABLE tb_stu_info_2  RENAME INDEX old_index_name TO new_index_name;
-ERROR HY000: Tianmu engine does not find the index.
+ERROR HY000: Unknown error 3243
 ALTER TABLE tb_stu_info_2  RENAME KEY old_index_name TO new_index_name;
-ERROR HY000: Tianmu engine does not find the index.
+ERROR HY000: Unknown error 3243
 #
 # FULL INDEX
 #
@@ -54,27 +54,27 @@
 PRIMARY KEY (id),
 FULLTEXT KEY post_content (post_content)
 )ENGINE=TIANMU;
-ERROR HY000: Tianmu engine does not support fulltext index.
+ERROR HY000: Invalid error code
 CREATE TABLE tb_posts (id int(4) NOT NULL AUTO_INCREMENT,
 title varchar(255) NOT NULL,
 post_content text,
 PRIMARY KEY (id)
 )ENGINE=TIANMU;
 ALTER TABLE tb_posts ADD FULLTEXT INDEX  index_name (post_content);
-ERROR HY000: Tianmu engine does not support fulltext index.
+ERROR HY000: Invalid error code
 CREATE FULLTEXT INDEX index_name ON tb_posts (post_content);
-ERROR HY000: Tianmu engine does not support fulltext index.
+ERROR HY000: Invalid error code
 ALTER TABLE tb_posts DROP INDEX index_name;
-ERROR HY000: Tianmu engine does not find the index.
+ERROR HY000: Unknown error 3243
 ALTER TABLE tb_posts DROP KEY index_name;
-ERROR HY000: Tianmu engine does not find the index.
+ERROR HY000: Unknown error 3243
 DROP INDEX index_name ON tb_posts;
-ERROR HY000: Tianmu engine does not find the index.
+ERROR HY000: Unknown error 3243
 #
 # SPATIAL INDEX
 #
 CREATE TABLE geom (g GEOMETRY NOT NULL, SPATIAL INDEX(g));
-ERROR HY000: Tianmu engine does not support gemoetry.
+ERROR HY000: Unknown error 3237
 #
 # FOREIGN KEY
 #
@@ -84,33 +84,33 @@
 customer_id INT NOT NULL primary key,
 FOREIGN KEY (customer_id)
 REFERENCES customer1(id)) ENGINE=TIANMU;
-ERROR HY000: Tianmu engine does not support foreign key.
+ERROR HY000: Unknown error 3241
 CREATE TABLE product_order (
 no INT NOT NULL ,
 customer_id INT NOT NULL primary key) ENGINE=TIANMU;
 ALTER TABLE product_order ADD CONSTRAINT fk_custome_key FOREIGN KEY(customer_id) REFERENCES customer(id);
-ERROR HY000: Tianmu engine does not support foreign key.
+ERROR HY000: Unknown error 3241
 ALTER TABLE product_order DROP FOREIGN KEY customer_id;
-ERROR HY000: Tianmu engine does not support foreign key.
+ERROR HY000: Unknown error 3241
 #
 # PARTITION
 #
 CREATE TABLE t1 (id INT, amount DECIMAL(7,2), tr_date DATE) ENGINE=TIANMU PARTITION BY HASH( MONTH(tr_date)) PARTITIONS 6;
-ERROR HY000: Tianmu engine does not support partition.
+ERROR HY000: Unknown error 3242
 CREATE TABLE t1 (id INT, amount DECIMAL(7,2), tr_date DATE) ENGINE=TIANMU;
 ALTER TABLE t1 ADD PARTITION (PARTITION p3 VALUES LESS THAN (2002));
-ERROR HY000: Tianmu engine does not support partition.
+ERROR HY000: Unknown error 3242
 ALTER TABLE t1 DROP PARTITION p0, p1;
-ERROR HY000: Tianmu engine does not support partition.
+ERROR HY000: Unknown error 3242
 #
 # GEOMETRY, ENUM, SET
 #
 CREATE TABLE geom (g GEOMETRY NOT NULL) engine=tianmu;
-ERROR HY000: Tianmu engine does not support gemoetry.
+ERROR HY000: Unknown error 3237
 CREATE TABLE my_enum(gender enum('male', 'female', 'secret'))engine=tianmu;
-ERROR HY000: Tianmu engine does not support enum data type.
+ERROR HY000: Unknown error 3238
 CREATE TABLE myset_test(Myset SET('Java','Python','C++','PHP'))engine=tianmu;
-ERROR HY000: Tianmu engine does not support set data type.
+ERROR HY000: Unknown error 3239
 #
 # TRIGGER
 #
@@ -143,7 +143,7 @@
 new_lastname = NEW.lastname,
 changedat = NOW( );
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER after_employee_update
 after UPDATE ON employees
 FOR EACH ROW
@@ -155,7 +155,7 @@
 new_lastname = NEW.firstName,
 changedat = NOW( );
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER before_employee_insert
 BEFORE INSERT ON employees
 FOR EACH ROW
@@ -167,7 +167,7 @@
 new_lastname = NEW.lastname,
 changedat = NOW( );
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER AFTER_employee_insert
 AFTER INSERT ON employees
 FOR EACH ROW
@@ -179,7 +179,7 @@
 new_lastname = NEW.lastname,
 changedat = NOW( );
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER BEFORE_employee_delete
 BEFORE DELETE ON employees
 FOR EACH ROW
@@ -191,7 +191,7 @@
 new_lastname = OLD.lastname,
 changedat = NOW( );
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER after_employee_delete
 after DELETE ON employees
 FOR EACH ROW
@@ -203,7 +203,7 @@
 new_lastname = OLD.lastname,
 changedat = NOW( );
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 #
 # TRIGGER BEFORE PRECEDES/FOLLOWS
 #
@@ -238,7 +238,7 @@
 INSERT INTO price_logs ( product_code, price )
 VALUES(old.productCode, old.msrp);
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER before_products_update_2
 BEFORE UPDATE ON products
 FOR EACH ROW FOLLOWS before_products_update
@@ -246,7 +246,7 @@
 INSERT INTO user_change_logs ( product_code, updated_by )
 VALUES(old.productCode, USER ());
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER before_products_update_2
 BEFORE UPDATE ON products
 FOR EACH ROW PRECEDES before_products_update
@@ -254,7 +254,7 @@
 INSERT INTO user_change_logs ( product_code, updated_by )
 VALUES(old.productCode, USER ());
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER before_products_insert_2
 BEFORE INSERT ON products
 FOR EACH ROW FOLLOWS before_products_insert
@@ -262,7 +262,7 @@
 INSERT INTO user_change_logs ( product_code, updated_by )
 VALUES(new.productCode, USER ());
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER before_products_insert
 BEFORE INSERT ON products
 FOR EACH ROW
@@ -270,7 +270,7 @@
 INSERT INTO price_logs ( product_code, price )
 VALUES(new.productCode, new.msrp);
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER before_products_insert_2
 BEFORE INSERT ON products
 FOR EACH ROW PRECEDES before_products_insert
@@ -278,7 +278,7 @@
 INSERT INTO user_change_logs ( product_code, updated_by )
 VALUES(new.productCode, USER ());
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER before_products_delete
 BEFORE DELETE ON products
 FOR EACH ROW
@@ -286,7 +286,7 @@
 INSERT INTO price_logs ( product_code, price )
 VALUES(old.productCode, old.msrp);
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER before_products_delete_2
 BEFORE delete ON products
 FOR EACH ROW FOLLOWS before_products_delete
@@ -294,7 +294,7 @@
 INSERT INTO user_change_logs ( product_code, updated_by )
 VALUES(old.productCode, USER ());
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 CREATE TRIGGER before_products_delete_2
 BEFORE delete ON products
 FOR EACH ROW PRECEDES before_products_delete
@@ -302,5 +302,5 @@
 INSERT INTO user_change_logs ( product_code, updated_by )
 VALUES(old.productCode, USER ());
 END |
-ERROR HY000: Tianmu engine does not support trigger.
+ERROR HY000: Unknown error 3240
 DROP DATABASE issue1185_test;

mysqltest: Result content mismatch

safe_process[81168]: Child process: 81169, exit: 1

[ 71%] tianmu.bit                               w5 [ fail ]
        Test ended at 2023-05-01 01:52:04

CURRENT_TEST: tianmu.bit
--- /home/zeinwenwen/stonedb/build/install/mysql-test/suite/tianmu/r/bit.result 2023-04-03 02:00:13.000000000 +0300
+++ /home/zeinwenwen/stonedb/build/install/mysql-test/var/5/log/bit.reject      2023-05-01 04:52:04.333101269 +0300
@@ -403,7 +403,7 @@
 (3, 2, 'two'), (3, 1, 'one');
 DROP TABLE t2;
 CREATE TABLE t1(a BIT(13), KEY(a));
-ERROR HY000: Tianmu engine does not support secondary index.
+ERROR HY000: Unknown error 3234
 CREATE TABLE t1 (b BIT NOT NULL, i2 INTEGER NOT NULL, s VARCHAR(255) NOT NULL);
 INSERT INTO t1 VALUES(0x01,100,''), (0x00,300,''), (0x01,200,''), (0x00,100,'');
 SELECT HEX(b), i2 FROM t1 WHERE (i2>=100 AND i2<201) AND b=TRUE;

mysqltest: Result content mismatch

safe_process[81600]: Child process: 81601, exit: 1

Expected behavior

Since I run those test from the HEAD of the stonedb-5.7-dev, so the expected results should be all passed. I believe this may related to some setting in my environment but I didn't find any places indicating it. Any thoughts will be appreciated.

How To Reproduce

No response

Environment

stonedb-5.7-dev

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

  • [ ] Yes, I will!

zzzz-vincent avatar May 01 '23 02:05 zzzz-vincent