장애 정보
| 장애 번호 | 701359a |
| 현상 | LONG 컬럼에 NOT NULL 제약 조건이 설정된 경우, Deferred 파라미터로 값이 전달되면 실제 값이 null이 아님에도 불구하고 항상 NOT NULL 제약 조건 위반 오류가 발생한다. LOB 컬럼에 Deferred 파라미터를 사용하여 INSERT 또는 UPDATE를 수행할 때 NOT NULL 제약 조건 검사가 수행되지 않는다. LOB 컬럼에 길이 0의 데이터를 바인드 파라미터로 전달할 경우, Deferred 상태에서는 empty LOB이 삽입 또는 업데이트되지만, 지연 평가가 아닌 경우에는 null이 삽입 또는 업데이트된다. LOB 또는 LONG 컬럼에 지연 평가 파라미터로 데이터를 바인딩할 때 비정상적이고 일관되지 않은 결과가 발생한다. |
| 원인 | deferred 방식으로 값이 전달되는 경우, 초기에 null을 설정한 후 값을 직접 삽입하는 과정에서 전달된 값이 제대로 반영되지 않아 not null 제약 조건 검사 시 항상 null로 인식되는 문제가 발생한다. 또한 deferred 방식으로 값이 주어지는 경우, 데이터가 null이 아님을 올바르게 처리하지 못하는 문제가 있다. |
| 해결 | LOB 또는 LONG 데이터에 Deferred 파라미터를 사용하여 삽입 또는 업데이트할 때, 로케이터 삽입/업데이트 단계에서 NOT NULL 제약 조건을 검증하도록 수정한다. 데이터 업데이트 시 Deferred 파라미터가 적용된 경우 NOT NULL 검증을 완료한 것으로 간주하여 처리한다. LOB 또는 LONG 데이터에 Deferred 파라미터를 사용하여 삽입 또는 업데이트할 때, 데이터 길이가 0인 경우 빈 LOB이 아닌 NULL 값으로 처리하도록 수정한다. LOB 또는 LONG 데이터에 Deferred 파라미터를 사용하여 데이터 바인딩 시 정상적이고 일관된 결과가 반환되도록 수정한다. |
| 발생시점 | 26.09.07. |
| 패치필요버전 | 6FS07PS 7FS02PS |
패치 정보
| 패치명 | FS02PS_701359a |
| 메이저 버전 | 7 |
| 마이너 버전 | FS02PS |
| 버전 제목 | LOB 또는 LONG 컬럼에 Deferred 파라미터 사용 시 NOT NULL 제약 조건 처리 오류 수정 |
| 배포가능일 | 26.10.06. |
| 호환성 | • TAC 롤링 패치: 가능 • TSC 롤링 패치: 가능 • 백업 데이터 호환: 가능 • 프로토콜 호환: 가능 • 데이터 포맷 호환: 가능 |
| AP 영향도 | • 플랜 변경 여부: 아니오 • 결과 값 변경 여부: 예 • SQL 문법 변경 여부: 아니오 • 시스템 오브젝트 변경 여부: 아니오 • 기존 기능 변경 여부: 아니오 |
| 파라미터 | - |
| 우회방안 | - |