MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
hp_info.c
1 /* Copyright (C) 2000-2004 MySQL AB
2 
3  This program is free software; you can redistribute it and/or modify
4  it under the terms of the GNU General Public License as published by
5  the Free Software Foundation; version 2 of the License.
6 
7  This program is distributed in the hope that it will be useful,
8  but WITHOUT ANY WARRANTY; without even the implied warranty of
9  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  GNU General Public License for more details.
11 
12  You should have received a copy of the GNU General Public License
13  along with this program; if not, write to the Free Software
14  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
15 
16 /* Returns info about database status */
17 
18 #include "heapdef.h"
19 
20 
21 uchar *heap_position(HP_INFO *info)
22 {
23  return ((info->update & HA_STATE_AKTIV) ? info->current_ptr :
24  (HEAP_PTR) 0);
25 }
26 
27 
28 #ifdef WANT_OLD_HEAP_VERSION
29 
30 /*
31  The following should NOT be used anymore as this can't be used together with
32  heap_rkey()
33 */
34 
35 ulong heap_position_old(HP_INFO *info)
36 {
37  return ((info->update & HA_STATE_AKTIV) ? info->current_record :
38  (ulong) ~0L);
39 }
40 
41 #endif /* WANT_OLD_HEAP_CODE */
42 
43 /* Note that heap_info does NOT return information about the
44  current position anymore; Use heap_position instead */
45 
46 int heap_info(reg1 HP_INFO *info,reg2 HEAPINFO *x, int flag )
47 {
48  DBUG_ENTER("heap_info");
49  x->records = info->s->records;
50  x->deleted = info->s->deleted;
51  x->reclength = info->s->reclength;
52  x->data_length = info->s->data_length;
53  x->index_length = info->s->index_length;
54  x->max_records = info->s->max_records;
55  x->errkey = info->errkey;
56  x->create_time = info->s->create_time;
57  if (flag & HA_STATUS_AUTO)
58  x->auto_increment= info->s->auto_increment + 1;
59  DBUG_RETURN(0);
60 } /* heap_info */