hp_info.c
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. /* Returns info about database status */
  14. #include "heapdef.h"
  15. byte *heap_position(HP_INFO *info)
  16. {
  17.   return ((info->update & HA_STATE_AKTIV) ? info->current_ptr :
  18.   (HEAP_PTR) 0);
  19. }
  20. #ifdef WANT_OLD_HEAP_VERSION
  21. /*
  22.   The following should NOT be used anymore as this can't be used together with
  23.    heap_rkey()
  24. */
  25. ulong heap_position_old(HP_INFO *info)
  26. {
  27.   return ((info->update & HA_STATE_AKTIV) ? info->current_record :
  28.   (ulong) ~0L);
  29. }
  30. #endif /* WANT_OLD_HEAP_CODE */
  31. /* Note that heap_info does NOT return information about the
  32.    current position anymore;  Use heap_position instead */
  33. int heap_info(reg1 HP_INFO *info,reg2 HEAPINFO *x, int flag )
  34. {
  35.   DBUG_ENTER("heap_info");
  36.   x->records         = info->s->records;
  37.   x->deleted         = info->s->deleted;
  38.   x->reclength       = info->s->reclength;
  39.   x->data_length     = info->s->data_length;
  40.   x->index_length    = info->s->index_length;
  41.   x->max_records     = info->s->max_records;
  42.   x->errkey          = info->errkey;
  43.   if (flag & HA_STATUS_AUTO)
  44.     x->auto_increment= info->s->auto_increment + 1;
  45.   DBUG_RETURN(0);
  46. } /* heap_info */