Bug #446 | insert into an innodb table failed | ||
---|---|---|---|
Submitted: | 18 May 2003 5:02 | Modified: | 28 Jun 2003 7:15 |
Reporter: | [ name withheld ] | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S1 (Critical) |
Version: | 4.1.0-alpha | OS: | Linux (linux) |
Assigned to: | Oleksandr Byelkin | CPU Architecture: | Any |
[18 May 2003 5:02]
[ name withheld ]
[18 May 2003 22:37]
Alexander Keremidarski
Note that Subquery fails with Syntax error: mysql> (SELECT ID FROM -> INDIVIDUAL WHERE NAME='anonymous'); ERROR 1054: Unknown column 'NAME' in 'where clause' With correct syntax Subquery INSERT works. mysql> INSERT INTO PERSONNEL(INDIVIDUAL_ID, PARENT_ID) VALUES((SELECT ID FROM -> INDIVIDUAL WHERE USERNAME='anonymous' AND DOMAIN_ID=(SELECT ID FROM DOMAIN WHERE NAME='__SPECIAL' AND PARENT_ID IS NULL)), 1); Query OK, 1 row affected (0.05 sec) With original Subquery MySQL crashes with following backtrace: (gdb) bt #0 add_key_field (key_fields=0xbe7feff4, and_level=0, field=0x8b059b8, eq_func=true, value=0x8b118a0, usable_tables=13726952749189300224) at sql_select.cc:1846 #1 0x081770ca in add_key_fields (stat=0x8b0e188, key_fields=0xbe7feff4, and_level=0x8b118a0, cond=0x0, usable_tables=18446744073709551615) at item_func.h:117 #2 0x08176eb4 in add_key_fields (stat=0x8b0e188, key_fields=0xbe7feff4, and_level=0xbe7feff8, cond=0x8b12a40, usable_tables=18446744073709551615) at sql_select.cc:1898 #3 0x081775d5 in update_ref_and_keys (thd=0x8b07600, keyuse=0x8b0dc18, join_tab=0x8b0e188, tables=1, cond=0x8b12a40, normal_tables=18446744073709551615, select_lex=0x2) at sql_select.cc:2134 #4 0x081760a3 in make_join_statistics (join=0x8b0d2f8, tables=0x0, conds=0x8b12a40, keyuse_array=0x2) at sql_select.cc:1535 #5 0x08172ab8 in JOIN::optimize() (this=0x8b0d2f8) at sql_select.cc:491 #6 0x0811ff09 in subselect_single_select_engine::exec() (this=0x8b12b20) at item_subselect.cc:814 #7 0x0811d981 in Item_singlerow_subselect::val_int() (this=0x8b12ab8) at item_subselect.cc:275 #8 0x080de924 in Item::save_in_field(Field*, bool) (this=0x8b12ab8, field=0x8b05e80, no_conversions=false) at item.cc:999 #9 0x0816de8d in fill_record(List<Item>&, List<Item>&) (fields=@0x2, values=@0x8b07600) at sql_base.cc:2240 #10 0x081882b7 in mysql_insert(THD*, st_table_list*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates) (thd=0x8b064d0, table_list=0x8b12c40, fields=@0x8b068d4, values_list=@0x8b068ec, update_fields=@0x8b067ac, update_values=@0x8b068e0, duplic=DUP_ERROR) at sql_insert.cc:261 #11 0x08152639 in mysql_execute_command(THD*) (thd=0x8b064d0) at sql_parse.cc:2287 #12 0x081556c3 in mysql_parse(THD*, char*, unsigned) (thd=0x8b064d0, inBuf=0x8b11320 "INSERT INTO PERSONNEL(INDIVIDUAL_ID, PARENT_ID) VALUES((SELECT ID FROM\nINDIVIDUAL WHERE NAME='anonymous' AND DOMAIN_ID=(SELECT ID FROM DOMAIN\nWHERE NAME='__SPECIAL' AND PARENT_ID IS NULL)), 1)", length=145778184) at sql_parse.cc:3380 #13 0x0814f799 in dispatch_command(enum_server_command, THD*, char*, unsigned) (command=COM_QUERY, thd=0x8b064d0, packet=0x8b07d41 "INSERT INTO PERSONNEL(INDIVIDUAL_ID, PARENT_ID) VALUES((SELECT ID FROM\nINDIVIDUAL WHERE NAME='anonymous' AND DOMAIN_ID=(SELECT ID FROM DOMAIN\nWHERE NAME='__SPECIAL' AND PARENT_ID IS NULL)), 1)", packet_length=193) at sql_parse.cc:1249 #14 0x0814f016 in do_command(THD*) (thd=0x8b064d0) at sql_parse.cc:1049 #15 0x0814e53e in handle_one_connection (arg=0x2) at sql_parse.cc:838 #16 0x40042812 in pthread_start_thread_event () from /lib/libpthread.so.0
[20 May 2003 7:12]
Oleksandr Byelkin
ChangeSet 1.1542 03/05/20 17:09:53 bell@sanja.is.com.ua +1 -0
[28 Jun 2003 7:15]
Oleksandr Byelkin
Thank you for bugreport, patch included in bk repository and will be included in next MySQL release.