Bug #46616 Assertion `!table->auto_increment_field_not_null' on view manipulations
| Submitted: | 8 Aug 2009 10:48 | Modified: | 18 Sep 2009 19:54 |
|---|---|---|---|
| Reporter: | Philip Stoev | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Views | Severity: | S2 (Serious) |
| Version: | 5.1,5.4 | OS: | Any |
| Assigned to: | Martin Hansson | CPU Architecture: | Any |
[19 Aug 2009 12:53]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/81069 3070 Martin Hansson 2009-08-19 Bug#46616: Assertion `!table->auto_increment_field_not_null' on view manipulations The bespoke flag was not properly reset after last call to fill_record. Fixed by resetting in caller mysql_update. @ mysql-test/r/auto_increment.result Bug#46616: Test result. @ mysql-test/t/auto_increment.test Bug#46616: Test case. @ sql/sql_update.cc Bug#46616: Fix.
[20 Aug 2009 11:58]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/81162 2789 Martin Hansson 2009-08-20 Bug#46616: Assertion `!table->auto_increment_field_not_null' on view manipulations The bespoke flag was not properly reset after last call to fill_record. Fixed by resetting in caller mysql_update. @ mysql-test/r/auto_increment.result Bug#46616: Test result. @ mysql-test/t/auto_increment.test Bug#46616: Test case. @ sql/sql_update.cc Bug#46616: Fix.
[20 Aug 2009 12:33]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/81167 3070 Martin Hansson 2009-08-20 [merge] Bug#46616: Merge @ mysql-test/r/auto_increment.result Bug#46616: Test result. @ mysql-test/t/auto_increment.test Bug#46616: Test case. @ sql/sql_update.cc Bug#46616: Fix.
[2 Sep 2009 10:25]
Bugs System
Pushed into 5.0.86 (revid:joro@sun.com-20090902102337-n5rw8227wwp5cpx8) (version source revid:joro@sun.com-20090821141203-nqxwu36mqyppltqr) (merge vers: 5.0.86) (pib:11)
[2 Sep 2009 16:42]
Bugs System
Pushed into 5.1.39 (revid:joro@sun.com-20090902154533-8actmfcsjfqovgsb) (version source revid:martin.hansson@sun.com-20090821101303-p41g0xhn9rjr5a2h) (merge vers: 5.1.39) (pib:11)
[14 Sep 2009 16:06]
Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090914155317-m1g9wodmndzdj4l1) (version source revid:alik@sun.com-20090914155317-m1g9wodmndzdj4l1) (merge vers: 5.4.4-alpha) (pib:11)
[18 Sep 2009 19:54]
Paul DuBois
Noted in 5.0.86, 5.1.39, 5.4.4 changelogs. CREATE TABLE ... SELECT could cause assertion failure if a table already existed with the same name and contained an AUTO_INCREMENT column.
[1 Oct 2009 5:59]
Bugs System
Pushed into 5.1.39-ndb-6.3.28 (revid:jonas@mysql.com-20091001055605-ap2kiaarr7p40mmv) (version source revid:jonas@mysql.com-20091001055605-ap2kiaarr7p40mmv) (merge vers: 5.1.39-ndb-6.3.28) (pib:11)
[1 Oct 2009 7:25]
Bugs System
Pushed into 5.1.39-ndb-7.0.9 (revid:jonas@mysql.com-20091001072547-kv17uu06hfjhgjay) (version source revid:jonas@mysql.com-20091001071652-irejtnumzbpsbgk2) (merge vers: 5.1.39-ndb-7.0.9) (pib:11)
[1 Oct 2009 13:25]
Bugs System
Pushed into 5.1.39-ndb-7.1.0 (revid:jonas@mysql.com-20091001123013-g9ob2tsyctpw6zs0) (version source revid:jonas@mysql.com-20091001123013-g9ob2tsyctpw6zs0) (merge vers: 5.1.39-ndb-7.1.0) (pib:11)
[2 Oct 2009 1:29]
Paul DuBois
Moved 5.4 changelog entry from 5.4.4 to 5.4.3.
[5 Oct 2009 10:50]
Bugs System
Pushed into 5.1.39-ndb-6.2.19 (revid:jonas@mysql.com-20091005103850-dwij2dojwpvf5hi6) (version source revid:jonas@mysql.com-20090930185117-bhud4ek1y0hsj1nv) (merge vers: 5.1.39-ndb-6.2.19) (pib:11)
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.048 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: After a few fairly simple manpulations (DDL, DML) on views and their base tables, mysqld asserted as follows: mysqld: sql_base.cc:2968: TABLE* open_table(THD*, TABLE_LIST*, MEM_ROOT*, bool*, uint): Assertion `!table->auto_increment_field_not_null' failed. #6 0x000000315a42bec9 in __assert_fail () from /lib64/libc.so.6 #7 0x00000000006a9606 in open_table (thd=0x7fd8c002d078, table_list=0x16e0b08, mem_root=0x7fd8c772e280, refresh=0x7fd8c772e30f, flags=0) at sql_base.cc:2968 #8 0x00000000006aa13a in open_tables (thd=0x7fd8c002d078, start=0x7fd8c772e380, counter=0x7fd8c772e3b4, flags=0) at sql_base.cc:4572 #9 0x00000000006aaa3c in open_and_lock_tables_derived (thd=0x7fd8c002d078, tables=0x16e0558, derived=true) at sql_base.cc:4978 #10 0x000000000066045b in open_and_lock_tables (thd=0x7fd8c002d078, tables=0x16e0558) at mysql_priv.h:1555 #11 0x0000000000657149 in mysql_execute_command (thd=0x7fd8c002d078) at sql_parse.cc:3177 #12 0x000000000065d3eb in mysql_parse (thd=0x7fd8c002d078, inBuf=0x16e0408 "INSERT INTO t1_view_0_A (`int_key`) SELECT `int_key` FROM t1_base_0_A", length=72, found_semicolon=0x7fd8c772fed0) at sql_parse.cc:5931 #13 0x000000000065e215 in dispatch_command (command=COM_QUERY, thd=0x7fd8c002d078, packet=0x7fd8c0081609 "INSERT INTO t1_view_0_A (`int_key`) SELECT `int_key` FROM t1_base_0_A", packet_length=72) at sql_parse.cc:1213 #14 0x000000000065f5e4 in do_command (thd=0x7fd8c002d078) at sql_parse.cc:854 #15 0x000000000064bf15 in handle_one_connection (arg=0x7fd8c002d078) at sql_connect.cc:1127 #16 0x000000315b0073da in start_thread () from /lib64/libpthread.so.0 #17 0x000000315a4e627d in clone () from /lib64/libc.so.6 How to repeat: --disable_abort_on_error CREATE TABLE `table0_int_autoinc` ( `int_key` int, pk integer auto_increment, `int` int, key (`int_key` ), primary key (pk)); CREATE TABLE `table1_int_autoinc` ( `int` int, `int_key` int, pk integer auto_increment, key (`int_key` ), primary key (pk)); CREATE TABLE `table10_int_autoinc` ( pk integer auto_increment, `int_key` int, `int` int, primary key (pk), key (`int_key` )); INSERT IGNORE INTO table10_int_autoinc VALUES (NULL, '1', '1') , (NULL, '1', '1') , (NULL, '1', '1') , (NULL, '1', '1') , (NULL, '1', '1') , (NULL, '1', '1') , (NULL, '1', '1') , (NULL, '1', '1') , (NULL, '1', '1') , (NULL, '1', '1'); CREATE TABLE IF NOT EXISTS t1_base_0_A LIKE test . table0_int_autoinc ; CREATE TABLE IF NOT EXISTS t1_base_1_A LIKE test . table0_int_autoinc ; CREATE VIEW t1_view_0_A AS SELECT `int_key` FROM t1_base_1_A; CREATE TABLE IF NOT EXISTS t1_base_3_A LIKE test . table10_int_autoinc ; INSERT INTO t1_base_3_A (`int_key`) SELECT 0 FROM test . table10_int_autoinc ; CREATE OR REPLACE VIEW t1_view_2_A AS SELECT `int_key` FROM t1_base_3_A; DROP TABLE IF EXISTS t1_base_0_A; UPDATE t1_base_3_A SET `int_key` = 3; CREATE TABLE IF NOT EXISTS t1_base_0_A LIKE test . table1_int_autoinc ; CREATE TABLE IF NOT EXISTS t1_base_0_A AS SELECT `int_key` FROM t1_view_2_A AS A; UPDATE t1_base_0_A SET `pk` = 9; INSERT INTO t1_view_0_A (`int_key`) SELECT `int_key` FROM t1_base_0_A;