Commit 9323e733 authored by monty@tik.mysql.com's avatar monty@tik.mysql.com
Browse files

Changed meaning of HA_EXTRA_RESET and start of hidden primary keys for BDB tables

parent 00625e0f
Loading
Loading
Loading
Loading
+1 −26
Original line number Diff line number Diff line
bk@work.mysql.com
davida@work.mysql.com
jamppa@work.mysql.com
jcole@ham.spaceapes.com
jcole@jcole.burghcom.com
jcole@nslinux.bedford.progress.com
jcole@tetra.bedford.progress.com
jcole@tetra.spaceapes.com
matt@work.mysql.com
monty@donna.mysql.com
monty@work.mysql.com
mwagner@evoq.home.mwagner.org
nusphere@main.burghcom.com
paul@central.snake.net
paul@work.mysql.com
sasha@mysql.sashanet.com
sasha@work.mysql.com
serg@infomag.ape.relarn.ru
serg@serg.mysql.com
serg@work.mysql.com
sinisa@work.mysql.com
spurr@nslinux.bedford.progress.com
tim@localhost.polyesthetic.msg
tim@threads.polyesthetic.msg
tim@work.mysql.com
tonu@work.mysql.com
monty@tik.mysql.com
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ int heap_extra(register HP_INFO *info, enum ha_extra_function function)

  switch (function) {
  case HA_EXTRA_RESET:
  case HA_EXTRA_RESET_STATE:
    info->lastinx= -1;
    info->current_record= (ulong) ~0L;
    info->current_hash_ptr=0;
+2 −1
Original line number Diff line number Diff line
@@ -87,7 +87,8 @@ enum ha_extra_function {
  HA_EXTRA_REINIT_CACHE=20,		/* init cache from current record */
  HA_EXTRA_FORCE_REOPEN=21,		/* Datafile have changed on disk */
  HA_EXTRA_FLUSH,			/* Flush tables to disk */
  HA_EXTRA_NO_ROWS			/* Don't write rows */
  HA_EXTRA_NO_ROWS,			/* Don't write rows */
  HA_EXTRA_RESET_STATE			/* Reset positions */
};

	/* The following is parameter to ha_panic() */
+8 −0
Original line number Diff line number Diff line
@@ -36,6 +36,14 @@ int nisam_extra(N_INFO *info, enum ha_extra_function function)

  switch (function) {
  case HA_EXTRA_RESET:
    if (info->opt_flag & (READ_CACHE_USED | WRITE_CACHE_USED))
    {
      info->opt_flag&= ~(READ_CACHE_USED | WRITE_CACHE_USED);
      error=end_io_cache(&info->rec_cache);
    }
    info->opt_flag&= ~(KEY_READ_USED | REMEMBER_OLD_POS);

  case HA_EXTRA_RESET_STATE:
    info->lastinx= 0;			/* Use first index as def */
    info->int_pos=info->lastpos= NI_POS_ERROR;
    info->page_changed=1;
+2 −2
Original line number Diff line number Diff line
@@ -2012,8 +2012,8 @@ static int mrg_rrnd(MRG_INFO *info,byte *buf)
  {
    isam_info= *(info->current=info->file);
    info->end=info->current+info->count;
    nisam_extra(isam_info,HA_EXTRA_CACHE);
    nisam_extra(isam_info,HA_EXTRA_RESET);
    nisam_extra(isam_info,HA_EXTRA_CACHE);
    filepos=isam_info->s->pack.header_length;
  }
  else
@@ -2035,8 +2035,8 @@ static int mrg_rrnd(MRG_INFO *info,byte *buf)
    info->current++;
    isam_info= *info->current;
    filepos=isam_info->s->pack.header_length;
    nisam_extra(isam_info,HA_EXTRA_CACHE);
    nisam_extra(isam_info,HA_EXTRA_RESET);
    nisam_extra(isam_info,HA_EXTRA_CACHE);
  }
}

Loading