Return TypeFunction nameArguments
hzEcodehdbIndexUkey::Init(const hdbObjRepos*,const hzString&,hdbBasetype,)

Declared in file: hzDatabase.h
Defined in file : hdbIndex.cpp

Function Logic:

0:START 1:m_bInit 2:Return hzerr(E_SEQUENCE,%s already initialized,*m_Name) 3:!pRepos 4:hzexit 5:hdbObjRepos::txtName m_Name m_Name m_Name 6:dtype 7:BASETYPE_STRING 8:m_keys

Function body:

hzEcode hdbIndexUkey::Init (const hdbObjRepos* pRepos, const hzString& mbrName, hdbBasetype dtype)
{
   _hzfunc("hdbIndexUkey::Init") ;
   hzEcode rc = E_OK ;
   if (m_bInit)
       return hzerr(E_SEQUENCE, "%s already initialized", *m_Name) ;
   if (!pRepos)
       hzexit(E_ARGUMENT, "No repository supplied") ;
   m_Name = pRepos->txtName() ;
   m_Name += "::" ;
   m_Name += mbrName ;
   switch  (dtype)
   {
   case BASETYPE_STRING:   m_keys.pStr     = new hzMapS    <hzString,uint32_t> ;   break ;
   case BASETYPE_DOMAIN:   m_keys.pDom     = new hzMapS    <hzDomain,uint32_t> ;   break ;
   case BASETYPE_EMADDR:   m_keys.pEma     = new hzMapS    <hzEmaddr,uint32_t> ;   break ;
   case BASETYPE_URL:      m_keys.pUrl     = new hzMapS    <hzUrl,uint32_t> ;      break ;
   case BASETYPE_IPADDR:   m_keys.pIpa     = new hzMapS    <hzIpaddr,uint32_t> ;   break ;
   case BASETYPE_TIME:     m_keys.pTime    = new hzMapS    <hzTime,uint32_t> ;     break ;
   case BASETYPE_SDATE:    m_keys.pSD      = new hzMapS    <hzSDate,uint32_t> ;    break ;
   case BASETYPE_XDATE:    m_keys.pXD      = new hzMapS    <hzXDate,uint32_t> ;    break ;
   case BASETYPE_INT64:    m_keys.pSI64    = new hzMapS    <int64_t,uint32_t> ;    break ;
   case BASETYPE_UINT64:   m_keys.pUI64    = new hzMapS    <uint64_t,uint32_t> ;   break ;
   case BASETYPE_INT32:    m_keys.pSI32    = new hzMapS    <int32_t,uint32_t> ;    break ;
   case BASETYPE_UINT32:   m_keys.pUI32    = new hzMapS    <uint32_t,uint32_t> ;   break ;
   default:
       rc = E_TYPE ;
       break ;
   }
   if (rc == E_OK)
   {
       m_eBasetype = dtype ;
       m_bInit = true ;
   }
   return rc ;
}