SQL 변경 사항 — 일반: VARCHAR 문자열 열의 byteLength를 올바르게 설정(보류 중)¶
이 동작 변경으로 UTF-8 인코딩(문자당 4바이트)이 일관되게 반영되도록 VARCHAR 열의 바이트 길이 계산이 수정되었습니다. 이 수정 사항 이전에는 문자 길이가 4,194,304보다 크고 최대 16,777,216인 VARCHAR 열의 바이트 길이가 잘못 계산되었을 수 있습니다.
- 변경 전:
문자 길이가 > 4,194,304 and <= 16,777,216, the ``byteLength``인 VARCHAR 열의 경우 16,777,216바이트로 잘못 제한되었습니다. 이는 문자당 최대 4바이트가 필요한 UTF-8 인코딩이 올바르게 반영되지 않았습니다.
예:
결과:
``byteLength``는 40,000,000(4 x 10,000,000)이어야 하지만 16,777,216로 잘못 제한되었습니다.
- 변경 후:
문자 길이가 > 4,194,304 and <= 16,777,216, the ``byteLength``인 VARCHAR 열의 경우 4 x character_length로 올바르게 계산되어 각 문자가 최대 4바이트일 수 있는 UTF-8 인코딩이 올바르게 반영되었습니다.
동일한 예제를 사용하여 다음을 수행합니다.
이 변경 사항은 새 문자열 열에만 영향을 줍니다. 문자 길이가 > 16,777,216 are not affected because byteLength is already correctly set for those cases. The ``byteLength``는 여전히 134,217,728로 제한됩니다.
Ref: 2286