Return Type | Function name | Arguments |
---|---|---|
hzEcode | hdbIndexUkey::Delete | (const hzAtom&,) |
Declared in file: hzDatabase.h
Defined in file : hdbIndex.cpp
Function Logic:
Function body:
hzEcode hdbIndexUkey::Delete (const hzAtom& key) { _hzfunc("hdbIndexUkey::Delete") ; hzString str ; hzDomain dom ; hzEmaddr ema ; hzUrl url ; hzEcode rc = E_OK ; if (!m_bInit) return E_NOINIT ; if (key.IsNull()) return E_NODATA ; if (key.Type() != m_eBasetype) return hzerr(E_TYPE, "Index type %s - supplied value type %s", Basetype2Txt(m_eBasetype), Basetype2Txt(key.Type())) ; switch (m_eBasetype) { case BASETYPE_DOMAIN: dom = key.Domain() ; if (dom) { _hzGlobal_setDomains[dom].Clear() ; rc = m_keys.pDom->Delete(dom) ; } break ; case BASETYPE_EMADDR: ema = key.Emaddr() ; if (ema) { _hzGlobal_setEmaddrs[ema].Clear() ; rc = m_keys.pEma->Delete(ema) ; } break ; case BASETYPE_STRING: str = key.Str() ; if (str) { _hzGlobal_setStrings[str].Clear() ; rc = m_keys.pStr->Delete(str) ; } break ; case BASETYPE_URL: url = key.Url() ; if (url) { rc = m_keys.pUrl->Delete(url) ; } break ; case BASETYPE_DOUBLE: case BASETYPE_XDATE: case BASETYPE_INT64: case BASETYPE_UINT64: rc = m_keys.pUI64->Delete(key.Unt64()) ; break ; case BASETYPE_IPADDR: case BASETYPE_TIME: case BASETYPE_SDATE: case BASETYPE_INT32: case BASETYPE_UINT32: rc = m_keys.pUI32->Delete(key.Unt32()) ; break ; } ; return rc ; }