Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
MDEV-29653 Make sure Item_cache_row has the correct type handler.
The incorrect type handler caused an incorrect result_type() for Item_cache_row (STRING_RESULT rather than ROW_RESULT). By updating the constructor of Item_cache_row with the correct type handler, it fixes this problem. Signed-off-by: Yuchen Pei <yuchen.pei@mariadb.com> Reviewed-by: Sergei Golubchik <serg@mariadb.com>
- Loading branch information
1 parent
c21566a
commit fb41117
Showing
4 changed files
with
74 additions
and
1 deletion.
There are no files selected for viewing
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
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,33 @@ | ||
| # | ||
| # MDEV-29653 Assertion `0' failed in Item_cache_row::illegal_method_call on SELECT from Spider table | ||
| # | ||
| for master_1 | ||
| for child2 | ||
| child2_1 | ||
| child2_2 | ||
| child2_3 | ||
| for child3 | ||
| connection child2_1; | ||
| CREATE DATABASE auto_test_remote; | ||
| USE auto_test_remote; | ||
| CREATE TABLE t ( | ||
| c INT | ||
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8; | ||
| connection master_1; | ||
| CREATE DATABASE auto_test_local; | ||
| USE auto_test_local; | ||
| CREATE TABLE ts ( | ||
| c INT | ||
| ) ENGINE=Spider COMMENT='table "t", srv "s_2_1"'; | ||
| SELECT 1 FROM ts WHERE ROW(c, c) NOT IN ((0,0),(1,1)); | ||
| 1 | ||
| connection master_1; | ||
| DROP DATABASE IF EXISTS auto_test_local; | ||
| connection child2_1; | ||
| DROP DATABASE IF EXISTS auto_test_remote; | ||
| for master_1 | ||
| for child2 | ||
| child2_1 | ||
| child2_2 | ||
| child2_3 | ||
| for child3 |
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,3 @@ | ||
| !include include/default_mysqld.cnf | ||
| !include ../my_1_1.cnf | ||
| !include ../my_2_1.cnf |
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,37 @@ | ||
| --echo # | ||
| --echo # MDEV-29653 Assertion `0' failed in Item_cache_row::illegal_method_call on SELECT from Spider table | ||
| --echo # | ||
|
|
||
| --disable_query_log | ||
| --disable_result_log | ||
| --source ../../t/test_init.inc | ||
| --enable_result_log | ||
| --enable_query_log | ||
|
|
||
| --connection child2_1 | ||
| CREATE DATABASE auto_test_remote; | ||
| USE auto_test_remote; | ||
| eval CREATE TABLE t ( | ||
| c INT | ||
| ) $CHILD2_1_ENGINE $CHILD2_1_CHARSET; | ||
|
|
||
| --connection master_1 | ||
| CREATE DATABASE auto_test_local; | ||
| USE auto_test_local; | ||
| eval CREATE TABLE ts ( | ||
| c INT | ||
| ) $MASTER_1_ENGINE COMMENT='table "t", srv "s_2_1"'; | ||
|
|
||
| SELECT 1 FROM ts WHERE ROW(c, c) NOT IN ((0,0),(1,1)); | ||
|
|
||
| --connection master_1 | ||
| DROP DATABASE IF EXISTS auto_test_local; | ||
|
|
||
| --connection child2_1 | ||
| DROP DATABASE IF EXISTS auto_test_remote; | ||
|
|
||
| --disable_query_log | ||
| --disable_result_log | ||
| --source ../t/test_deinit.inc | ||
| --enable_query_log | ||
| --enable_result_log |