mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge janus.mylan:/usr/home/serg/Abk/mysql-5.1
into janus.mylan:/usr/home/serg/Abk/mysql-maria include/my_sys.h: Auto merged mysql-test/lib/mtr_cases.pl: Auto merged mysql-test/lib/mtr_misc.pl: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/ps_2myisam.result: Auto merged mysql-test/r/ps_3innodb.result: Auto merged mysql-test/r/ps_4heap.result: Auto merged mysql-test/r/ps_5merge.result: Auto merged mysql-test/r/query_cache.result: Auto merged mysql-test/r/subselect.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/suite/binlog/r/binlog_unsafe.result: Auto merged mysql-test/suite/binlog/t/binlog_unsafe.test: Auto merged mysql-test/suite/ndb/r/ps_7ndb.result: Auto merged mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: Auto merged mysql-test/suite/rpl/t/rpl_insert.test: Auto merged mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test: Auto merged mysql-test/t/disabled.def: Auto merged mysql-test/t/query_cache.test: Auto merged mysql-test/t/subselect.test: Auto merged mysql-test/t/view.test: Auto merged sql/field.h: Auto merged sql/filesort.cc: Auto merged sql/ha_partition.cc: Auto merged sql/handler.cc: Auto merged sql/item_func.cc: Auto merged sql/item_strfunc.h: Auto merged sql/log.cc: Auto merged sql/mysql_priv.h: Auto merged sql/opt_range.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/slave.cc: Auto merged sql/slave.h: Auto merged sql/sp_head.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_union.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/unireg.cc: Auto merged sql/share/errmsg.txt: Auto merged storage/myisam/ft_boolean_search.c: Auto merged storage/myisam/ha_myisam.cc: Auto merged storage/myisam/sort.c: Auto merged sql/log_event_old.h: SCCS merged BitKeeper/triggers/post-commit: merged client/mysqldump.c: merged configure.in: merged client/mysqltest.c: merged include/Makefile.am: merged include/atomic/nolock.h: merged mysql-test/lib/mtr_report.pl: merged sql/handler.h: merged sql/mysqld.cc: merged sql/sql_select.cc: merged
This commit is contained in:
@ -1579,14 +1579,14 @@ JOIN::reinit()
|
||||
if (exec_tmp_table1)
|
||||
{
|
||||
exec_tmp_table1->file->extra(HA_EXTRA_RESET_STATE);
|
||||
exec_tmp_table1->file->delete_all_rows();
|
||||
exec_tmp_table1->file->ha_delete_all_rows();
|
||||
free_io_cache(exec_tmp_table1);
|
||||
filesort_free_buffers(exec_tmp_table1,0);
|
||||
}
|
||||
if (exec_tmp_table2)
|
||||
{
|
||||
exec_tmp_table2->file->extra(HA_EXTRA_RESET_STATE);
|
||||
exec_tmp_table2->file->delete_all_rows();
|
||||
exec_tmp_table2->file->ha_delete_all_rows();
|
||||
free_io_cache(exec_tmp_table2);
|
||||
filesort_free_buffers(exec_tmp_table2,0);
|
||||
}
|
||||
@ -5630,7 +5630,8 @@ get_store_key(THD *thd, KEYUSE *keyuse, table_map used_tables,
|
||||
(keyuse->val->type() == Item::REF_ITEM &&
|
||||
((Item_ref*)keyuse->val)->ref_type() == Item_ref::OUTER_REF &&
|
||||
(*(Item_ref**)((Item_ref*)keyuse->val)->ref)->ref_type() ==
|
||||
Item_ref::DIRECT_REF) )
|
||||
Item_ref::DIRECT_REF &&
|
||||
keyuse->val->real_item()->type() == Item::FIELD_ITEM))
|
||||
return new store_key_field(thd,
|
||||
key_part->field,
|
||||
key_buff + maybe_null,
|
||||
@ -9353,6 +9354,8 @@ static Field *create_tmp_field_from_item(THD *thd, Item *item, TABLE *table,
|
||||
*((*copy_func)++) = item; // Save for copy_funcs
|
||||
if (modify_item)
|
||||
item->set_result_field(new_field);
|
||||
if (item->type() == Item::NULL_ITEM)
|
||||
new_field->is_created_from_null_item= TRUE;
|
||||
return new_field;
|
||||
}
|
||||
|
||||
@ -10724,7 +10727,7 @@ create_internal_tmp_table_from_heap2(THD *thd, TABLE *table,
|
||||
if (open_tmp_table(&new_table))
|
||||
goto err1;
|
||||
if (table->file->indexes_are_disabled())
|
||||
new_table.file->disable_indexes(HA_KEY_SWITCH_ALL);
|
||||
new_table.file->ha_disable_indexes(HA_KEY_SWITCH_ALL);
|
||||
table->file->ha_index_or_rnd_end();
|
||||
table->file->ha_rnd_init(1);
|
||||
if (table->no_rows)
|
||||
@ -10753,13 +10756,13 @@ create_internal_tmp_table_from_heap2(THD *thd, TABLE *table,
|
||||
*/
|
||||
while (!table->file->rnd_next(new_table.record[1]))
|
||||
{
|
||||
write_err= new_table.file->write_row(new_table.record[1]);
|
||||
write_err= new_table.file->ha_write_row(new_table.record[1]);
|
||||
DBUG_EXECUTE_IF("raise_error", write_err= HA_ERR_FOUND_DUPP_KEY ;);
|
||||
if (write_err)
|
||||
goto err;
|
||||
}
|
||||
/* copy row that filled HEAP table */
|
||||
if ((write_err=new_table.file->write_row(table->record[0])))
|
||||
if ((write_err=new_table.file->ha_write_row(table->record[0])))
|
||||
{
|
||||
if (new_table.file->is_fatal_error(write_err, HA_CHECK_DUP) ||
|
||||
!ignore_last_dupp_key_error)
|
||||
@ -10790,7 +10793,7 @@ create_internal_tmp_table_from_heap2(THD *thd, TABLE *table,
|
||||
(void) table->file->ha_rnd_end();
|
||||
(void) new_table.file->close();
|
||||
err1:
|
||||
new_table.file->delete_table(new_table.s->table_name.str);
|
||||
new_table.file->ha_delete_table(new_table.s->table_name.str);
|
||||
err2:
|
||||
delete new_table.file;
|
||||
thd_proc_info(thd, save_proc_info);
|
||||
@ -10813,9 +10816,9 @@ free_tmp_table(THD *thd, TABLE *entry)
|
||||
if (entry->file)
|
||||
{
|
||||
if (entry->db_stat)
|
||||
entry->file->drop_table(entry->s->table_name.str);
|
||||
entry->file->ha_drop_table(entry->s->table_name.str);
|
||||
else
|
||||
entry->file->delete_table(entry->s->table_name.str);
|
||||
entry->file->ha_delete_table(entry->s->table_name.str);
|
||||
delete entry->file;
|
||||
}
|
||||
|
||||
@ -12269,7 +12272,7 @@ end_write(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)),
|
||||
{
|
||||
int error;
|
||||
join->found_records++;
|
||||
if ((error=table->file->write_row(table->record[0])))
|
||||
if ((error=table->file->ha_write_row(table->record[0])))
|
||||
{
|
||||
if (!table->file->is_fatal_error(error, HA_CHECK_DUP))
|
||||
goto end;
|
||||
@ -12331,8 +12334,8 @@ end_update(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)),
|
||||
{ /* Update old record */
|
||||
restore_record(table,record[1]);
|
||||
update_tmptable_sum_func(join->sum_funcs,table);
|
||||
if ((error=table->file->update_row(table->record[1],
|
||||
table->record[0])))
|
||||
if ((error=table->file->ha_update_row(table->record[1],
|
||||
table->record[0])))
|
||||
{
|
||||
table->file->print_error(error,MYF(0)); /* purecov: inspected */
|
||||
DBUG_RETURN(NESTED_LOOP_ERROR); /* purecov: inspected */
|
||||
@ -12355,7 +12358,7 @@ end_update(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)),
|
||||
}
|
||||
init_tmptable_sum_functions(join->sum_funcs);
|
||||
copy_funcs(join->tmp_table_param.items_to_copy);
|
||||
if ((error=table->file->write_row(table->record[0])))
|
||||
if ((error=table->file->ha_write_row(table->record[0])))
|
||||
{
|
||||
if (create_internal_tmp_table_from_heap(join->thd, table, &join->tmp_table_param,
|
||||
error, 0))
|
||||
@ -12391,7 +12394,7 @@ end_unique_update(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)),
|
||||
copy_fields(&join->tmp_table_param); // Groups are copied twice.
|
||||
copy_funcs(join->tmp_table_param.items_to_copy);
|
||||
|
||||
if (!(error=table->file->write_row(table->record[0])))
|
||||
if (!(error=table->file->ha_write_row(table->record[0])))
|
||||
join->send_records++; // New group
|
||||
else
|
||||
{
|
||||
@ -12407,8 +12410,8 @@ end_unique_update(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)),
|
||||
}
|
||||
restore_record(table,record[1]);
|
||||
update_tmptable_sum_func(join->sum_funcs,table);
|
||||
if ((error=table->file->update_row(table->record[1],
|
||||
table->record[0])))
|
||||
if ((error=table->file->ha_update_row(table->record[1],
|
||||
table->record[0])))
|
||||
{
|
||||
table->file->print_error(error,MYF(0)); /* purecov: inspected */
|
||||
DBUG_RETURN(NESTED_LOOP_ERROR); /* purecov: inspected */
|
||||
@ -12451,7 +12454,7 @@ end_write_group(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)),
|
||||
join->sum_funcs_end[send_group_parts]);
|
||||
if (!join->having || join->having->val_int())
|
||||
{
|
||||
int error= table->file->write_row(table->record[0]);
|
||||
int error= table->file->ha_write_row(table->record[0]);
|
||||
if (error && create_internal_tmp_table_from_heap(join->thd, table,
|
||||
&join->tmp_table_param,
|
||||
error, 0))
|
||||
@ -13366,7 +13369,8 @@ check_reverse_order:
|
||||
select->quick=tmp;
|
||||
}
|
||||
}
|
||||
else if (tab->ref.key >= 0 && tab->ref.key_parts <= used_key_parts)
|
||||
else if (tab->type != JT_NEXT &&
|
||||
tab->ref.key >= 0 && tab->ref.key_parts <= used_key_parts)
|
||||
{
|
||||
/*
|
||||
SELECT * FROM t1 WHERE a=1 ORDER BY a DESC,b DESC
|
||||
@ -13679,7 +13683,7 @@ static int remove_dup_with_compare(THD *thd, TABLE *table, Field **first_field,
|
||||
}
|
||||
if (having && !having->val_int())
|
||||
{
|
||||
if ((error=file->delete_row(record)))
|
||||
if ((error=file->ha_delete_row(record)))
|
||||
goto err;
|
||||
error=file->rnd_next(record);
|
||||
continue;
|
||||
@ -13706,7 +13710,7 @@ static int remove_dup_with_compare(THD *thd, TABLE *table, Field **first_field,
|
||||
}
|
||||
if (compare_record(table, first_field) == 0)
|
||||
{
|
||||
if ((error=file->delete_row(record)))
|
||||
if ((error=file->ha_delete_row(record)))
|
||||
goto err;
|
||||
}
|
||||
else if (!found)
|
||||
@ -13806,7 +13810,7 @@ static int remove_dup_with_hash_index(THD *thd, TABLE *table,
|
||||
}
|
||||
if (having && !having->val_int())
|
||||
{
|
||||
if ((error=file->delete_row(record)))
|
||||
if ((error=file->ha_delete_row(record)))
|
||||
goto err;
|
||||
continue;
|
||||
}
|
||||
@ -13823,7 +13827,7 @@ static int remove_dup_with_hash_index(THD *thd, TABLE *table,
|
||||
if (hash_search(&hash, org_key_pos, key_length))
|
||||
{
|
||||
/* Duplicated found ; Remove the row */
|
||||
if ((error=file->delete_row(record)))
|
||||
if ((error=file->ha_delete_row(record)))
|
||||
goto err;
|
||||
}
|
||||
else
|
||||
@ -15847,7 +15851,7 @@ int JOIN::rollup_write_data(uint idx, TABLE *table_arg)
|
||||
item->save_in_result_field(1);
|
||||
}
|
||||
copy_sum_funcs(sum_funcs_end[i+1], sum_funcs_end[i]);
|
||||
if ((write_error= table_arg->file->write_row(table_arg->record[0])))
|
||||
if ((write_error= table_arg->file->ha_write_row(table_arg->record[0])))
|
||||
{
|
||||
if (create_internal_tmp_table_from_heap(thd, table_arg, &tmp_table_param,
|
||||
write_error, 0))
|
||||
|
Reference in New Issue
Block a user