Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

INC-48302 lob select 주의 사항 영문 매뉴얼 #526

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

Soyoon-Choi
Copy link
Collaborator

@Soyoon-Choi Soyoon-Choi commented Mar 24, 2024

#520 에서 수정된 CLI User's Manual과 JDBC User's Manual을 영문 작업하는 버그입니다.(BUG-50917)
CLI User's Manual 수정 사항 중 리뷰를 받고자 하는 부분이 있어 PR을 오픈했습니다.
(7.1 eng를 리뷰해주시면 다른 버전에 일괄 적용하겠습니다.)

CLI User's Manual의 3. LOB Interface의 내용과 구성을 국문과 맞추는 과정에서 기존에 있던 영문 매뉴얼의 내용이 국문 매뉴얼의 내용과 반대되는 부분이 있어, 관련하여 조금 더 자세한 설명이 필요합니다.

  1. LOB Interface > LOB data types 절에 있던 기존 문장은 다음과 같습니다.

The LOB location input scheme for Read can be obtained after SELECT LOB column name FROM table where… and select are executed. The LOB location input scheme for Write can be obtained after SELECT LOB column name FROM table where… FOR UPDATE are executed.

이 문장이 정확하게 어떤 의미인지 파악하는 게 어렵습니다. 국문에는 없는 내용이라 우선 빼고 작성했는데, LOB Data를 읽거나 쓰기 전에 LOB Locator 값을 얻어야 한다는 설명을 위해 들어간 문장이면 빼도 될 것 같습니다. 그 외의 내용이면, 다시 수정하겠습니다. 정확하게 저 내용에 대응되는 국문의 히스토리를 찾을 수 없어 리뷰 요청 드립니다.

@YoungheeBae
Copy link
Contributor

YoungheeBae commented May 9, 2024

국문에서 빠진 히스토리는 아래 참조하시면 될 것 같습니다.
db20532

읽기용 LOB 위치 입력기는 SELECT LOB칼럼이름 FROM 테이블 where… 와 select를
수행한 후에 획득된다. 쓰기용 LOB 위치입력기는 SELECT LOB칼럼이름 FROM 테이블
where… FOR UPDATE를 수행한 후에 획득된다.

Copy link
Contributor

@YoungheeBae YoungheeBae left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

국문 히스토리 참조 링크 남겼습니다. 그 부분이 삭제되었네요.
수고하셨습니다.

@eheejung
Copy link
Collaborator

eheejung commented Jun 26, 2024

국문에서 빠진 히스토리는 아래 참조하시면 될 것 같습니다.

db20532
읽기용 LOB 위치 입력기는 SELECT LOB칼럼이름 FROM 테이블 where… 와 select를 수행한 후에 획득된다. 쓰기용 LOB 위치입력기는 SELECT LOB칼럼이름 FROM 테이블 where… FOR UPDATE를 수행한 후에 획득된다.

@Soyoon-Choi 기존 몇 문장을 삭제하고 기존 의미를 포함해서 새로 작성했는데 이후에 일부분이 삭제되었습니다.
위 문장은 아래와 같이(이탤릭체 부분) 변경했었습니다.
작업에 참고해 주세요.


LOB 데이터 처리 방식

LOB 위치 입력기(LOB Locator)

CLI의 일부 함수에서 LOB 데이터를 처리할 때 LOB 위치 입력기를 사용하기 때문에 LOB 위치 입력기를 이용한 LOB 데이터 처리 방식에 대한 이해가 필요하다.

LOB 위치 입력기는 LOB 데이터를 가리키는 Altibase 서버의 내부 자료구조이며 트랜잭션에 종속된다.

CLI에서 LOB 데이터를 처리하는 과정은 LOB 위치 입력기를 얻는 작업과 LOB 위치 입력기를 이용하여 LOB 데이터를 읽고 쓰는 작업으로 나뉜다.

LOB 위치 입력기 얻기
LOB 위치 입력기는 아래의 CLI 함수들을 실행할 때 얻는다.

- SQLBindCol / SQLFetch
- SQLBindParameter / SQLExecute

⚠️ SQLExecute 함수는 INSERT와 UPDATE 문을 실행할 때 LOB 데이터를 널로 초기화한다.

LOB 데이터 읽고 쓰기
LOB 위치 입력기를 얻은 후에 이것을 이용하여 LOB 데이터를 읽거나 쓸 수 있다. 관련 CLI 함수는 아래와 같다.

- SQLBindFileToParam
- SQLGetLob
- SQLGetLobLength
- SQLPutLob
- SQLTrimLob

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants