릴리스 393
릴리스 393 (2022년 8월 17일)
이번 릴리스에서는 MERGE 지원과 선별적 LIMIT 쿼리 성능 개선이 눈에 띄어요. 여러 커넥터도 MERGE를 지원하기 시작했어요.
출처: Trino 릴리스 393 문서
본문
일반 (General)
- MERGE 지원을 추가했어요. (#7933)
- 타임라인 로그 메시지에 쿼리 상태와 오류 코드를 추가했어요. (#13698)
- 필요한 행 수가 만들어지는 즉시 끝나도록 해 선별성이 높은
LIMIT쿼리 성능을 개선했어요. (#13616) - null 불가 컬럼에
NULL을 삽입하는 것을 금지했어요. (#13462) - 버켓 테이블에 대한 쿼리가 완료되지 않던 문제를 고쳤어요. (#13655)
ORDER BY·FILTER절이 있는 집계가 포함된GROUP BY쿼리의 잠재적 실패를 고쳤어요. (#13627)
보안 (Security)
- OAuth 2.0 리프레시 토큰이 잘못 거부될 수 있던 문제를 고쳤어요. (#13168)
- 웹 UI에서 오래된 OAuth 2.0 리프레시 토큰이 잘못 표시되던 문제를 고쳤어요. (#13168)
Docker 이미지
ppc64le용 실험 이미지를 추가했어요. (#13522)
ClickHouse 커넥터
unsupported-type-handling카탈로그 구성값 지원을 추가했어요. (#13542)- 선별적 조인이 있는 쿼리의 성능을 개선했어요. (#13334)
Delta Lake 커넥터
- MERGE 지원을 추가했어요. (#7933)
NOT NULL컬럼 제약 조건 지원을 추가했어요. (#13436)- 파티션 컬럼 순서가 테이블 정의의 순서와 다를 때 잘못된 결과를 쓰던 문제를 고쳤어요. (#13505)
- 다른 엔진이 파티션 컬럼 이름을 바꾼 테이블을 읽을 때 발생하던 실패를 고쳤어요. (#13521)
Druid 커넥터
- 선별적 조인이 있는 쿼리의 성능을 개선했어요. (#13334)
Hive 커넥터
- MERGE 지원을 추가했어요. (#7933)
float,double,date,list,map,bounded varchar데이터 타입의 버켓 컬럼에 대한 버켓 필터링을 지원해요. (#13553)- Azure Blob Storage에 접근할 때 수행하는 재시도 횟수를 위한
exchange.azure.max-error-retries구성값을 추가했어요. (#13663) - 불필요할 때는 프러시다운을 쓰지 않아 S3 Select 프러시다운이 있는 쿼리의 성능을 개선했어요. (#13477)
- 가장(impersonation)이 켜졌을 때 Thrift metastore 통신 오버헤드를 줄였어요. (#13606)
- metastore에서 테이블 통계를 가져올 때 성능을 개선했어요. (#13488)
- Hive metastore를 쓰는 동안
date컬럼만 있는 테이블에 쓸 때 발생하던 오류를 고쳤어요. (#13502) - 예약 키워드인 컬럼 이름을 가진 Hive 뷰를 읽을 때 발생하던 오류를 고쳤어요. (#13450)
Iceberg 커넥터
- MERGE 지원을 추가했어요. (#7933)
$file_modified_time컬럼으로 필터링할 때 성능을 개선했어요. (#13504)- 삭제 추적 파일이 있는 Iceberg v2 테이블의 읽기 쿼리 성능을 개선했어요. (#13395)
- 이름에 공백을 쓰는 컬럼으로 파티셔닝하는 것을 허용해요. (#12226)
- 새 컬럼을 추가할 때
NOT NULL제약 조건을 지정하는 것을 금지했어요. 이전에는 옵션이 무시됐어요. (#13673) - 비어 있고 테이블 히스토리가 없는 테이블을 조회할 때 발생하던 오류를 고쳤어요. (#13576)
- 특정
DELETE쿼리가$snapshots시스템 테이블의 테이블 히스토리를 잘라내지 않도록 했어요. (#12843) - 비어 있고 테이블 히스토리가 없는 Iceberg 테이블을 최적화할 때 발생하던 오류를 방지했어요. (#13582)
- 비어 있고 히스토리가 없는 테이블에 생성된 구체화된 뷰에서 읽을 때 잘못된 쿼리 결과가 나오던 문제를 고쳤어요. (#13574)
Kafka 커넥터
_timestamp컬럼에 음수 타임스탬프 조건을 적용할 때 쿼리가 실패하던 문제를 고쳤어요. (#13167)
Kudu 커넥터
- MERGE 지원을 추가했어요. (#7933)
MariaDB 커넥터
- 선별적 조인이 있는 쿼리의 성능을 개선했어요. (#13334)
MongoDB 커넥터
- MongoDB가 지원하는 최대 길이보다 긴 이름으로 테이블 이름을 바꾸지 못하게 했어요. 이전에는 이름이 최대 길이로 잘렸어요. (#13073)
MySQL 커넥터
- 선별적 조인이 있는 쿼리의 성능을 개선했어요. (#13334)
Oracle 커넥터
- 선별적 조인이 있는 쿼리의 성능을 개선했어요. (#13334)
Phoenix 커넥터
- 선별적 조인이 있는 쿼리의 성능을 개선했어요. (#13334)
Pinot 커넥터
- Pinot
bytes타입 지원을 추가했어요. (#13427) json타입 지원을 추가했어요. (#13428)
PostgreSQL 커넥터
- 선별적 조인이 있는 쿼리의 성능을 개선했어요. (#13334)
- PostgreSQL이 지원하는 최대 길이보다 긴 스키마 이름을 쓰거나 테이블 이름을 바꾸지 못하게 했어요. 이전에는 긴 이름이 최대 길이로 잘렸어요. (#13307, #13073)
Raptor 커넥터
- MERGE 지원을 추가했어요. (#7933)
Redshift 커넥터
- 선별적 조인이 있는 쿼리의 성능을 개선했어요. (#13334)
SingleStore (MemSQL) 커넥터
- 선별적 조인이 있는 쿼리의 성능을 개선했어요. (#13334)
SQL Server 커넥터
- 선별적 조인이 있는 쿼리의 성능을 개선했어요. (#13334)
- SQL Server가 지원하는 최대 길이보다 긴 이름으로 테이블 이름을 바꾸지 못하게 했어요. 이전에는 이름이 최대 길이로 잘렸어요. (#13073)
SPI
- 아직 활발히 개발 중인 SPI를 표시하는
@Experimental애너테이션을 추가했어요. (#13302) io.trino.spi.block.MethodHandleUtil을 지원 중단(deprecated) 처리했어요. (#13245)