Possible bug in UPDATE that covers multiple InnoDB tables

Possible bug in UPDATE that covers multiple InnoDB tables

am 04.02.2003 17:24:08 von Jacob Friis Larsen

Regarding the bug I submitted earlier, I have som more info here:
http://test.webalogic.net/~jacob/mysql_bug/

How-To-Repeat:
The bug happens when I use a query like "UPDATE questions, q_list SET
questions.point = 150, q_list.point = questions.point WHERE q_list.qid =
questions.qid AND questions.qid = 310756" on an InnoDB table as you can see
in the file "mysql_bug-error_log". It does not happen on MyISAM tables.

Please let me know how I can assist you further.

--
Regards / Venlig hilsen, Jacob Friis Larsen
JFL WebCom | www.webcom.dk | +45 7027 0767


------------------------------------------------------------ ---------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)

To request this thread, e-mail bugs-thread13668@lists.mysql.com
To unsubscribe, e-mail

Re: Possible bug in UPDATE that covers multiple InnoDB tables

am 04.02.2003 22:05:30 von Heikki Tuuri

Jacob,

what do

SHOW CREATE TABLE questions;

and

SHOW CREATE TABLE q_list;

print?

The assertion which fails is:

ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED);

What does

shell> resolve_stack_trace mysqld.sym


print?

Best regards,

Heikki Tuuri
Innobase Oy
---
Order technical MySQL/InnoDB support at https://order.mysql.com/
See http://www.innodb.com for the online manual and latest news on InnoDB

sql query


.....................
Subject: Possible bug in UPDATE that covers multiple InnoDB tables
From: Jacob Friis Larsen
Date: Tue, 4 Feb 2003 17:24:08 +0100


------------------------------------------------------------ ----------------
----

Regarding the bug I submitted earlier, I have som more info here:
http://test.webalogic.net/~jacob/mysql_bug/

How-To-Repeat:
The bug happens when I use a query like "UPDATE questions, q_list SET
questions.point = 150, q_list.point = questions.point WHERE q_list.qid =
questions.qid AND questions.qid = 310756" on an InnoDB table as you can see
in the file "mysql_bug-error_log". It does not happen on MyISAM tables.

Please let me know how I can assist you further.

--
Regards / Venlig hilsen, Jacob Friis Larsen
JFL WebCom | www.webcom.dk | +45 7027 0767





------------------------------------------------------------ ---------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)

To request this thread, e-mail bugs-thread13686@lists.mysql.com
To unsubscribe, e-mail

Re: Possible bug in UPDATE that covers multiple InnoDB tables

am 04.02.2003 22:15:07 von Heikki Tuuri

Jacob,

----- Original Message -----
From: "Heikki Tuuri"
To:
Sent: Tuesday, February 04, 2003 11:05 PM
Subject: Re: Possible bug in UPDATE that covers multiple InnoDB tables


> Jacob,
>
> what do
>
> SHOW CREATE TABLE questions;
>
> and
>
> SHOW CREATE TABLE q_list;
>
> print?
>
> The assertion which fails is:
>
> ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED);
>
> What does
>
> shell> resolve_stack_trace mysqld.sym


sorry, it is spelled resolve_stack_dump. It is in the 'bin dir' of your
MySQL distro.


>
>
> print?

Regards,

Heikki



> Best regards,
>
> Heikki Tuuri
> Innobase Oy
> ---
> Order technical MySQL/InnoDB support at https://order.mysql.com/
> See http://www.innodb.com for the online manual and latest news on InnoDB
>
> sql query
>
>
> ....................
> Subject: Possible bug in UPDATE that covers multiple InnoDB tables
> From: Jacob Friis Larsen
> Date: Tue, 4 Feb 2003 17:24:08 +0100
>
>
> ------------------------------------------------------------ --------------
--
> ----
>
> Regarding the bug I submitted earlier, I have som more info here:
> http://test.webalogic.net/~jacob/mysql_bug/
>
> How-To-Repeat:
> The bug happens when I use a query like "UPDATE questions, q_list SET
> questions.point = 150, q_list.point = questions.point WHERE q_list.qid =
> questions.qid AND questions.qid = 310756" on an InnoDB table as you can
see
> in the file "mysql_bug-error_log". It does not happen on MyISAM tables.
>
> Please let me know how I can assist you further.
>
> --
> Regards / Venlig hilsen, Jacob Friis Larsen
> JFL WebCom | www.webcom.dk | +45 7027 0767
>
>
>



------------------------------------------------------------ ---------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)

To request this thread, e-mail bugs-thread13687@lists.mysql.com
To unsubscribe, e-mail

Re: Possible bug in UPDATE that covers multiple InnoDB tables

am 04.02.2003 22:42:38 von Heikki Tuuri

Jacob,

no need for you to do anything more. I was able to repeat the bug with the
latest 4.0 tree:

heikki@hundin:~/mysql-4.0/client> mysql test
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.10-gamma-debug-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create table t (a int not null, b int, primary key (a)) type =
innodb;
Query OK, 0 rows affected (0.02 sec)

