Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

진술 실행 (Statement Execution)


Recommended Posts

Docwiki에 있는 "Statement Execution"을 번역한 글(최종 번역일: 2022년 8월 18일)

<< 위로 가기: 체인지 뷰스 (Change Views)

진술(statement)이 한번 준비(PREPARE)되고 나면, 구독 활성화 또는 비활성화를 하기 위해 해당 진술(statement)을 다시 준비할 필요가 없다. 진술은 실행(EXECUTE)이 시작될 때 해당 트랜잭션에 연결된 구독 환경에 맞추어 동적으로 반응한다. 진술 실행(EXECUTE)은 한번 시작되면 일관성이 유지된다. 따라서 해당 결과 세트를 모두 받아오기(fetch) 전에 해당 구독이 비활성화된다고 해도 여전히 실행이 시작된 시점의 변경 뷰를 반환한다.

활성화된 구독에서 가져오는 도중에 구독을 비활성화 하는 경우 일반 열람 도중에 구독을 활성화하는 경우
PREPARE Q; PREPARE Q
SET SUBSCRIPTION ... ACTIVE EXECUTE Q
EXECUTE Q FETCH Q
FETCH Q SET SUBSCRIPTION ... ACTIVE
SET SUBSCRIPTION ... INACTIVE FETCH Q
FETCH Q CLOSE Q
CLOSE Q  

진술 Q 안에서 읽어오는 구독 대상 테이블에 대한 참조는 해당 구독이 비활성화된 후에도 변경 뷰에 있는 행(들)을 반환한다. 그 반대 상황 역시 마찬가지이다. 즉 (변경 뷰가 아닌) 일반 결과세트 역시 결과세트를 받아오는 해당 FETCH 도중에 구독이 활성화되어 끼어들어도 결과세트는 변함없이 일관성이 유지된다. 

다음 단계 (Advance To)

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.