Commit 70762677 authored by unknown's avatar unknown

Merge chilla.local:/home/mydev/mysql-5.0-bug14400-monty

into  chilla.local:/home/mydev/mysql-5.1-bug14400-monty


BitKeeper/etc/ignore:
  auto-union
include/my_global.h:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
storage/myisam/mi_rkey.c:
  Auto merged
storage/myisam/mi_test_all.res:
  Auto merged
storage/myisam/mi_test_all.sh:
  Merge from 5.0.
parents 2327142d 432d127e
......@@ -34,6 +34,8 @@
*.vcproj
*/*.dir/*
*/*_pure_*warnings
*/.deps
*/.libs/*
*/.pure
*/debug/*
*/release/*
......
......@@ -13313,6 +13313,8 @@ setup_copy_fields(THD *thd, TMP_TABLE_PARAM *param,
param->copy_funcs.empty();
for (i= 0; (pos= li++); i++)
{
Field *field;
char *tmp;
Item *real_pos= pos->real_item();
if (real_pos->type() == Item::FIELD_ITEM)
{
......@@ -13343,17 +13345,25 @@ setup_copy_fields(THD *thd, TMP_TABLE_PARAM *param,
set up save buffer and change result_field to point at
saved value
*/
Field *field= item->field;
field= item->field;
item->result_field=field->new_field(thd->mem_root,field->table, 1);
char *tmp=(char*) sql_alloc(field->pack_length()+1);
/*
We need to allocate one extra byte for null handling and
another extra byte to not get warnings from purify in
Field_string::val_int
*/
tmp= (char*) sql_alloc(field->pack_length()+2);
if (!tmp)
goto err;
if (copy)
{
copy->set(tmp, item->result_field);
item->result_field->move_field(copy->to_ptr,copy->to_null_ptr,1);
copy++;
}
if (copy)
{
copy->set(tmp, item->result_field);
item->result_field->move_field(copy->to_ptr,copy->to_null_ptr,1);
#ifdef HAVE_purify
copy->to_ptr[copy->from_length]= 0;
#endif
copy++;
}
}
}
else if ((real_pos->type() == Item::FUNC_ITEM ||
......
......@@ -133,7 +133,6 @@ int mi_rkey(MI_INFO *info, byte *buf, int inx, const byte *key, uint key_len,
}
}
}
if (share->concurrent_insert)
rw_unlock(&share->key_root_lock[inx]);
......
......@@ -8,46 +8,46 @@ myisamchk: MyISAM file test2
myisamchk: warning: Datafile is almost full, 65532 of 65534 used
MyISAM-table 'test2' is usable but should be fixed
Commands Used count Errors Recover errors
open 1 0 0
write 50 0 0
update 5 0 0
delete 50 0 0
close 1 0 0
extra 6 0 0
Total 113 0 0
open 7 0 0
write 350 0 0
update 35 0 0
delete 350 0 0
close 7 0 0
extra 42 0 0
Total 791 0 0
Commands Used count Errors Recover errors
open 2 0 0
write 100 0 0
update 10 0 0
delete 100 0 0
close 2 0 0
extra 12 0 0
Total 226 0 0
open 8 0 0
write 400 0 0
update 40 0 0
delete 400 0 0
close 8 0 0
extra 48 0 0
Total 904 0 0
real 0m0.791s
user 0m0.137s
sys 0m0.117s
real 0m0.221s
user 0m0.120s
sys 0m0.100s
real 0m0.659s
user 0m0.252s
sys 0m0.102s
real 0m0.222s
user 0m0.140s
sys 0m0.084s
real 0m0.571s
user 0m0.188s
sys 0m0.098s
real 0m0.232s
user 0m0.112s
sys 0m0.120s
real 0m1.111s
user 0m0.236s
sys 0m0.037s
real 0m0.163s
user 0m0.116s
sys 0m0.036s
real 0m0.621s
user 0m0.242s
sys 0m0.022s
real 0m0.159s
user 0m0.136s
sys 0m0.020s
real 0m0.698s
user 0m0.248s
sys 0m0.021s
real 0m0.147s
user 0m0.132s
sys 0m0.016s
real 0m0.683s
user 0m0.265s
sys 0m0.079s
real 0m0.211s
user 0m0.124s
sys 0m0.088s
......@@ -79,7 +79,8 @@ if test -f mi_test1$MACH ; then suffix=$MACH ; else suffix=""; fi
# check of myisampack / myisamchk
./myisampack$suffix --force -s test1
./myisamchk$suffix -es test1
# Ignore error for index file
./myisamchk$suffix -es test1 2>&1 >& /dev/null
./myisamchk$suffix -rqs test1
./myisamchk$suffix -es test1
./myisamchk$suffix -rs test1
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment