Merge mysql.com:/home/cps/mysql/trees/mysql-5.0-virgin

into  mysql.com:/home/cps/mysql/trees/mysql-5.1-virgin
This commit is contained in:
petr/cps@owlet.local 2006-08-23 17:15:24 +04:00
commit 5fae48d9e4
2 changed files with 34 additions and 0 deletions

View File

@ -5195,3 +5195,13 @@ select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn');
i v
4 3r4f
drop table t1;
create table bug15205 (val int(11) default null) engine=csv;
create table bug15205_2 (val int(11) default null) engine=csv;
select * from bug15205;
ERROR HY000: Can't get stat of './test/bug15205.CSV' (Errcode: 2)
select * from bug15205_2;
val
select * from bug15205;
val
drop table bug15205;
drop table bug15205_2;

View File

@ -1558,3 +1558,27 @@ select * from t1;
alter table t1 add unique key (i, v);
select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn');
drop table t1;
#
# Bug #15205 Select from CSV table without the datafile causes crash
#
# NOTE: the bug is not deterministic
# The crash happens because the necessary cleanup after an error wasn't
# performed. Namely, the table share, inserted in the hash during table
# open, was not deleted from hash. At the same time the share was freed
# when an error was encountered. Thus, subsequent access to the hash
# resulted in scanning through deleted memory and we were geting a crash.
# that's why we need two tables in the bugtest
create table bug15205 (val int(11) default null) engine=csv;
create table bug15205_2 (val int(11) default null) engine=csv;
--exec rm $MYSQLTEST_VARDIR/master-data/test/bug15205.CSV
# system error (can't open the datafile)
--error ER_GET_ERRNO
select * from bug15205;
select * from bug15205_2;
--exec touch $MYSQLTEST_VARDIR/master-data/test/bug15205.CSV
select * from bug15205;
drop table bug15205;
drop table bug15205_2;