Return TypeFunction nameArguments
_hz_vn_Dat*_hz_tmpl_ISAM::DeleteKey(int32_t&,const void*,)

Declared in file: hzIsamT.h
Defined in file : hzIsamT.cpp

Function Logic:

0:START 1:unknown 2:Return 0 3:pDN 4:unknown 5:Return 0 6:unknown 7:items 8:pDN 9:unknown 10:items 11:Return pDN

Function body:

_hz_vn_Dat* _hz_tmpl_ISAM::DeleteKey (int32_t& nSlot)const void* pKey, 
{
   //  Arguments: 1) key  The key be removed
   //  
   //  Returns: E_OK  If operation successful
   //     E_NOTFOUND If the key was not found in the ISAM
   _hzfunc("_hz_tmpl_ISAM::DeleteKey") ;
   _hz_vn_Dat* pDN = 0;    //  Target data node (from which delete will occur)
   //  Check args
   if (!Root())
       return 0;
   //  Locate the 'target' top level node
   pDN = _findDnodeByKey(nSlot, pKey, HZ_ISAMSRCH_LO) ;
   if (!pDN)
       return 0;
   if (nSlot >&eq; HZ_T_ISAMNODE_FULL)
       Fatal("Isam=%d: Illegal slot no %d for node %d\n", IsamId(), nSlot, pDN->m_Id) ;
   //  Expel the entity from the node
   pDN = _expelDataSlot(pDN, nSlot) ;
   if (Count() != Population())
       Fatal("Isam=%d: Expected population %d, actual %d\n", IsamId(), Population(), Count()) ;
   return pDN ;
}