mysql> create table t2 (a int not null, b int, primary key (a)) type =
innodb;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into t values (10, 20);
Query OK, 1 row affected (0.00 sec)

mysql> insert into t2 values (10, 20);
Query OK, 1 row affected (0.00 sec)

mysql> update t, t2 set t.b = 150, t2.b = t.b where t2.a = t.a and t.a = 10;

-> mysqld asserts!

Thank you,

Heikki

----- Original Message -----
From: "Heikki Tuuri"
To:
Sent: Tuesday, February 04, 2003 11:15 PM
Subject: Re: Possible bug in UPDATE that covers multiple InnoDB tables


> Jacob,
>
> ----- Original Message -----
> From: "Heikki Tuuri"
> To:
> Sent: Tuesday, February 04, 2003 11:05 PM
> Subject: Re: Possible bug in UPDATE that covers multiple InnoDB tables
>
>
> > Jacob,
> >
> > what do
> >
> > SHOW CREATE TABLE questions;
> >
> > and
> >
> > SHOW CREATE TABLE q_list;
> >
> > print?
> >
> > The assertion which fails is:
> >
> > ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED);
> >
> > What does
> >
> > shell> resolve_stack_trace mysqld.sym
>
>
> sorry, it is spelled resolve_stack_dump. It is in the 'bin dir' of your
> MySQL distro.
>
>
> >
> >
> > print?
>
> Regards,
>
> Heikki
>
>
>
> > Best regards,
> >
> > Heikki Tuuri
> > Innobase Oy
> > ---
> > Order technical MySQL/InnoDB support at https://order.mysql.com/
> > See http://www.innodb.com for the online manual and latest news on
InnoDB
> >
> > sql query
> >
> >
> > ....................
> > Subject: Possible bug in UPDATE that covers multiple InnoDB tables
> > From: Jacob Friis Larsen
> > Date: Tue, 4 Feb 2003 17:24:08 +0100
> >
> >
>
> ------------------------------------------------------------ --------------
> --
> > ----
> >
> > Regarding the bug I submitted earlier, I have som more info here:
> > http://test.webalogic.net/~jacob/mysql_bug/
> >
> > How-To-Repeat:
> > The bug happens when I use a query like "UPDATE questions, q_list SET
> > questions.point = 150, q_list.point = questions.point WHERE q_list.qid =
> > questions.qid AND questions.qid = 310756" on an InnoDB table as you can
> see
> > in the file "mysql_bug-error_log". It does not happen on MyISAM tables.
> >
> > Please let me know how I can assist you further.
> >
> > --
> > Regards / Venlig hilsen, Jacob Friis Larsen
> > JFL WebCom | www.webcom.dk | +45 7027 0767
> >
> >
> >
>



------------------------------------------------------------ ---------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)

To request this thread, e-mail bugs-thread13689@lists.mysql.com
To unsubscribe, e-mail

Re: Possible bug in UPDATE that covers multiple InnoDB tables

am 08.02.2003 18:13:42 von Sinisa Milivojevic

Jacob Friis Larsen writes:
> Regarding the bug I submitted earlier, I have som more info here:
> http://test.webalogic.net/~jacob/mysql_bug/
>
> How-To-Repeat:
> The bug happens when I use a query like "UPDATE questions, q_list SET
> questions.point = 150, q_list.point = questions.point WHERE q_list.qid =
> questions.qid AND questions.qid = 310756" on an InnoDB table as you can see
> in the file "mysql_bug-error_log". It does not happen on MyISAM tables.
>
> Please let me know how I can assist you further.
>
> --
> Regards / Venlig hilsen, Jacob Friis Larsen
> JFL WebCom | www.webcom.dk | +45 7027 0767
>

Hi!

Thank you for your bug report.

It helped us fix a bug in 4.0. Fix will come with 4.0.11.

This is a patch:

==== sql/sql_update.cc 1.75 vs edited =====
*** /tmp/sql_update.cc-1.75-5246 Tue Feb 4 19:42:12 2003
--- edited/sql/sql_update.cc Sat Feb 8 18:59:01 2003
***************
*** 401,407 ****
res= mysql_select(thd,table_list,total_list,
conds, (ORDER *) NULL, (ORDER *)NULL, (Item *) NULL,
(ORDER *)NULL,
! options | SELECT_NO_JOIN_CACHE,
result);
delete result;
DBUG_RETURN(res);
--- 401,407 ----
res= mysql_select(thd,table_list,total_list,
conds, (ORDER *) NULL, (ORDER *)NULL, (Item *) NULL,
(ORDER *)NULL,
! options | SELECT_NO_JOIN_CACHE | SELECT_NO_UNLOCK,
result);
delete result;
DBUG_RETURN(res);


--
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Sinisa Milivojevic
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Fulltime Developer
/_/ /_/\_, /___/\___\_\___/ Larnaca, Cyprus
<___/ www.mysql.com

Join MySQL Users Conference and Expo:
http://www.mysql.com/events/uc2003/


------------------------------------------------------------ ---------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)

To request this thread, e-mail bugs-thread13724@lists.mysql.com
To unsubscribe, e-mail