Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #160 from naoa/add-more-test-for-generated-column
test: add more test cases for stored generated column Patch by Naoya Murakami. Thanks!!!
- Loading branch information
Showing
8 changed files
with
228 additions
and
0 deletions.
There are no files selected for viewing
15 changes: 15 additions & 0 deletions
15
mysql-test/mroonga/storage/column/generated/stored/r/add_column.result
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| DROP TABLE IF EXISTS logs; | ||
| CREATE TABLE logs ( | ||
| id INT, | ||
| record JSON | ||
| ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4; | ||
| ALTER TABLE logs ADD COLUMN message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) STORED; | ||
| ALTER TABLE logs ADD FULLTEXT INDEX(message) comment 'tokenizer "TokenBigramSplitSymbolAlphaDigit"'; | ||
| INSERT INTO logs(id, record) VALUES (1, '{"level": "info", "message": "start"}'); | ||
| INSERT INTO logs(id, record) VALUES (2, '{"level": "info", "message": "restart"}'); | ||
| INSERT INTO logs(id, record) VALUES (3, '{"level": "warn", "message": "abort"}'); | ||
| SELECT * FROM logs WHERE MATCH(message) AGAINST("ar" IN BOOLEAN MODE); | ||
| id record message | ||
| 1 {"level": "info", "message": "start"} "start" | ||
| 2 {"level": "info", "message": "restart"} "restart" | ||
| DROP TABLE logs; |
17 changes: 17 additions & 0 deletions
17
mysql-test/mroonga/storage/column/generated/stored/r/drop_column.result
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| DROP TABLE IF EXISTS logs; | ||
| CREATE TABLE logs ( | ||
| id INT, | ||
| record JSON, | ||
| message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) STORED, | ||
| FULLTEXT INDEX(message) comment 'tokenizer "TokenBigramSplitSymbolAlphaDigit"' | ||
| ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4; | ||
| INSERT INTO logs(id, record) VALUES (1, '{"level": "info", "message": "start"}'); | ||
| INSERT INTO logs(id, record) VALUES (2, '{"level": "info", "message": "restart"}'); | ||
| INSERT INTO logs(id, record) VALUES (3, '{"level": "warn", "message": "abort"}'); | ||
| ALTER TABLE logs DROP COLUMN message; | ||
| SELECT * FROM logs; | ||
| id record | ||
| 1 {"level": "info", "message": "start"} | ||
| 2 {"level": "info", "message": "restart"} | ||
| 3 {"level": "warn", "message": "abort"} | ||
| DROP TABLE logs; |
40 changes: 40 additions & 0 deletions
40
mysql-test/mroonga/storage/column/generated/stored/t/add_column.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| # Copyright(C) 2017 Naoya Murakami <naoya@createfield.com> | ||
| # | ||
| # This library is free software; you can redistribute it and/or | ||
| # modify it under the terms of the GNU Lesser General Public | ||
| # License as published by the Free Software Foundation; either | ||
| # version 2.1 of the License, or (at your option) any later version. | ||
| # | ||
| # This library is distributed in the hope that it will be useful, | ||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| # Lesser General Public License for more details. | ||
| # | ||
| # You should have received a copy of the GNU Lesser General Public | ||
| # License along with this library; if not, write to the Free Software | ||
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
|
|
||
| --source ../../../../../include/mroonga/have_mysql_5_7_or_later.inc | ||
| --source ../../../../../include/mroonga/have_mroonga.inc | ||
|
|
||
| --disable_warnings | ||
| DROP TABLE IF EXISTS logs; | ||
| --enable_warnings | ||
|
|
||
| CREATE TABLE logs ( | ||
| id INT, | ||
| record JSON | ||
| ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4; | ||
|
|
||
| ALTER TABLE logs ADD COLUMN message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) STORED; | ||
| ALTER TABLE logs ADD FULLTEXT INDEX(message) comment 'tokenizer "TokenBigramSplitSymbolAlphaDigit"'; | ||
|
|
||
| INSERT INTO logs(id, record) VALUES (1, '{"level": "info", "message": "start"}'); | ||
| INSERT INTO logs(id, record) VALUES (2, '{"level": "info", "message": "restart"}'); | ||
| INSERT INTO logs(id, record) VALUES (3, '{"level": "warn", "message": "abort"}'); | ||
|
|
||
| SELECT * FROM logs WHERE MATCH(message) AGAINST("ar" IN BOOLEAN MODE); | ||
|
|
||
| DROP TABLE logs; | ||
|
|
||
| --source ../../../../../include/mroonga/have_mroonga_deinit.inc |
41 changes: 41 additions & 0 deletions
41
mysql-test/mroonga/storage/column/generated/stored/t/drop_column.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| # Copyright(C) 2017 Naoya Murakami <naoya@createfield.com> | ||
| # | ||
| # This library is free software; you can redistribute it and/or | ||
| # modify it under the terms of the GNU Lesser General Public | ||
| # License as published by the Free Software Foundation; either | ||
| # version 2.1 of the License, or (at your option) any later version. | ||
| # | ||
| # This library is distributed in the hope that it will be useful, | ||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| # Lesser General Public License for more details. | ||
| # | ||
| # You should have received a copy of the GNU Lesser General Public | ||
| # License along with this library; if not, write to the Free Software | ||
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
|
|
||
| --source ../../../../../include/mroonga/have_mysql_5_7_or_later.inc | ||
| --source ../../../../../include/mroonga/have_mroonga.inc | ||
|
|
||
| --disable_warnings | ||
| DROP TABLE IF EXISTS logs; | ||
| --enable_warnings | ||
|
|
||
| CREATE TABLE logs ( | ||
| id INT, | ||
| record JSON, | ||
| message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) STORED, | ||
| FULLTEXT INDEX(message) comment 'tokenizer "TokenBigramSplitSymbolAlphaDigit"' | ||
| ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4; | ||
|
|
||
| INSERT INTO logs(id, record) VALUES (1, '{"level": "info", "message": "start"}'); | ||
| INSERT INTO logs(id, record) VALUES (2, '{"level": "info", "message": "restart"}'); | ||
| INSERT INTO logs(id, record) VALUES (3, '{"level": "warn", "message": "abort"}'); | ||
|
|
||
| ALTER TABLE logs DROP COLUMN message; | ||
|
|
||
| SELECT * FROM logs; | ||
|
|
||
| DROP TABLE logs; | ||
|
|
||
| --source ../../../../../include/mroonga/have_mroonga_deinit.inc |
15 changes: 15 additions & 0 deletions
15
mysql-test/mroonga/wrapper/column/generated/stored/r/add_column.result
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| DROP TABLE IF EXISTS logs; | ||
| CREATE TABLE logs ( | ||
| id INT PRIMARY KEY, | ||
| record JSON | ||
| ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4 COMMENT = 'ENGINE "InnoDB"'; | ||
| ALTER TABLE logs ADD COLUMN message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) STORED; | ||
| ALTER TABLE logs ADD FULLTEXT INDEX(message) comment 'tokenizer "TokenBigramSplitSymbolAlphaDigit"'; | ||
| INSERT INTO logs(id, record) VALUES (1, '{"level": "info", "message": "start"}'); | ||
| INSERT INTO logs(id, record) VALUES (2, '{"level": "info", "message": "restart"}'); | ||
| INSERT INTO logs(id, record) VALUES (3, '{"level": "warn", "message": "abort"}'); | ||
| SELECT * FROM logs WHERE MATCH(message) AGAINST("ar" IN BOOLEAN MODE); | ||
| id record message | ||
| 1 {"level": "info", "message": "start"} "start" | ||
| 2 {"level": "info", "message": "restart"} "restart" | ||
| DROP TABLE logs; |
17 changes: 17 additions & 0 deletions
17
mysql-test/mroonga/wrapper/column/generated/stored/r/drop_column.result
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| DROP TABLE IF EXISTS logs; | ||
| CREATE TABLE logs ( | ||
| id INT PRIMARY KEY, | ||
| record JSON, | ||
| message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) STORED, | ||
| FULLTEXT INDEX(message) comment 'tokenizer "TokenBigramSplitSymbolAlphaDigit"' | ||
| ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4 COMMENT = 'ENGINE "InnoDB"'; | ||
| INSERT INTO logs(id, record) VALUES (1, '{"level": "info", "message": "start"}'); | ||
| INSERT INTO logs(id, record) VALUES (2, '{"level": "info", "message": "restart"}'); | ||
| INSERT INTO logs(id, record) VALUES (3, '{"level": "warn", "message": "abort"}'); | ||
| ALTER TABLE logs DROP COLUMN message; | ||
| SELECT * FROM logs; | ||
| id record | ||
| 1 {"level": "info", "message": "start"} | ||
| 2 {"level": "info", "message": "restart"} | ||
| 3 {"level": "warn", "message": "abort"} | ||
| DROP TABLE logs; |
41 changes: 41 additions & 0 deletions
41
mysql-test/mroonga/wrapper/column/generated/stored/t/add_column.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| # Copyright(C) 2017 Naoya Murakami <naoya@createfield.com> | ||
| # | ||
| # This library is free software; you can redistribute it and/or | ||
| # modify it under the terms of the GNU Lesser General Public | ||
| # License as published by the Free Software Foundation; either | ||
| # version 2.1 of the License, or (at your option) any later version. | ||
| # | ||
| # This library is distributed in the hope that it will be useful, | ||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| # Lesser General Public License for more details. | ||
| # | ||
| # You should have received a copy of the GNU Lesser General Public | ||
| # License along with this library; if not, write to the Free Software | ||
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
|
|
||
| --source include/have_innodb.inc | ||
| --source ../../../../../include/mroonga/have_mysql_5_7_or_later.inc | ||
| --source ../../../../../include/mroonga/have_mroonga.inc | ||
|
|
||
| --disable_warnings | ||
| DROP TABLE IF EXISTS logs; | ||
| --enable_warnings | ||
|
|
||
| CREATE TABLE logs ( | ||
| id INT PRIMARY KEY, | ||
| record JSON | ||
| ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4 COMMENT = 'ENGINE "InnoDB"'; | ||
|
|
||
| ALTER TABLE logs ADD COLUMN message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) STORED; | ||
| ALTER TABLE logs ADD FULLTEXT INDEX(message) comment 'tokenizer "TokenBigramSplitSymbolAlphaDigit"'; | ||
|
|
||
| INSERT INTO logs(id, record) VALUES (1, '{"level": "info", "message": "start"}'); | ||
| INSERT INTO logs(id, record) VALUES (2, '{"level": "info", "message": "restart"}'); | ||
| INSERT INTO logs(id, record) VALUES (3, '{"level": "warn", "message": "abort"}'); | ||
|
|
||
| SELECT * FROM logs WHERE MATCH(message) AGAINST("ar" IN BOOLEAN MODE); | ||
|
|
||
| DROP TABLE logs; | ||
|
|
||
| --source ../../../../../include/mroonga/have_mroonga_deinit.inc |
42 changes: 42 additions & 0 deletions
42
mysql-test/mroonga/wrapper/column/generated/stored/t/drop_column.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| # Copyright(C) 2017 Naoya Murakami <naoya@createfield.com> | ||
| # | ||
| # This library is free software; you can redistribute it and/or | ||
| # modify it under the terms of the GNU Lesser General Public | ||
| # License as published by the Free Software Foundation; either | ||
| # version 2.1 of the License, or (at your option) any later version. | ||
| # | ||
| # This library is distributed in the hope that it will be useful, | ||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| # Lesser General Public License for more details. | ||
| # | ||
| # You should have received a copy of the GNU Lesser General Public | ||
| # License along with this library; if not, write to the Free Software | ||
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
|
|
||
| --source include/have_innodb.inc | ||
| --source ../../../../../include/mroonga/have_mysql_5_7_or_later.inc | ||
| --source ../../../../../include/mroonga/have_mroonga.inc | ||
|
|
||
| --disable_warnings | ||
| DROP TABLE IF EXISTS logs; | ||
| --enable_warnings | ||
|
|
||
| CREATE TABLE logs ( | ||
| id INT PRIMARY KEY, | ||
| record JSON, | ||
| message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) STORED, | ||
| FULLTEXT INDEX(message) comment 'tokenizer "TokenBigramSplitSymbolAlphaDigit"' | ||
| ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4 COMMENT = 'ENGINE "InnoDB"'; | ||
|
|
||
| INSERT INTO logs(id, record) VALUES (1, '{"level": "info", "message": "start"}'); | ||
| INSERT INTO logs(id, record) VALUES (2, '{"level": "info", "message": "restart"}'); | ||
| INSERT INTO logs(id, record) VALUES (3, '{"level": "warn", "message": "abort"}'); | ||
|
|
||
| ALTER TABLE logs DROP COLUMN message; | ||
|
|
||
| SELECT * FROM logs; | ||
|
|
||
| DROP TABLE logs; | ||
|
|
||
| --source ../../../../../include/mroonga/have_mroonga_deinit.inc |