릴리스 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 통계AllViews를GetAllViews로 이름을 바꿨어요.hive.security와security.config-file설정 프로퍼티로 구성하는 파일 기반 보안을 추가했어요. 자세한 내용은 Authorization 문서를 참고해요.presto.s3.credentials-providerHadoop 설정 프로퍼티를 사용한 사용자 정의 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을 확인해 보세요.