릴리스 0.152

릴리스 0.152 (Release 0.152)

이 릴리스에서는 함수 추가, 타이핑·정확성 수정, 커넥터별 개선과 SPI의 하위 호환되지 않는 변경이 포함돼 있어요.

출처: 문서

본문

일반 (General)

  • array_union() 함수를 추가했어요.
  • 배열용 reverse() 함수를 추가했어요.
  • varchar 리터럴이 포함된 쿼리가 실패할 수 있던 문제를 고쳤어요.
  • url_decode()의 오류 분류를 고쳐 TRY와 함께 사용할 수 있게 했어요.
  • JSON 함수에 제공된 잘못된 JSON 경로의 오류 보고를 고쳤어요.
  • GROUPING SETS를 포함한 쿼리에 대한 뷰 생성을 고쳤어요.
  • NULL 행의 필드를 참조할 때 쿼리가 실패하던 문제를 고쳤어요.
  • 여러 연속 윈도우 함수가 있는 쿼리의 성능을 개선했어요.
  • 오류 코드 없이 쿼리가 실패할 때 웹 UI가 깨지지 않도록 고쳤어요.
  • 여러 워커가 같은 호스트를 공유할 때 웹 UI의 태스크 목록에 포트를 표시하게 했어요.
  • EXCEPT를 지원하게 됐어요.
  • SQL 표준과 더 나은 호환성을 위해 FLOAT 타입을 REAL로 이름을 바꿨어요.
  • 노드 간 행을 전송할 때의 잠재적 성능 회귀를 고쳤어요.

JDBC 드라이버

  • DatabaseMetaData.getColumns()COLUMN_SIZE, DECIMAL_DIGITS, NUM_PREC_RADIX, CHAR_OCTET_LENGTH에 대해 반환하는 크기를 고쳤어요.

Hive

  • Parquet 리더의 자원 누수를 고쳤어요.
  • ThriftHiveMetastore에서 JMX 통계 AllViewsGetAllViews로 이름을 바꿨어요.
  • hive.securitysecurity.config-file 설정 프로퍼티로 구성하는 파일 기반 보안을 추가했어요. 자세한 내용은 Authorization 문서를 참고해요.
  • presto.s3.credentials-provider Hadoop 설정 프로퍼티를 사용한 사용자 정의 S3 자격 증명 제공자를 지원하게 됐어요.

MySQL

  • MySQL tinyint(1) 컬럼을 읽는 문제를 고쳤어요. 이전에는 이러한 컬럼이 정수 대신 boolean으로 잘못 반환됐어요.
  • INSERT를 지원하게 됐어요.
  • 데이터를 integer가 아니라 tinyint와 smallint 타입으로 읽는 기능을 지원하게 됐어요.

PostgreSQL

  • INSERT를 지원하게 됐어요.
  • 데이터를 integer가 아니라 tinyint와 smallint 타입으로 읽는 기능을 지원하게 됐어요.

SPI

  • ConnectorTableMetadata에서 owner를 제거했어요.
  • Plugin의 일반 getServices() 메서드를 getConnectorFactories(), getTypes() 같은 구체적 메서드로 교체했어요. TypeManager 같은 의존성은 이제 Plugin에 주입되는 대신 직접 제공돼요.
  • SPI에서 함수에 대한 일급(first-class) 지원을 추가했어요. 이는 이전 FunctionFactory 인터페이스를 대체해요. 플러그인은 getFunctions() 메서드에서 클래스 목록을 반환할 수 있어요.

스칼라 함수는 @ScalarFunction으로 어노테이션된 메서드나 클래스예요.

  • 집계 함수는 @AggregationFunction으로 어노테이션된 메서드나 클래스예요.
  • 윈도우 함수는 WindowFunction 구현이에요. 대부분의 구현은 RankingWindowFunction이나 ValueWindowFunction의 서브클래스여야 해요.

참고: 이는 이전 SPI와 하위 호환되지 않는 변경이에요. 플러그인을 작성했다면 이 릴리스를 배포하기 전에 코드를 업데이트해야 해요.

Verifier

  • LIMIT가 있는 shadow write 쿼리 처리를 고쳤어요.

Local file

  • 파일 디스크립터 누수를 고쳤어요.

더 알아보기 (Learn more)

이어서 릴리스 0.152.1을 확인해 보세요.