summaryrefslogtreecommitdiff
path: root/myisammrg/myrg_open.c
diff options
context:
space:
mode:
authorunknown <svoj@mysql.com/april.(none)>2006-09-28 22:14:31 +0500
committerunknown <svoj@mysql.com/april.(none)>2006-09-28 22:14:31 +0500
commitd96989ca654fccc92a4620deca5f709fd84ec3f8 (patch)
tree3e256610af9a7c207c8d7350ed947a8cca5670fe /myisammrg/myrg_open.c
parent1f9b959166f835165ef1c2d2bb499389a1a793fc (diff)
parent7d915f01934d73cf2500618fc7f5148768cfd1b8 (diff)
downloadmariadb-git-d96989ca654fccc92a4620deca5f709fd84ec3f8.tar.gz
Merge mysql.com:/home/svoj/devel/bk/mysql-4.1-engines
into mysql.com:/home/svoj/devel/mysql/BUG21617/mysql-4.1-engines myisammrg/myrg_open.c: Auto merged mysql-test/r/merge.result: Manual merge. mysql-test/t/merge.test: Manual merge.
Diffstat (limited to 'myisammrg/myrg_open.c')
-rw-r--r--myisammrg/myrg_open.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/myisammrg/myrg_open.c b/myisammrg/myrg_open.c
index 124d37904a6..af10f0da90b 100644
--- a/myisammrg/myrg_open.c
+++ b/myisammrg/myrg_open.c
@@ -33,7 +33,7 @@
MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
{
int save_errno,errpos=0;
- uint files=0,i,dir_length,length,key_parts;
+ uint files= 0, i, dir_length, length, key_parts, min_keys= 0;
ulonglong file_offset=0;
char name_buff[FN_REFLEN*2],buff[FN_REFLEN],*end;
MYRG_INFO *m_info=0;
@@ -109,6 +109,7 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
files= 0;
}
m_info->reclength=isam->s->base.reclength;
+ min_keys= isam->s->base.keys;
errpos=3;
}
m_info->open_tables[files].table= isam;
@@ -124,6 +125,8 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
m_info->records+= isam->state->records;
m_info->del+= isam->state->del;
m_info->data_file_length+= isam->state->data_file_length;
+ if (min_keys > isam->s->base.keys)
+ min_keys= isam->s->base.keys;
for (i=0; i < key_parts; i++)
m_info->rec_per_key_part[i]+= (isam->s->state.rec_per_key_part[i] /
m_info->tables);
@@ -141,7 +144,7 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
my_errno=HA_ERR_RECORD_FILE_FULL;
goto err;
}
- m_info->keys= files ? isam->s->base.keys : 0;
+ m_info->keys= min_keys;
bzero((char*) &m_info->by_key,sizeof(m_info->by_key));
/* this works ok if the table list is empty */