after merge fixes
This commit is contained in:
parent
99bb6ff7a0
commit
d5bf903e4d
@ -43,6 +43,7 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
|
|||||||
DBUG_ENTER("myrg_open");
|
DBUG_ENTER("myrg_open");
|
||||||
|
|
||||||
LINT_INIT(m_info);
|
LINT_INIT(m_info);
|
||||||
|
m_info=0;
|
||||||
isam=0;
|
isam=0;
|
||||||
errpos=files=0;
|
errpos=files=0;
|
||||||
bzero((char*) &file,sizeof(file));
|
bzero((char*) &file,sizeof(file));
|
||||||
@ -75,7 +76,7 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
|
|||||||
if( !strncmp(buff+1,"INSERT_METHOD=",14))
|
if( !strncmp(buff+1,"INSERT_METHOD=",14))
|
||||||
{ /* Lookup insert method */
|
{ /* Lookup insert method */
|
||||||
int tmp=find_type(buff+15,&merge_insert_method,2);
|
int tmp=find_type(buff+15,&merge_insert_method,2);
|
||||||
m_info.merge_insert_method = (uint) (tmp >= 0 ? tmp : 0);
|
m_info->merge_insert_method = (uint) (tmp >= 0 ? tmp : 0);
|
||||||
}
|
}
|
||||||
continue; /* Skip comments */
|
continue; /* Skip comments */
|
||||||
}
|
}
|
||||||
@ -115,7 +116,7 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
|
|||||||
m_info->open_tables[files].file_offset=(my_off_t) file_offset;
|
m_info->open_tables[files].file_offset=(my_off_t) file_offset;
|
||||||
file_offset+=isam->state->data_file_length;
|
file_offset+=isam->state->data_file_length;
|
||||||
files++;
|
files++;
|
||||||
if (m_info.reclength != isam->s->base.reclength)
|
if (m_info->reclength != isam->s->base.reclength)
|
||||||
{
|
{
|
||||||
my_errno=HA_ERR_WRONG_MRG_TABLE_DEF;
|
my_errno=HA_ERR_WRONG_MRG_TABLE_DEF;
|
||||||
goto err;
|
goto err;
|
||||||
@ -128,6 +129,9 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
|
|||||||
m_info->rec_per_key_part[i]+=isam->s->state.rec_per_key_part[i] / m_info->tables;
|
m_info->rec_per_key_part[i]+=isam->s->state.rec_per_key_part[i] / m_info->tables;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!m_info && !(m_info= (MYRG_INFO*) my_malloc(sizeof(MYRG_INFO),
|
||||||
|
MYF(MY_WME|MY_ZEROFILL))))
|
||||||
|
goto err;
|
||||||
/* Don't mark table readonly, for ALTER TABLE ... UNION=(...) to work */
|
/* Don't mark table readonly, for ALTER TABLE ... UNION=(...) to work */
|
||||||
m_info->options&= ~(HA_OPTION_COMPRESS_RECORD | HA_OPTION_READ_ONLY_DATA);
|
m_info->options&= ~(HA_OPTION_COMPRESS_RECORD | HA_OPTION_READ_ONLY_DATA);
|
||||||
|
|
||||||
@ -136,7 +140,7 @@ MYRG_INFO *myrg_open(const char *name, int mode, int handle_locking)
|
|||||||
my_errno=HA_ERR_RECORD_FILE_FULL;
|
my_errno=HA_ERR_RECORD_FILE_FULL;
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
m_info->keys=(files) ? m_info->open_tables->table->s->base.keys : 0;
|
m_info->keys= files ? isam->s->base.keys : 0;
|
||||||
bzero((char*) &m_info->by_key,sizeof(m_info->by_key));
|
bzero((char*) &m_info->by_key,sizeof(m_info->by_key));
|
||||||
|
|
||||||
/* this works ok if the table list is empty */
|
/* this works ok if the table list is empty */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user