Release 0.102

Release 0.102

Trino(당시 Presto) 0.102 릴리스의 변경 사항이에요. 모든 문자열 함수의 유니코드 지원, 정규식 함수 재작성, 다양한 일반·Hive 개선이 포함돼요.

출처: 문서

본문

유니코드 지원 (Unicode support)

모든 문자열 함수를 유니코드를 지원하도록 업데이트했어요. 함수들은 문자열이 유효한 UTF-8 인코딩 코드 포인트를 담고 있다고 가정해요. 유효한 UTF-8에 대한 명시적 검사는 없으며, 유효하지 않은 UTF-8에서는 함수가 잘못된 결과를 반환할 수 있어요. 유효하지 않은 UTF-8 데이터는 from_utf8()로 교정할 수 있어요.

또한 함수들은 사용자가 보는 문자(또는 grapheme cluster)가 아니라 유니코드 코드 포인트를 기준으로 동작해요. 일부 언어는 여러 코드 포인트를 하나의 사용자 인지 문자로 결합하는데, 함수들은 각 코드 포인트를 별도의 단위로 취급해요.

정규식 함수 (Regular expression functions)

모든 정규식 함수를 성능 개선을 위해 다시 작성했어요. 새 버전은 자주 두 배 빠르고, 어떤 경우에는(이차 동작 제거로) 여러 자릿수만큼 더 빠를 수 있어요. 이 변경은 문서에 설명된 몇 가지 사소한 비호환성을 도입했어요.

일반 (General)

  • 파티셔닝된 right outer join 지원을 추가했어요. 내부 측에서 더 큰 테이블을 조인할 수 있게 해줘요.
  • full outer join 지원을 추가했어요.
  • JDBC 드라이버에서 boolean을 숫자로 반환하는 것을 지원해요.
  • 값이 발견되지 않고 NULL이 있었다면 contains()NULL을 반환하도록 수정했어요.
  • DESCRIBE에서 중첩 ROW 렌더링을 수정했어요.
  • array_join()을 추가했어요.
  • map 첨자 연산자를 최적화했어요.
  • from_utf8()to_utf8() 함수를 추가했어요.
  • task.writer-count를 설정하는 task_writer_count 세션 프로퍼티를 추가했어요.
  • ARRAY(F)에서 ARRAY(T)로의 캐스트를 추가했어요.
  • ARRAY 요소 타입으로의 암시적 강제 변환(implicit coercion)을 확장했어요.
  • VALUES 표현식에서 암시적 강제 변환을 구현했어요.
  • 스케줄러의 잠재적 교착 상태를 수정했어요.

Hive

  • PrestoS3FileSystem에서 더 많은 메트릭을 수집해요.
  • PrestoS3FileSystem에서 seek할 때 재시도하도록 했어요.
  • PrestoS3FileSystem에서 InvalidRange 오류를 무시하도록 했어요.
  • PrestoS3FileSystem에서 rename과 delete를 구현했어요.
  • SHOW TABLES FROM schema 실행 시 assertion 실패를 수정했어요.
  • ORC 파일을 읽을 때 S3 소켓 누수를 수정했어요.

더 알아보기 (Learn more)

0.102 릴리스의 변경 사항을 봤어요. 이어서 이전 버전인 Release 0.101을 살펴보면 좋아요.