Hi Mysql,

This is a bug report.

There are two cases, because the bug is quite old, I
detected it the first time
a year ago on a 3.23.44 with MyISAM, but I thought it
would be fixed soon, 
sorry.

This bug happens in 4.0.8 too with MyISAM tables.

Test Case 1
-----------
Operating System: Linux Intel, SuSE 6.3 (Kernel
2.2.13) 
Processor  : ADM K6-2 400 
System RAM : 128M
Disk Subsystem : SCSI-2 (dpt)
FIle Sytem handler : ext2

MySQL version: mysql-max-3.23.49a-linux-gnu-i686
Table Handler: Derkeley DB.

Symptom : Two colums are updated insted of one.

---the script starts here----

create database prueba;
use prueba;
create table pr (a int, b timestamp, c timestamp, d
timestamp, e int) type=bdb;
insert into pr values (0, now(), now(), now(), 1);
select * from pr;
#
# Insert a delay here !!!
#
update pr set c=now();
select * from pr;

----the script ends here-----

the output from `mysql -t <pr1.sql>sal' client is:

+------+----------------+----------------+----------------+------+
| a    | b              | c              | d          
   | e    |
+------+----------------+----------------+----------------+------+
|    0 | 20030324145209 | 20030324145209 |
20030324145209 |    1 |
+------+----------------+----------------+----------------+------+
+------+----------------+----------------+----------------+------+
| a    | b              | c              | d          
   | e    |
+------+----------------+----------------+----------------+------+
|    0 | 20030324145304 | 20030101100000 |
20030324145209 |    1 |
+------+----------------+----------------+----------------+------+

As you can see the colum `b' is updated, too.
Note, you have to insert a delay of almost 1 second
between the first select
and the update, because the column `b' takes the
current time!.

Only happens with timestamp columns not with datetime
ones.

Test Case 2
-----------
Operating System: Linux Intel, RedHat 7.3 6.3 (Kernel
2.4.18) 
Processor  : ADM K6-2 400 
System RAM : 128M
Disk Subsystem : SCSI-2 (dpt)
FIle Sytem handler : ext2

MySQL version: mysql-standard-4.0.12-pc-linux-i686
Table Handler: InnoDB.

Symptom : Two colums are updated insted of one.

---the script starts here----

create database prueba2;
use prueba2;
create table pr (a int, b timestamp, c timestamp, d
timestamp, e int) type=innodb;
insert into pr values (0, now(), now(), now(), 1);
select * from pr;
#
# Insert a delay here !!!
#
update pr set c=now();
select * from pr;

----the script ends here-----

the output from `mysql -t <pr2.sql>sal' client is:

+------+----------------+----------------+----------------+------+
| a    | b              | c              | d          
   | e    |
+------+----------------+----------------+----------------+------+
|    0 | 20030324145653 | 20030324145653 |
20030324145653 |    1 |
+------+----------------+----------------+----------------+------+
+------+----------------+----------------+----------------+------+
| a    | b              | c              | d          
   | e    |
+------+----------------+----------------+----------------+------+
|    0 | 20030324145739 | 20030101110000 |
20030324145653 |    1 |
+------+----------------+----------------+----------------+------+

As you can see the colum `b' is updated, too.
Note, you have to insert a delay of almost 1 second
between the first select
and the update, because the column `b' takes the
current time!.

Only happens with timestamp columns not with datetime
ones.

I hope it will help you to make MySQL better.


For further information, please don't hesitate to
contact me at:

[EMAIL PROTECTED]

Roebrto Alejandro Paz Schmidt
Republica Argentina



__________________________________________________
Do you Yahoo!?
Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
http://platinum.yahoo.com

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to