~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/memory/hp_close.cc

  • Committer: patrick crews
  • Date: 2010-09-29 15:15:19 UTC
  • mfrom: (1099.4.188 drizzle)
  • Revision ID: gleebix@gmail.com-20100929151519-6mrmzd1ciw2p9nws
Tags: 2010.09.1802
Update translations

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (C) 2000-2002 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 St, Fifth Floor, Boston, MA  02110-1301  USA */
15
 
 
16
 
/* close a heap-database */
17
 
 
18
 
#include "heap_priv.h"
19
 
#include <cstdlib>
20
 
 
21
 
using namespace std;
22
 
 
23
 
        /* Close a database open by hp_open() */
24
 
        /* Data is normally not deallocated */
25
 
 
26
 
int heap_close(HP_INFO *info)
27
 
{
28
 
  int tmp;
29
 
  THR_LOCK_heap.lock();
30
 
  tmp= hp_close(info);
31
 
  THR_LOCK_heap.unlock();
32
 
 
33
 
  return(tmp);
34
 
}
35
 
 
36
 
 
37
 
int hp_close(HP_INFO *info)
38
 
{
39
 
  int error=0;
40
 
  info->getShare()->changed=0;
41
 
  heap_open_list.remove(info);
42
 
  if (!--info->getShare()->open_count && info->getShare()->delete_on_close)
43
 
    hp_free(info->getShare());                          /* Table was deleted */
44
 
  delete info;
45
 
  return(error);
46
 
}