--------------------------------------------------------------------------- @class: CMDProviderRelcache @doc: Relcache-based provider of metadata objects. ---------------------------------------------------------------------------
| 44 | // |
| 45 | //--------------------------------------------------------------------------- |
| 46 | class CMDProviderRelcache : public IMDProvider |
| 47 | { |
| 48 | public: |
| 49 | CMDProviderRelcache(const CMDProviderRelcache &) = delete; |
| 50 | |
| 51 | // ctor/dtor |
| 52 | CMDProviderRelcache() = default; |
| 53 | |
| 54 | ~CMDProviderRelcache() override = default; |
| 55 | |
| 56 | // returns the DXL string of the requested metadata object |
| 57 | CWStringBase *GetMDObjDXLStr(CMemoryPool *mp, CMDAccessor *md_accessor, |
| 58 | IMDId *md_id) const override; |
| 59 | |
| 60 | // return the requested metadata object |
| 61 | IMDCacheObject *GetMDObj(CMemoryPool *mp, CMDAccessor *md_accessor, |
| 62 | IMDId *mdid, |
| 63 | IMDCacheObject::Emdtype mdtype) const override; |
| 64 | |
| 65 | // return the mdid for the requested type |
| 66 | IMDId * |
| 67 | MDId(CMemoryPool *mp, CSystemId sysid, |
| 68 | IMDType::ETypeInfo type_info) const override |
| 69 | { |
| 70 | return GetGPDBTypeMdid(mp, sysid, type_info); |
| 71 | } |
| 72 | }; |
| 73 | } // namespace gpmd |
| 74 | |
| 75 |