Commit 82a72ee1 authored by unknown's avatar unknown
Browse files

Merge bk-internal:/home/bk/mysql-4.0

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


BitKeeper/etc/ignore:
  auto-union
include/my_global.h:
  Auto merged
myisam/mi_rkey.c:
  Manual null merge as a better fix is already present.
mysql-test/r/myisam.result:
  Manual null merge as a better fix is already present.
mysql-test/t/myisam.test:
  Manual null merge as a better fix is already present.
sql/sql_select.cc:
  Manual merge of purify improvements.
parents ab7d1d70 dcb66590
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
*.Plo
*.Po
*.a
*.bb
*.bbg
@@ -11,6 +13,8 @@
*.reject
*.spec
*/*_pure_*warnings
*/.deps
*/.libs/*
*/.pure
*~
.*.swp
@@ -336,6 +340,7 @@ isam/test2
isam/test3
libmysql/*.c
libmysql/conf_to_src
libmysql/libmysql.ver
libmysql/my_static.h
libmysql/my_time.c
libmysql/mysys_priv.h
@@ -443,6 +448,7 @@ libmysqld/sql_insert.cc
libmysqld/sql_lex.cc
libmysqld/sql_list.cc
libmysqld/sql_load.cc
libmysqld/sql_locale.cc
libmysqld/sql_manager.cc
libmysqld/sql_map.cc
libmysqld/sql_olap.cc
@@ -1057,5 +1063,3 @@ vio/test-ssl
vio/test-sslclient
vio/test-sslserver
vio/viotest-ssl
libmysql/libmysql.ver
libmysqld/sql_locale.cc
+0 −1
Original line number Diff line number Diff line
@@ -132,7 +132,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]);

+35 −35
Original line number Diff line number Diff line
@@ -5,46 +5,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               17         0                0
write             850         0                0
update             85         0                0
delete            850         0                0
close              17         0                0
extra             102         0                0
Total            1921         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               18         0                0
write             900         0                0
update             90         0                0
delete            900         0                0
close              18         0                0
extra             108         0                0
Total            2034         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	0m1.054s
user	0m0.410s
sys	0m0.640s
real	0m0.221s
user	0m0.120s
sys	0m0.100s

real	0m1.077s
user	0m0.550s
sys	0m0.530s
real	0m0.222s
user	0m0.140s
sys	0m0.084s

real	0m1.100s
user	0m0.420s
sys	0m0.680s
real	0m0.232s
user	0m0.112s
sys	0m0.120s

real	0m0.783s
user	0m0.590s
sys	0m0.200s
real	0m0.163s
user	0m0.116s
sys	0m0.036s

real	0m0.764s
user	0m0.560s
sys	0m0.210s
real	0m0.159s
user	0m0.136s
sys	0m0.020s

real	0m0.699s
user	0m0.570s
sys	0m0.130s
real	0m0.147s
user	0m0.132s
sys	0m0.016s

real	0m0.991s
user	0m0.630s
sys	0m0.350s
real	0m0.211s
user	0m0.124s
sys	0m0.088s
+2 −1
Original line number Diff line number Diff line
@@ -79,7 +79,8 @@ myisamchk$suffix -se test1

# 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
+13 −3
Original line number Diff line number Diff line
@@ -9083,6 +9083,8 @@ setup_copy_fields(THD *thd, TMP_TABLE_PARAM *param,
  param->copy_funcs.empty();
  for (i= 0; (pos= li++); i++)
  {
    Field *field;
    char *tmp;
    if (pos->type() == Item::FIELD_ITEM)
    {
      Item_field *item;
@@ -9111,13 +9113,21 @@ 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);
	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;
	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++;
      }
    }