Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
ef4b6200
Commit
ef4b6200
authored
May 13, 2008
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge host.loc:/work/bugs/5.0-bugteam-36055
into host.loc:/work/bk/5.0-bugteam
parents
ab6e91cf
e7e49eb6
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
75 additions
and
0 deletions
+75
-0
mysql-test/r/repair.result
mysql-test/r/repair.result
+36
-0
mysql-test/std_data/bug36055.MYD
mysql-test/std_data/bug36055.MYD
+0
-0
mysql-test/std_data/bug36055.MYI
mysql-test/std_data/bug36055.MYI
+0
-0
mysql-test/std_data/bug36055.frm
mysql-test/std_data/bug36055.frm
+0
-0
mysql-test/t/repair.test
mysql-test/t/repair.test
+30
-0
sql/handler.cc
sql/handler.cc
+2
-0
sql/sql_table.cc
sql/sql_table.cc
+7
-0
No files found.
mysql-test/r/repair.result
View file @
ef4b6200
...
@@ -115,3 +115,39 @@ SET myisam_repair_threads=@@global.myisam_repair_threads;
...
@@ -115,3 +115,39 @@ SET myisam_repair_threads=@@global.myisam_repair_threads;
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
DROP TABLE t1;
DROP TABLE t1;
End of 4.1 tests
End of 4.1 tests
# Test with a saved table from 4.1
SHOW TABLE STATUS LIKE 't1';
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
t1 MyISAM 9 Fixed 2 5 10 21474836479 1024 0 NULL # # NULL latin1_swedish_ci NULL
SELECT * FROM t1;
id
1
2
# Run CHECK TABLE, it should indicate table need a REPAIR TABLE
CHECK TABLE t1 FOR UPGRADE;
Table Op Msg_type Msg_text
test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" to fix it!
# REPAIR old table USE_FRM should fail
REPAIR TABLE t1 USE_FRM;
Table Op Msg_type Msg_text
t1 repair error Failed reparing incompatible .FRM file
# Run REPAIR TABLE to upgrade .frm file
REPAIR TABLE t1;
Table Op Msg_type Msg_text
test.t1 repair status OK
SHOW TABLE STATUS LIKE 't1';
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
t1 MyISAM 10 Fixed 2 7 14 1970324836974591 1024 0 NULL # # NULL latin1_swedish_ci NULL
SELECT * FROM t1;
id
1
2
REPAIR TABLE t1 USE_FRM;
Table Op Msg_type Msg_text
test.t1 repair warning Number of rows changed from 0 to 2
test.t1 repair status OK
SELECT * FROM t1;
id
1
2
DROP TABLE t1;
mysql-test/std_data/bug36055.MYD
0 → 100644
View file @
ef4b6200
File added
mysql-test/std_data/bug36055.MYI
0 → 100644
View file @
ef4b6200
File added
mysql-test/std_data/bug36055.frm
0 → 100644
View file @
ef4b6200
File added
mysql-test/t/repair.test
View file @
ef4b6200
...
@@ -113,3 +113,33 @@ SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
...
@@ -113,3 +113,33 @@ SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
DROP
TABLE
t1
;
DROP
TABLE
t1
;
--
echo
End
of
4.1
tests
--
echo
End
of
4.1
tests
#
# BUG#36055 - mysql_upgrade doesn't really 'upgrade' tables
#
--
echo
# Test with a saved table from 4.1
--
copy_file
std_data
/
bug36055
.
frm
$MYSQLTEST_VARDIR
/
master
-
data
/
test
/
t1
.
frm
--
copy_file
std_data
/
bug36055
.
MYD
$MYSQLTEST_VARDIR
/
master
-
data
/
test
/
t1
.
MYD
--
copy_file
std_data
/
bug36055
.
MYI
$MYSQLTEST_VARDIR
/
master
-
data
/
test
/
t1
.
MYI
--
replace_column
12
# 13 #
SHOW
TABLE
STATUS
LIKE
't1'
;
SELECT
*
FROM
t1
;
--
echo
# Run CHECK TABLE, it should indicate table need a REPAIR TABLE
CHECK
TABLE
t1
FOR
UPGRADE
;
--
echo
# REPAIR old table USE_FRM should fail
REPAIR
TABLE
t1
USE_FRM
;
--
echo
# Run REPAIR TABLE to upgrade .frm file
REPAIR
TABLE
t1
;
--
replace_column
12
# 13 #
SHOW
TABLE
STATUS
LIKE
't1'
;
SELECT
*
FROM
t1
;
REPAIR
TABLE
t1
USE_FRM
;
SELECT
*
FROM
t1
;
DROP
TABLE
t1
;
sql/handler.cc
View file @
ef4b6200
...
@@ -1980,6 +1980,8 @@ int handler::ha_check_for_upgrade(HA_CHECK_OPT *check_opt)
...
@@ -1980,6 +1980,8 @@ int handler::ha_check_for_upgrade(HA_CHECK_OPT *check_opt)
}
}
}
}
}
}
if
(
table
->
s
->
frm_version
!=
FRM_VER_TRUE_VARCHAR
)
return
HA_ADMIN_NEEDS_ALTER
;
return
check_for_upgrade
(
check_opt
);
return
check_for_upgrade
(
check_opt
);
}
}
...
...
sql/sql_table.cc
View file @
ef4b6200
...
@@ -2118,6 +2118,13 @@ static int prepare_for_repair(THD* thd, TABLE_LIST *table_list,
...
@@ -2118,6 +2118,13 @@ static int prepare_for_repair(THD* thd, TABLE_LIST *table_list,
const
char
**
ext
=
table
->
file
->
bas_ext
();
const
char
**
ext
=
table
->
file
->
bas_ext
();
MY_STAT
stat_info
;
MY_STAT
stat_info
;
if
(
table
->
s
->
frm_version
!=
FRM_VER_TRUE_VARCHAR
)
{
error
=
send_check_errmsg
(
thd
,
table_list
,
"repair"
,
"Failed reparing incompatible .FRM file"
);
goto
end
;
}
/*
/*
Check if this is a table type that stores index and data separately,
Check if this is a table type that stores index and data separately,
like ISAM or MyISAM. We assume fixed order of engine file name
like ISAM or MyISAM. We assume fixed order of engine file name
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment