mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
MDEV-26546 SIGSEGV's in spider_db_connect on SHOW TABLE and spider_db… …_mbase::connect (and SIGSEGV's in check_vcol_forward_refs and inline_mysql_mutex_lock)
Not the SPIDER issue - happens to INSERT DELAYED. the field::make_new_field does't copy the LONG_UNIQUE_HASH_FIELD flag to the new field. Though the Delayed_insert::get_local_table copies the field->vcol_info for this field. Ad a result the parse_vcol_defs doesn't create the expression for that column so the field->vcol_info->expr is NULL. Which leads to crash. Backported fix for this from 10.5 - the flagg added in the Delayed_insert::get_local_table. Another problem with the USING HASH key is thst the parse_vcol_defs modifies the table->keys content. Then the same parse_vcol_defs is called on the table copy that has keys already modified. Backported fix for that from 10.5 - key copying added tot the Delayed_insert::get_local_table. Finally - the created copy has to clear the expr_arena as this table is not in the thd->open_tables list so won't be cleared automatically.
This commit is contained in:
parent
65cc89ed9e
commit
8911823f65
6 changed files with 83 additions and 1 deletions
|
|
@ -510,3 +510,12 @@ a b
|
|||
2 2
|
||||
3 3
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-26546 SIGSEGV's in spider_db_connect on SHOW TABLE and
|
||||
# spider_db_mbase::connect (and SIGSEGV's in check_vcol_forward_refs
|
||||
# and inline_mysql_mutex_lock)
|
||||
#
|
||||
CREATE TABLE t1 (c0 INT,UNIQUE (c0) USING HASH) ENGINE=MYISAM;
|
||||
INSERT DELAYED INTO t1 VALUES (0);
|
||||
INSERT DELAYED INTO t1 VALUES (0);
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue