1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Fix for MacOSX and symlinks

Fix for USE_FRM and crashed index file


configure.in:
  Fix for MacOSX and symlinks
myisam/mi_open.c:
  Give better error message in case of of crashed index file
mysql-test/r/repair.result:
  new test case
mysql-test/r/update.result:
  new test case
mysql-test/t/repair.test:
  Added test with crashed MyISAM index header
mysql-test/t/update.test:
  Added test case from bugs system
sql/handler.cc:
  Indentation changes
sql/sql_table.cc:
  Fix for USE_FRM and crashed index file
This commit is contained in:
unknown
2003-05-14 01:27:26 +03:00
parent 6c60313bc7
commit 13a23a879f
11 changed files with 149 additions and 74 deletions

View File

@ -11,4 +11,5 @@ test.t1 repair error The handler for the table doesn't support repair
drop table t1;
repair table t1 use_frm;
Table Op Msg_type Msg_text
t1 repair error table is read-only or does not exists
test.t1 repair error Table 'test.t1' doesn't exist
create table t1 type=myisam SELECT 1,"table 1";

View File

@ -0,0 +1,8 @@
repair table t1;
Table Op Msg_type Msg_text
test.t1 repair error Can't open file: 't1.MYI'. (errno: 130)
repair table t1 use_frm;
Table Op Msg_type Msg_text
test.t1 repair warning Number of rows changed from 0 to 1
test.t1 repair status OK
drop table t1;

View File

@ -150,3 +150,19 @@ select * from t1;
id_param nom_option valid
185 test 1
drop table t1;
create table t1 (F1 VARCHAR(30), F2 VARCHAR(30), F3 VARCHAR(30), cnt int, groupid int, KEY groupid_index (groupid));
insert into t1 (F1,F2,F3,cnt,groupid) values ('0','0','0',1,6),
('0','1','2',1,5), ('0','2','0',1,3), ('1','0','1',1,2),
('1','2','1',1,1), ('1','2','2',1,1), ('2','0','1',2,4),
('2','2','0',1,7);
delete from t1 using t1 m1,t1 m2 where m1.groupid=m2.groupid and (m1.cnt < m2.cnt or m1.cnt=m2.cnt and m1.F3>m2.F3);
select * from t1;
F1 F2 F3 cnt groupid
0 0 0 1 6
0 1 2 1 5
0 2 0 1 3
1 0 1 1 2
1 2 1 1 1
2 0 1 2 4
2 2 0 1 7
drop table t1;

View File

@ -12,4 +12,8 @@ drop table t1;
# non-existent table
repair table t1 use_frm;
#
# Create test table for repair2
# The following must be last in this file
create table t1 type=myisam SELECT 1,"table 1";

View File

@ -0,0 +1 @@
echo "1" > $MYSQL_TEST_DIR/var/master-data/test/t1.MYI

View File

@ -0,0 +1,7 @@
#
# This test starts with a crashed t1.MYI file left over from repair.test
#
repair table t1;
repair table t1 use_frm;
drop table t1;

View File

@ -108,3 +108,18 @@ INSERT INTO t1 (id_param,nom_option,valid) VALUES (185,'600x1200',1);
UPDATE t1 SET nom_option='test' WHERE id_param=185 AND nom_option='600x1200' AND valid=1 LIMIT 1;
select * from t1;
drop table t1;
#
# Multi table update test from bugs
#
create table t1 (F1 VARCHAR(30), F2 VARCHAR(30), F3 VARCHAR(30), cnt int, groupid int, KEY groupid_index (groupid));
insert into t1 (F1,F2,F3,cnt,groupid) values ('0','0','0',1,6),
('0','1','2',1,5), ('0','2','0',1,3), ('1','0','1',1,2),
('1','2','1',1,1), ('1','2','2',1,1), ('2','0','1',2,4),
('2','2','0',1,7);
delete from t1 using t1 m1,t1 m2 where m1.groupid=m2.groupid and (m1.cnt < m2.cnt or m1.cnt=m2.cnt and m1.F3>m2.F3);
select * from t1;
drop table t1;