Bug #93604 HY000 error occurs when stored function of another DB in the virtual column
Submitted: 14 Dec 2018 6:23 Modified: 14 Dec 2018 8:06
Reporter: 高木 祐介 Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: DDL Severity:S2 (Serious)
Version:5.7.23 OS:CentOS (CentOS7)
Assigned to: CPU Architecture:x86

[14 Dec 2018 6:23] 高木 祐介
Description:
An error occurs when you use a stored function saved in another database in a virtual column. 

How to repeat:
CREATE TABLE `tbl_test` ( 
`id` int(0) AS () NOT NULL, 
`name` varchar(255) NULL, 
PRIMARY KEY (`id`) 
); 

ALTER TABLE `tbl_test` 
ADD COLUMN `name2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci GENERATED ALWAYS AS (convert_data(name, other_database.stored("sample1", "sample2", "sample3", "sample4", "sample5" , "item_char1")) VIRTUAL NULL AFTER `name` 

> OK 
> 時刻: 0.116s 

But 

SHOW TABLE STATUS 

/var/lib/mysql/mysql-error.log 
2018-12-14T14:16:45.399156+09:00 137 [ERROR] /usr/sbin/mysqld: ファイル './database/tbl_test.frm' 内の情報が不正です。 

エラー: 1033 SQLSTATE: HY000 (ER_NOT_FORM_FILE) 
メッセージ: ファイル '%s' 内の情報が不正です 
english 
Error number: 1033; Symbol: ER_NOT_FORM_FILE; SQLSTATE: HY000 
Message: Incorrect information in file: '%s'
[14 Dec 2018 8:06] 高木 祐介
Because an organized task appeared, I closed it