mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
Merge synthia.local:/home/mydev/mysql-5.1-ateam
into synthia.local:/home/mydev/mysql-5.1-axmrg
This commit is contained in:
commit
a9e5e4c5f8
4 changed files with 21 additions and 18 deletions
|
@ -12675,3 +12675,10 @@ select * from t1;
|
|||
i
|
||||
1
|
||||
drop table t1;
|
||||
create table t1(a longblob) engine=archive;
|
||||
insert into t1 set a='';
|
||||
insert into t1 set a='a';
|
||||
check table t1 extended;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
|
|
|
@ -1550,3 +1550,12 @@ insert into t1 values (1);
|
|||
repair table t1 use_frm;
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# BUG#29207 - archive table reported as corrupt by check table
|
||||
#
|
||||
create table t1(a longblob) engine=archive;
|
||||
insert into t1 set a='';
|
||||
insert into t1 set a='a';
|
||||
check table t1 extended;
|
||||
drop table t1;
|
||||
|
|
|
@ -3117,7 +3117,7 @@ int ha_partition::rnd_next(uchar *buf)
|
|||
continue; // Probably MyISAM
|
||||
|
||||
if (result != HA_ERR_END_OF_FILE)
|
||||
break; // Return error
|
||||
goto end_dont_reset_start_part; // Return error
|
||||
|
||||
/* End current partition */
|
||||
late_extra_no_cache(part_id);
|
||||
|
@ -3143,6 +3143,7 @@ int ha_partition::rnd_next(uchar *buf)
|
|||
|
||||
end:
|
||||
m_part_spec.start_part= NO_CURRENT_PART_ID;
|
||||
end_dont_reset_start_part:
|
||||
table->status= STATUS_NOT_FOUND;
|
||||
DBUG_RETURN(result);
|
||||
}
|
||||
|
|
|
@ -1548,7 +1548,6 @@ bool ha_archive::is_crashed() const
|
|||
int ha_archive::check(THD* thd, HA_CHECK_OPT* check_opt)
|
||||
{
|
||||
int rc= 0;
|
||||
uchar *buf;
|
||||
const char *old_proc_info;
|
||||
ha_rows count= share->rows_recorded;
|
||||
DBUG_ENTER("ha_archive::check");
|
||||
|
@ -1557,27 +1556,14 @@ int ha_archive::check(THD* thd, HA_CHECK_OPT* check_opt)
|
|||
/* Flush any waiting data */
|
||||
azflush(&(share->archive_write), Z_SYNC_FLUSH);
|
||||
|
||||
/*
|
||||
First we create a buffer that we can use for reading rows, and can pass
|
||||
to get_row().
|
||||
*/
|
||||
if (!(buf= (uchar*) my_malloc(table->s->reclength, MYF(MY_WME))))
|
||||
rc= HA_ERR_OUT_OF_MEM;
|
||||
|
||||
/*
|
||||
Now we will rewind the archive file so that we are positioned at the
|
||||
start of the file.
|
||||
*/
|
||||
init_archive_reader();
|
||||
|
||||
if (!rc)
|
||||
read_data_header(&archive);
|
||||
|
||||
if (!rc)
|
||||
while (!(rc= get_row(&archive, buf)))
|
||||
count--;
|
||||
|
||||
my_free((char*)buf, MYF(0));
|
||||
read_data_header(&archive);
|
||||
while (!(rc= get_row(&archive, table->record[0])))
|
||||
count--;
|
||||
|
||||
thd_proc_info(thd, old_proc_info);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue