📄 ocicache.cpp
字号:
#ifndef _COCICache
#include "ocicache.h"
#endif
#ifndef _COCISession
#include "ocisess.h"
#endif
COCICache::COCICache(const COCISession& Sess)
: m_Session(Sess)
, ref(Sess)
{
}
COCICache::~COCICache()
{
}
bool COCICache::flush()
{
OCIRef* r = 0;
sword status = OCICacheFlush(m_Session.get_env(),
m_Session.get_error(),
m_Session.get_svc(),
NULL, // client call back
NULL, // retrieves list of dirty objects
&r);
if(r)
{
void* tmp = r;
ref.set_instance(tmp);
}
return (r == 0);
}
void COCICache::free()
{
CHECK(m_Session.get_error(),
OCICacheFree(m_Session.get_env(), m_Session.get_error(), m_Session.get_svc()));
}
int COCICache::get_size(bool maximum)
{
ub4 Size = 0;
ub4 Len = sizeof(ub4);
CHECK(m_Session.get_error(),
OCIAttrGet ( m_Session.get_env(), OCI_HTYPE_ENV,
&Size, &Len, maximum ? OCI_ATTR_CACHE_MAX_SIZE : OCI_ATTR_CACHE_OPT_SIZE,
m_Session.get_error()));
return Size;
}
void COCICache::set_size(int size, bool maximum)
{
ub4 Len = sizeof(ub4);
CHECK(m_Session.get_error(),
OCIAttrSet(m_Session.get_env(), OCI_HTYPE_ENV,
&size, Len, maximum ? OCI_ATTR_CACHE_MAX_SIZE :OCI_ATTR_CACHE_OPT_SIZE,
m_Session.get_error()));
}
bool COCICache::refresh()
{
OCIRef* r = 0;
OCICacheRefresh(m_Session.get_env(), m_Session.get_error(), m_Session.get_svc(),
OCI_REFRESH_LOADED,
NULL,
NULL,
&r);
if(r)
{
void* tmp = r;
ref.set_instance(tmp);
}
return (r == 0);
}
void COCICache::unmark()
{
CHECK(m_Session.get_error(),
OCICacheUnmark(m_Session.get_env(), m_Session.get_error(), m_Session.get_svc()));
}
void COCICache::unpin()
{
CHECK(m_Session.get_error(),
OCICacheUnpin(m_Session.get_env(), m_Session.get_error(), m_Session.get_svc()));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -