Automatic merge

This commit is contained in:
Michael Widenius 2012-06-15 13:39:07 +03:00
commit 8ad377aad9
9 changed files with 24 additions and 14 deletions

View file

@ -4773,7 +4773,7 @@ static int do_show_slave_status(MYSQL *mysql_con)
if (row[1]) if (row[1])
fprintf(md_result_file, "MASTER_HOST='%s', ", row[1]); fprintf(md_result_file, "MASTER_HOST='%s', ", row[1]);
if (row[3]) if (row[3])
fprintf(md_result_file, "MASTER_PORT='%s', ", row[3]); fprintf(md_result_file, "MASTER_PORT=%s, ", row[3]);
} }
fprintf(md_result_file, fprintf(md_result_file,
"MASTER_LOG_FILE='%s', MASTER_LOG_POS=%s;\n", row[9], row[21]); "MASTER_LOG_FILE='%s', MASTER_LOG_POS=%s;\n", row[9], row[21]);

View file

@ -9,6 +9,6 @@ STOP SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START; CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
START SLAVE; START SLAVE;
STOP SLAVE; STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT='MASTER_MYPORT', MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START; CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_MYPORT, MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
START SLAVE; START SLAVE;
include/rpl_end.inc include/rpl_end.inc

View file

@ -46,14 +46,17 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE ts ref q q 257 const 3 Using where with pushed condition 1 SIMPLE ts ref q q 257 const 3 Using where with pushed condition
SET optimizer_switch=@save_optimizer_switch; SET optimizer_switch=@save_optimizer_switch;
drop table ts; drop table ts;
show status like "sphinx_%"; show status like "sphinx_error%";
Variable_name Value Variable_name Value
sphinx_error_commits 0 sphinx_error_commits 0
sphinx_error_group_commits 0 sphinx_error_group_commits 0
sphinx_error_snapshot_file sphinx_error_snapshot_file
sphinx_error_snapshot_position 0 sphinx_error_snapshot_position 0
sphinx_time 0 show status like "sphinx_total%";
Variable_name Value
sphinx_total 2 sphinx_total 2
sphinx_total_found 2 sphinx_total_found 2
show status like "sphinx_word%";
Variable_name Value
sphinx_word_count 0 sphinx_word_count 0
sphinx_words sphinx_words

View file

@ -26,4 +26,6 @@ explain select * from ts where q=';groupby=attr:gid';
SET optimizer_switch=@save_optimizer_switch; SET optimizer_switch=@save_optimizer_switch;
drop table ts; drop table ts;
show status like "sphinx_%"; show status like "sphinx_error%";
show status like "sphinx_total%";
show status like "sphinx_word%";

View file

@ -7360,7 +7360,10 @@ err:
thd_progress_next_stage(thd); thd_progress_next_stage(thd);
if (error > 0) if (error > 0)
{
/* We are going to drop the temporary table */
to->file->extra(HA_EXTRA_PREPARE_FOR_DROP); to->file->extra(HA_EXTRA_PREPARE_FOR_DROP);
}
if (errpos >= 3 && to->file->ha_end_bulk_insert() && error <= 0) if (errpos >= 3 && to->file->ha_end_bulk_insert() && error <= 0)
{ {
to->file->print_error(my_errno,MYF(0)); to->file->print_error(my_errno,MYF(0));

View file

@ -193,9 +193,10 @@ int maria_close(register MARIA_HA *info)
else else
share_can_be_freed= TRUE; share_can_be_freed= TRUE;
if (share->state_history) if (share->state_history && share->state_history->trid)
{ {
MARIA_STATE_HISTORY_CLOSED *history; MARIA_STATE_HISTORY_CLOSED *history;
DBUG_PRINT("info", ("Storing state history"));
/* /*
Here we ignore the unlikely case that we don't have memory to Here we ignore the unlikely case that we don't have memory to
store the state. In the worst case what happens is that any transaction store the state. In the worst case what happens is that any transaction

View file

@ -38,14 +38,8 @@ int maria_delete_table(const char *name)
/** @todo LOCK take X-lock on table */ /** @todo LOCK take X-lock on table */
/* /*
We need to know if this table is transactional. We need to know if this table is transactional.
When built with RAID support, we also need to determine if this table Unfortunately it is necessary to open the table just to check this. We use
makes use of the raid feature. If yes, we need to remove all raid 'open_for_repair' to be able to open even a crashed table.
chunks. This is done with my_raid_delete(). Unfortunately it is
necessary to open the table just to check this. We use
'open_for_repair' to be able to open even a crashed table. If even
this open fails, we assume no raid configuration for this table
and try to remove the normal data file only. This may however
leave the raid chunks behind.
*/ */
if (!(info= maria_open(name, O_RDONLY, HA_OPEN_FOR_REPAIR))) if (!(info= maria_open(name, O_RDONLY, HA_OPEN_FOR_REPAIR)))
{ {
@ -56,6 +50,8 @@ int maria_delete_table(const char *name)
sync_dir= (info->s->now_transactional && !info->s->temporary && sync_dir= (info->s->now_transactional && !info->s->temporary &&
!maria_in_recovery) ? !maria_in_recovery) ?
MY_SYNC_DIR : 0; MY_SYNC_DIR : 0;
/* Remove history for table */
_ma_reset_state(info);
maria_close(info); maria_close(info);
} }

View file

@ -42,6 +42,7 @@ int maria_status(MARIA_HA *info, register MARIA_INFO *x, uint flag)
MY_STAT state; MY_STAT state;
MARIA_SHARE *share= info->s; MARIA_SHARE *share= info->s;
DBUG_ENTER("maria_status"); DBUG_ENTER("maria_status");
DBUG_PRINT("info", ("records: %lld", info->state->records));
x->recpos= info->cur_row.lastpos; x->recpos= info->cur_row.lastpos;
if (flag == HA_STATUS_POS) if (flag == HA_STATUS_POS)

View file

@ -866,6 +866,9 @@ MARIA_HA *maria_open(const char *name, int mode, uint open_flags)
_ma_remove_not_visible_states(history->state_history, 0, 0); _ma_remove_not_visible_states(history->state_history, 0, 0);
history->state_history= 0; history->state_history= 0;
(void) my_hash_delete(&maria_stored_state, (uchar*) history); (void) my_hash_delete(&maria_stored_state, (uchar*) history);
DBUG_PRINT("info", ("Reading state history. trid: %lu records: %lld",
(ulong) share->state_history->trid,
share->state_history->state.records));
} }
else else
{ {
@ -988,6 +991,7 @@ MARIA_HA *maria_open(const char *name, int mode, uint open_flags)
mysql_mutex_unlock(&THR_LOCK_maria); mysql_mutex_unlock(&THR_LOCK_maria);
m_info->open_flags= open_flags; m_info->open_flags= open_flags;
DBUG_PRINT("exit", ("table: %p name: %s",m_info, name));
DBUG_RETURN(m_info); DBUG_RETURN(m_info);
err: err: