릴리스 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)

더 알아보기 (Learn more)