summaryrefslogtreecommitdiff
path: root/myisammrg/myrg_extra.c
diff options
context:
space:
mode:
Diffstat (limited to 'myisammrg/myrg_extra.c')
-rw-r--r--myisammrg/myrg_extra.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/myisammrg/myrg_extra.c b/myisammrg/myrg_extra.c
index 4b5353a146d..f6458588b59 100644
--- a/myisammrg/myrg_extra.c
+++ b/myisammrg/myrg_extra.c
@@ -1,15 +1,15 @@
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-
+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
@@ -26,6 +26,8 @@ int myrg_extra(MYRG_INFO *info,enum ha_extra_function function)
{
int error,save_error=0;
MYRG_TABLE *file;
+ DBUG_ENTER("myrg_extra");
+ DBUG_PRINT("info",("function: %d",(ulong) function));
if (function == HA_EXTRA_CACHE)
info->cache_in_use=1;
@@ -38,9 +40,19 @@ int myrg_extra(MYRG_INFO *info,enum ha_extra_function function)
info->current_table=0;
info->last_used_table=info->open_tables;
}
+
+ info->records=info->del=info->data_file_length=0;
for (file=info->open_tables ; file != info->end_table ; file++)
+ {
if ((error=mi_extra(file->table,function)))
save_error=error;
+ file->file_offset=info->data_file_length;
+ info->data_file_length+=file->table->s->state.state.data_file_length;
+ info->records+=file->table->s->state.state.records;
+ info->del+=file->table->s->state.state.del;
+ DBUG_PRINT("info2",("table: %s, offset: 0x%08lx",
+ file->table->filename,(ulong)file->file_offset));
+ }
}
- return save_error;
+ DBUG_RETURN(save_error);
}