Public 멤버 함수 | |
virtual bool | Connect (CDbCacheClient2ConnectParameter ¶m, ErrorInfoPtr &outError)=0 |
virtual bool | Connect (CDbCacheClient2ConnectParameter ¶m)=0 |
virtual void | Disconnect ()=0 |
virtual void | RequestExclusiveLoadData (String rootTableName, String fieldName, CVariant cmpValue, intptr_t tag, ByteArray &message=ByteArray())=0 |
virtual void | RequestExclusiveLoadDataByGuid (String rootTableName, Guid rootUUID, intptr_t tag, ByteArray &message=ByteArray())=0 |
virtual void | RequestExclusiveLoadDataByQuery (String rootTableName, String queryString, intptr_t tag, ByteArray &message=ByteArray())=0 |
virtual void | RequestExclusiveLoadNewData (String rootTableName, CPropNodePtr addData, intptr_t tag, bool transaction=false)=0 |
virtual bool | RequestAddData (Guid rootUUID, Guid ownerUUID, CPropNodePtr addData, intptr_t tag)=0 |
virtual bool | RequestUpdateData (CPropNodePtr updateData, intptr_t tag)=0 |
virtual bool | RequestRemoveData (Guid rootUUID, Guid removeUUID, intptr_t tag)=0 |
virtual bool | RequestRecursiveUpdateData (CLoadedData2Ptr loadedData, intptr_t tag, bool transactional=false)=0 |
virtual bool | BlockedAddData (Guid rootUUID, Guid ownerUUID, CPropNodePtr addData, uint32_t timeOutTime=30000, ErrorInfoPtr outError=ErrorInfoPtr())=0 |
virtual bool | BlockedUpdateData (CPropNodePtr updateData, uint32_t timeOutTime=30000, ErrorInfoPtr outError=ErrorInfoPtr())=0 |
virtual bool | BlockedRemoveData (Guid rootUUID, Guid removeUUID, uint32_t timeOutTime=30000, ErrorInfoPtr outError=ErrorInfoPtr())=0 |
virtual bool | BlockedRecursiveUpdateData (CLoadedData2Ptr loadedData, bool transactional=false, uint32_t timeOutTime=30000, ErrorInfoPtr outError=ErrorInfoPtr())=0 |
virtual bool | UnilateralAddData (Guid rootUUID, Guid ownerUUID, CPropNodePtr addData, bool writeDbmsImmediately=true)=0 |
virtual bool | UnilateralUpdateData (CPropNodePtr updateData, bool writeDbmsImmediately=true)=0 |
virtual bool | UnilateralMoveData (String rootTableName, Guid rootUUID, Guid nodeUUID, Guid destRootUUID, Guid destNodeUUID, bool writeDbmsImmediately=true)=0 |
virtual bool | UnilateralRemoveData (Guid rootUUID, Guid removeUUID, bool writeDbmsImmediately=true)=0 |
virtual bool | UnilateralRecursiveUpdateData (CLoadedData2Ptr loadedData, bool transactional=false, bool writeDbmsImmediately=true)=0 |
virtual bool | UnloadDataBySessionGuid (Guid sessionGuid, ByteArray &messageToNextLoader=ByteArray())=0 |
virtual void | DenyUnloadData (Guid sessionGuid, ByteArray &messageToRequester=ByteArray())=0 |
virtual void | ForceCompleteUnload (Guid rootUUID)=0 |
virtual void | RequestNonExclusiveSnapshotData (String rootTableName, String fieldName, CVariant cmpValue, intptr_t tag)=0 |
virtual void | RequestNonExclusiveSnapshotDataByGuid (String rootTableName, Guid rootUUID, intptr_t tag)=0 |
virtual void | RequestNonExclusiveSnapshotDataByQuery (String rootTableName, String searchString, intptr_t tag)=0 |
virtual void | RequestNonExclusiveAddData (String rootTableName, Guid rootUUID, Guid ownerUUID, CPropNodePtr addData, intptr_t tag, ByteArray &messageToLoader=ByteArray())=0 |
virtual void | RequestNonExclusiveRemoveData (String rootTableName, Guid rootUUID, Guid removeUUID, intptr_t tag, ByteArray &messageToLoader=ByteArray())=0 |
virtual void | RequestNonExclusiveSetValueIf (String rootTableName, Guid rootUUID, Guid nodeUUID, String propertyName, CVariant newValue, ValueCompareType compareType, CVariant compareValue, intptr_t tag, ByteArray &messageToLoader=ByteArray())=0 |
virtual void | RequestNonExclusiveModifyValue (String rootTableName, Guid rootUUID, Guid nodeUUID, String propertyName, ValueOperType operType, CVariant value, intptr_t tag, ByteArray &messageToLoader=ByteArray())=0 |
virtual bool | RequestIsolateData (Guid rootUUID, String rootTableName, Guid &outSessionGuid)=0 |
virtual bool | RequestDeisolateData (Guid rootUUID, String filterText, Guid &outSessionGuid)=0 |
virtual CLoadedData2Ptr | GetClonedLoadedDataBySessionGuid (Guid sessionGuid)=0 |
virtual CLoadedData2Ptr | GetClonedLoadedDataByUUID (Guid rootUUID)=0 |
virtual HostID | GetLocalHostID ()=0 |
virtual bool | IsLoggedOn ()=0 |
정적 Public 멤버 함수 | |
static PROUDSRV_API CDbCacheClient2 * | New () |
DB cache 클라이언트와 서버 입니다.
|
pure virtual |
블록형 메서드 입니다.
rootUUID | add할 데이터의 rootUUID |
ownerUUID | add할 데이터의 ownerUUID |
addData | add할 데이터 |
timeOutTime | 무한루프에 빠지지 않기위해 리턴을 기다리는시간. default 30sec |
outError | 에러타입 |
|
pure virtual |
BlockedUpdateData(CPropNodePtr,...)과 달리 LoadedData가 가지고 있는 하위의 모든 node를 검색하여 add,update,remove등을 처리해 줍니다.
loadedData | 변화를 저장할 LoadedData입니다. |
transactional | 본요청에 transaction을 할지에 대한 여부입니다. |
timeOutTime | 무한대기에 빠지지 않기위해 리턴을 기다리는 시간.default 30sec |
outError | 에러타입 |
|
pure virtual |
BlockedNonCacheAddData 참고
rootUUID | add할 데이터의 rootUUID |
removeUUID | 제거하고자 하는 UUID |
timeOutTime | 무한루프에 빠지지 않기위해 리턴을 기다리는시간. default 30sec |
outError | 에러타입 |
|
pure virtual |
자세한 설명은 BlockedNonCacheAddData 참고
updateData | update할 node |
timeOutTime | 무한루프에 빠지지 않기위해 리턴을 기다리는시간. default 30sec |
outError | 에러타입 |
|
pure virtual |
DB cache server2에 접속을 시도합니다.
param | CDbCacheClient2를 구동하고 DBCacheServer2에 접속하기 위한 정보 객체 입니다. |
|
pure virtual |
Unload를 인정하지 않습니다.
sessionGuid | 독점중인 데이터의 session Guid입니다. 독점권 요청자에게 전달하는 사용자 임의 메시지입니다. 요청자는 IDbCacheClientDelegate2.OnExclusiveLoadDataFailed의 args.m_loadResults[index].m_message를 통해 해당 메시지를 확인 할 수 있습니다. |
|
pure virtual |
DB cache server2와 접속을 종료하고 모든 데이터를 일소합니다.
|
pure virtual |
Data tree를 DB cache로부터 완전히 unload해 버립니다. DB cache client뿐만 아니라 DB cache server에서도 unload를 합니다.
DB cache가 사용중인 data tree를 직접 DB 억세스를 통해 다루고자 한다면, 이 함수 대신 DB cache가 다루는 데이터를 DB가 직접 억세스하기 기능을 사용하십시오.
rootUUID | unload하고자 하는 data tree의 root UUID입니다. |
|
pure virtual |
데이터의 최신 상태 값을 얻는다.
sessionGuid | RequestExclusiveLoadData 나 RequestExclusiveLoadNewData 에서 받은 session guid |
|
pure virtual |
위 GetClonedLoadedDataBySessionGuid 와 같은 함수이나, rootUUID로 찾는다. 자세한 설명은 GetClonedLoadedDataBySessionGuid 를 참고.
|
pure virtual |
이 클라이언트의 HostID를 얻는다.
|
pure virtual |
이 DB cache client2가 DB cache server2에 로그온(인증)이 완료된 상태인지 여부를 구한다.
|
static |
DB cache client2 인스턴스를 생성합니다.
|
pure virtual |
요청 응답형 메서드입니다.
rootUUID | add할 데이터의 rootUUID |
ownerUUID | add할 데이터의 ownerUUID |
addData | add할 데이터 |
tag | 이 요청에대한 사용자가 넣어줄 식별 값입니다. 콜백시 CCallbackArg 안의 m_tag 로 들어갑니다. |
|
pure virtual |
DB cache가 다루는 데이터를 DB가 직접 억세스하기 기능입니다. isolate 한 data tree 를 deisolate 하도록 요청합니다.
deisolate 요청이 성공하면 다시 DB cache 가 load & save 할 수 있는 상태가 됩니다.
rootUUID | deisolate하고자 하는 data tree의 root UUID입니다. | |
rootTableName | deisolate하고자 하는 data tree의 root테이블의 이름입니다. | |
[out] | outSessionGuid | session 식별자입니다. |
|
pure virtual |
독점적 불러오기 요청 메서드입니다.
rootTableName | 추가할 데이터의 root 테이블 이름 |
fieldName | 찾을 fieldName입니다. |
cmpValue | 찾아서 비교할 값입니다. |
tag | IDbCacheClientDelegate2.OnExclusiveLoadDataComplete 응답을 받을 때 그대로 돌려받을 사용자 임의 데이터입니다. 이 값은 인자 args.m_tag를 통해 돌려받습니다. |
message | 이미 독점로딩되어있는 데이터를 요청할 경우 기존 독점자에게 전달되는 사용자 임의 데이터입니다. 기존 독점자는 IDbCacheClientDelegate2.OnDataUnloadRequested의 인자 args.m_loadResults[index].m_message를 통해 이 메시지를 전달받습니다. |
|
pure virtual |
독점적 불러오기 요청 메서드입니다.
rootTableName | 추가할 데이터의 root 테이블 이름 |
rootUUID | 찾을 rootUUID입니다. |
tag | IDbCacheClientDelegate2.OnExclusiveLoadDataComplete 응답을 받을 때 그대로 돌려받을 사용자 임의 데이터입니다. 이 값은 인자 args.m_tag를 통해 돌려받습니다. |
message | 이미 독점로딩되어있는 데이터를 요청할 경우 기존 독점자에게 전달되는 사용자 임의 데이터입니다. 기존 독점자는 IDbCacheClientDelegate2.OnDataUnloadRequested의 인자 args.m_loadResults[index].m_message를 통해 이 메시지를 전달받습니다. |
|
pure virtual |
독점적 불러오기 요청 메서드입니다.
rootTableName | 추가할 데이터의 root 테이블 이름 |
queryString | RootUUID를 찾기위해 "select RootUUID from %s where %s" 다음과 같은 쿼리를 날리게 되는데 첫번째 인자는 rootTableName이고 where이후 필드에 들어갈 문자열이다. SQL문법에 맞게 작성해야 한다. |
tag | IDbCacheClientDelegate2.OnExclusiveLoadDataComplete 응답을 받을 때 그대로 돌려받을 사용자 임의 데이터입니다. 이 값은 인자 args.m_tag를 통해 돌려받습니다. |
message | 이미 독점로딩되어있는 데이터를 요청할 경우 기존 독점자에게 전달되는 사용자 임의 데이터입니다. 기존 독점자는 IDbCacheClientDelegate2.OnDataUnloadRequested의 인자 args.m_loadResults[index].m_message를 통해 이 메시지를 전달받습니다. |
|
pure virtual |
RootTable에 데이터를 추가하고 바로 사용할때 사용되는 함수입니다.
rootTableName | 추가할 데이터의 root 테이블 이름 |
addData | 추가할 데이터 |
tag | IDbCacheClientDelegate2.OnExclusiveLoadDataComplete 응답을 받을 때 그대로 돌려받을 사용자 임의 데이터입니다. 이 값은 인자 args.m_tag를 통해 돌려받습니다. |
transaction | 본요청에 transaction을 할지에 대한 여부입니다. |
|
pure virtual |
DB cache가 다루는 데이터를 DB가 직접 억세스하기 기능입니다. DB cache가 사용중인 data tree를 직접 DB 억세스를 통해 접근할 수 있도록 요청합니다. DB cache는 사용자가 안전하게 접근할 수 있도록 캐싱하던 Data tree 를 unload 합니다.
isolate 요청이 성공하면 DB cache 는 data tree 에 절대 접근하지 않습니다. 사용자는 이 함수를 호출한 뒤 data 를 직접 억세스합니다. 사용자는 작업을 완료하면 RequestDeisolateData 를 호출하여 DB cache 에 작업이 끝났음을 알려야 합니다.
rootUUID | isolate하고자 하는 data tree의 root UUID입니다. | |
rootTableName | isolate하고자 하는 data tree의 root테이블의 이름입니다. | |
[out] | outSessionGuid | session 식별자입니다. |
|
pure virtual |
비독점적 데이터 접근하기 기능입니다. Callback:
독점중인 DB Cache Client Callback:
rootTableName | root테이블의 이름입니다. |
rootUUID | root의 UUID입니다. |
ownerUUID | owner의 UUID입니다. |
addData | 추가할 node의 data입니다. |
tag | 요청 식별을 위한 사용자 임의 데이터입니다. 콜백 시 CCallbackArg 의 m_tag를 통해 돌려받습니다. |
messageToLoader | 해당 데이터의 독점자에게 전달하는 사용자 임의 메시지입니다. 독점자는 IDbCacheClientDelegate2::OnSomeoneAddData의 args.m_loadResults[index].m_message를 통해 이를 전달받습니다. |
|
pure virtual |
비독점적 데이터 접근하기 기능입니다.
Callback:
독점 중인 DB Cache Client Callback:
rootTableName | root테이블의 이름입니다. |
rootUUID | root의 UUID입니다. |
nodeUUID | node의 UUID입니다. |
propertyName | 값을 setting할 속성의 이름입니다. |
operType | 연산 타입 |
value | 적용시킬 값입니다. |
tag | 요청 식별을 위한 사용자 임의 데이터입니다. 콜백 시 CCallbackArg 의 m_tag를 통해 돌려받습니다. |
messageToLoader | 해당 데이터의 독점자에게 전달하는 메시지입니다. 독점자는 IDbCacheClientDelegate2::OnSomeoneModifyValue의 args.m_loadResults[index].m_message를 통해 이를 전달받습니다. |
|
pure virtual |
비독점적 데이터 접근하기 기능입니다.
Callback:
독점 중인 DB Cache Client Callback:
rootTableName | root테이블의 이름입니다. |
rootUUID | root의 UUID입니다. |
removeUUID | 제거하고자 하는 UUID입니다. |
tag | 요청 식별을 위한 사용자 임의 데이터입니다. 콜백 시 CCallbackArg 의 m_tag를 통해 돌려받습니다. |
messageToLoader | 해당 데이터의 독점자에게 전달하는 메시지입니다. 독점자는 IDbCacheClientDelegate2::OnSomeoneRemoveData의 args.m_loadResults[index].m_message를 통해 이를 전달받습니다. |
|
pure virtual |
비독점적 데이터 접근하기 기능입니다.
Callback:
독점 중인 DB Cache Client Callback:
rootTableName | root테이블의 이름입니다. |
rootUUID | root의 UUID입니다. |
nodeUUID | node의 UUID입니다. |
propertyName | 값을 setting할 속성의 이름입니다. |
newValue | 비교 조건을 충족하는 경우 새로 대입될 값입니다. |
compareType | 비교 조건 type입니다. |
compareValue | 기존 값과 비교할 값입니다. |
tag | 요청 식별을 위한 사용자 임의 데이터입니다. 콜백 시 CCallbackArg 의 m_tag를 통해 돌려받습니다. |
messageToLoader | 해당 데이터의 독점자에게 전달하는 메시지입니다. 독점자는 IDbCacheClientDelegate2::OnSomeoneSetValue의 args.m_loadResults[index].m_message를 통해 이를 전달받습니다. |
|
pure virtual |
비독점적으로 data의 최신 상태를 얻어옵니다. 비독점적 데이터 접근하기 기능입니다.
Callback:
rootTableName | root 테이블의 이름 |
fieldName | 필드명 |
cmpValue | 비교할 값. 이를 SQL문에 비유하면 WHERE fieldName = cmpValue 와 동일합니다. |
tag | 이요청에대한 사용자가 넣어줄 식별 값입니다.콜백시 CCallbackArg 안의 m_tag로 들어갑니다. |
|
pure virtual |
비독점적으로 data의 최신 상태를 얻어옵니다. 비독점적 데이터 접근하기 기능입니다.
Callback:
rootTableName | root 테이블의 이름 |
rootUUID | 데이터 검색을 RootUUID |
tag | 이요청에대한 사용자가 넣어줄 식별 값입니다.콜백시 CCallbackArg 안의 m_tag로 들어갑니다. |
|
pure virtual |
비독점적으로 data의 최신 상태를 얻어옵니다. 비독점적 데이터 접근하기 기능입니다.
Callback:
rootTableName | root 테이블의 이름 |
searchString | 데이터 검색을 위한 쿼리문 ( where절 이후에 들어갈 구문 ) |
tag | 이요청에대한 사용자가 넣어줄 식별 값입니다.콜백시 CCallbackArg 안의 m_tag로 들어갑니다. |
|
pure virtual |
RequestUpdateData(CPropNodePtr,Guid&)과 달리 LoadedData가 가지고 있는 하위의 모든 node 를 검색하여 add,update,remove등을 처리해 줍니다.
loadedData | 변화를 저장할 LoadedData입니다. |
tag | 이요청에대한 사용자가 넣어줄 식별 값입니다. 콜백시 CCallbackArg 안의 m_tag로 들어갑니다. |
transactional | 본요청에 transaction을 할지에 대한 여부입니다. |
|
pure virtual |
자세한 설명은 RequestAddData 참고
rootUUID | root의 UUID |
removeUUID | 제거할 UUID |
tag | 이 요청에대한 사용자가 넣어줄 식별 값입니다. 콜백시 CCallbackArg 안의 m_tag로 들어갑니다. |
|
pure virtual |
자세한 설명은 RequestAddData 참고
updateData | 변경된 노드의 data |
tag | 이 요청에대한 사용자가 넣어줄 식별 값입니다. 콜백시 CCallbackArg 안의 m_tag 로 들어갑니다. |
|
pure virtual |
일방적(Unilateral) 메서드입니다.
rootUUID | add할 데이터의 rootUUID |
ownerUUID | add할 데이터의 ownerUUID |
addData | add할 데이터 |
writeDbmsImmediately | true이면 DBMS에 아이템 추가 사실을 최대한 빨리 기록을 수행한다. |
|
pure virtual |
일방적(Unilateral) 메서드입니다.
rootUUID | move할 rootUUID 노드 |
ownerUUID | move할 ownerUUID 노드 |
destRootUUID | attach할 destRootUUID 노드 |
destNodeUUID | attach할 destNodeUUID 노드 |
|
pure virtual |
자세한 설명은 UnilateralAddData 참고
loadedData | 로드된 Data |
transactional | 트렌젝션 기능 사용 여부 |
writeDbmsImmediately | true이면 DBMS에 최대한 빨리 기록을 수행 |
|
pure virtual |
자세한 설명은 UnilateralAddData 참고
rootUUID | root의 UUID |
removeUUID | 제거할 UUID |
writeDbmsImmediately | true이면 DBMS에 최대한 빨리 기록을 수행 |
|
pure virtual |
자세한 설명은 UnilateralAddData 참고
update | 하고자 하는 node의 data |
writeDbmsImmediately | true이면 DBMS에 최대한 빨리 기록을 수행 |
|
pure virtual |
sessionGuid | Unload 할 데이터의 session Guid입니다. |
messageToNextLoader | 독점권 요청자에게 전달하는 사용자 임의 메시지입니다. 요청자는 IDbCacheClientDelegate2.OnExclusiveLoadDataSuccess의 args.m_loadResults[index].m_message를 통해 해당 메시지를 확인 할 수 있습니다. |