Commit cefe361b authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi
Browse files

merge

parents bbc5277c 50b43f85
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -46244,6 +46244,7 @@ users use this code as the rest of the code and because of this we are
not yet 100% confident in this code.
@menu
* News-3.23.46::                
* News-3.23.45::                Changes in release 3.23.45
* News-3.23.44::                Changes in release 3.23.44
* News-3.23.43::                Changes in release 3.23.43
@@ -46293,7 +46294,20 @@ not yet 100% confident in this code.
* News-3.23.0::                 Changes in release 3.23.0
@end menu
@node News-3.23.45, News-3.23.44, News-3.23.x, News-3.23.x
@node News-3.23.46, News-3.23.45, News-3.23.x, News-3.23.x
@appendixsubsec Changes in release 3.23.46
@itemize @bullet
@item
Fixed bug where one got an empty set instead of a DEADLOCK error when using
BDB tables.
@item
One can now kill @code{ANALYZE},@code{REPAIR} and @code{OPTIMIZE TABLE} when
the thread is waiting to get a lock on the table.
@item
Fixed race condition in @code{ANALYZE TABLE}.
@end itemize
@node News-3.23.45, News-3.23.44, News-3.23.46, News-3.23.x
@appendixsubsec Changes in release 3.23.45
@itemize @bullet
@item
+10 −0
Original line number Diff line number Diff line
x
1
id	x
0	1
id	x
0	1
id	x
0	1
id	x
0	1
+1 −0
Original line number Diff line number Diff line
@@ -39,3 +39,4 @@ reap;
unlock tables;
connection con1;
reap;
drop table t1;
+7 −7
Original line number Diff line number Diff line
-- source include/have_bdb.inc
# test for bug reported by Mark Steele

drop table if exists tblChange;
CREATE TABLE tblCharge (
drop table if exists t1;
CREATE TABLE t1 (
  ChargeID int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
  ServiceID int(10) unsigned DEFAULT '0' NOT NULL,
  ChargeDate date DEFAULT '0000-00-00' NOT NULL,
@@ -20,16 +20,16 @@ DEFAULT 'New' NOT NULL,
) type=BDB;

BEGIN;
INSERT INTO tblCharge
INSERT INTO t1
VALUES(NULL,1,'2001-03-01',1,1,1,'New',NULL,NULL,'now');
COMMIT;

BEGIN;
UPDATE tblCharge SET ChargeAuthorizationMessage = 'blablabla' WHERE
UPDATE t1 SET ChargeAuthorizationMessage = 'blablabla' WHERE
ChargeID = 1;
COMMIT;

INSERT INTO tblCharge
INSERT INTO t1
VALUES(NULL,1,'2001-03-01',1,1,1,'New',NULL,NULL,'now');
select * from tblCharge;
drop table tblCharge;
select * from t1;
drop table t1;
+48 −0
Original line number Diff line number Diff line
# This test doesn't work with the embedded version as this code
# assumes that one query is running while we are doing queries on
# a second connection.
# This would work if mysqltest run would be threaded and handle each
# connection in a separate thread.
#

#-- source include/not_embedded.inc
-- source include/have_bdb.inc

connect (con1,localhost,root,,);
connect (con2,localhost,root,,);

drop table if exists t1,t2;
connection con1;
create table t1 (id integer, x integer) type=BDB;
create table t2 (id integer, x integer) type=BDB;
insert into t1 values(0, 0);
insert into t2 values(0, 0);
set autocommit=0;
update t1 set x = 1 where id = 0;

connection con2;
set autocommit=0;
update t2 set x = 1 where id = 0;

# The following query should hang because con1 is locking the page
--send
select x from t1 where id = 0;

connection con1;
# This should generate a deadlock as we are trying to access a locked row
--error 1213
select x from t2 where id = 0;
commit;

connection con2;
reap;
commit;
select * from t1;
select * from t2;
commit;

connection con1;
select * from t1;
select * from t2;
commit;
drop table t1,t2;
Loading