Crash in st_table::mark_virtual_columns_for_write with views
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Fix Released
|
Critical
|
Oleksandr "Sanja" Byelkin |
Bug Description
Reproducible on maria-5.2 , maria-5.3, maria-5.3-wl106. Not reproducible on mysql-5.5.
backtrace:
#4 <signal handler called>
#5 0x082e5a55 in st_table:
#6 0x082e5715 in st_table:
#7 0x0832bc4e in mysql_update (thd=0xa34ab10, table_list=
handle_
#8 0x082855e2 in mysql_execute_
#9 0x0828e704 in mysql_parse (thd=0xa34ab10, rawbuf=0xae712e00 "UPDATE view1 SET field1 = 'really'", length=34, found_semicolon
at sql_parse.cc:6138
#10 0x08280c88 in dispatch_command (command=COM_QUERY, thd=0xa34ab10, packet=0xa3a34c1 "UPDATE view1 SET field1 = 'really'", packet_length=34)
at sql_parse.cc:1213
#11 0x08280125 in do_command (thd=0xa34ab10) at sql_parse.cc:903
#12 0x0827d1c5 in handle_
#13 0x00821919 in start_thread () from /lib/libpthread
#14 0x0076acce in clone () from /lib/libc.so.6
test case:
CREATE TABLE t1 (field1 INTEGER);
CREATE TABLE t2 (field1 INTEGER);
CREATE OR REPLACE ALGORITHM = MERGE VIEW view2 AS SELECT * FROM t2;
CREATE OR REPLACE ALGORITHM = MERGE VIEW view1 AS SELECT * FROM view2;
CREATE OR REPLACE ALGORITHM = TEMPTABLE VIEW view2 AS SELECT * FROM t1;
UPDATE view1 SET field1 = 'really';
Changed in maria: | |
milestone: | none → 5.2 |
Changed in maria: | |
importance: | Undecided → Critical |
status: | New → Confirmed |
assignee: | nobody → Igor Babaev (igorb-seattle) |
Changed in maria: | |
status: | Confirmed → Fix Committed |
Changed in maria: | |
status: | In Progress → Fix Committed |
Changed in maria: | |
status: | Fix Committed → Fix Released |
It should return error (probably check of updateability is not correct)