릴리스 406

릴리스 406 (2023년 1월 25일)

이번 릴리스에서는 오류 허용 실행의 HDFS 교환 스풀링과 INSERT 문의 CHECK 제약 조건 지원이 눈에 띄어요.

출처: Trino 릴리스 406 문서

본문

일반 (General)

  • 오류 허용 실행이 켜졌을 때 HDFS 교환 스풀링을 지원해요. (#15160)
  • INSERT 문에서 CHECK 제약 조건을 지원해요. (#14964)
  • ORDER BY·LIMIT가 포함된 서브쿼리 위의 외부 조인이 있는 쿼리 계획자 추정을 개선했어요. (#15428)
  • 테이블 스캔의 메모리 사용량 보고 정확도를 개선했어요. (#15711)
  • ISO 8601 형식의 날짜 값을 파싱하는 쿼리의 성능을 개선했어요. (#15548)
  • 선별적 조인이 있는 쿼리의 성능을 개선했어요. (#15569)
  • query.execution-policy 구성값의 옵션에서 legacy-phased 실행 스케줄러를 제거했어요. (#15657)
  • WHERE·JOIN 절에 상수가 아닌 패턴·이스케이프가 있는 LIKE 표현식이 포함된 경우 발생하던 실패를 고쳤어요. (#15629)
  • 통계가 없는 컬럼의 필터가 있는 쿼리의 부정확한 계획자 추정을 고쳤어요. (#15642)
  • 오류 허용 실행이 켜졌을 때 외부 조인이 있는 쿼리가 실패하던 문제를 고쳤어요. (#15608)
  • MATCH_RECOGNIZE를 쓸 때 발생할 수 있는 쿼리 실패를 고쳤어요. (#15461)
  • 그룹 기반 접근 제어를 컬럼 마스크·행 필터와 함께 쓸 때 쿼리가 실패하던 문제를 고쳤어요. (#15583)
  • 종료 중 발생할 수 있는 정지(hang)를 고쳤어요. (#15675)
  • row 타입을 만드는 컬럼 마스크 표현식을 적용한 결과 필드를 참조할 때 잘못된 결과가 나오던 문제를 고쳤어요. (#15659)
  • 마스크 표현식이 하부 테이블의 다른 컬럼을 참조할 때 컬럼 마스크가 잘못 적용되던 문제를 고쳤어요. (#15680)

BigQuery 커넥터

  • 오류 허용 실행 지원을 추가했어요. (#15620)
  • 테이블에 방금 쓰여진 경우 count(*) 같은 특정 쿼리에서 잘못된 결과가 나올 수 있던 문제를 고쳤어요. (#14981)

Cassandra 커넥터

  • Cassandra list, map, set 타입에 사용자 정의 타입이 포함된 경우 잘못된 결과가 나오던 문제를 고쳤어요. (#15771)

Delta Lake 커넥터

  • 비파티션 테이블의 INSERT 쿼리 지연 시간을 줄였어요. (#15708)
  • Parquet 파일 읽기 성능을 개선했어요. (#15498)
  • Parquet 리더의 메모리 회계를 개선했어요. (#15554)
  • Parquet 파일에 저장된 낮은 카디널리티 문자열 컬럼의 필터·프로젝션이 있는 쿼리의 성능을 개선했어요. (#15269)
  • 필터가 있는 쿼리용 Parquet 파일에서 불필요하게 많은 데이터를 읽던 문제를 고쳤어요. (#15552)
  • BIGINT 컬럼에 INTEGER 범위가 있는 테이블에서 Parquet로 쓸 때 발생할 수 있는 쿼리 실패를 고쳤어요. (#15496)
  • Parquet 컬럼 인덱스의 null 개수가 없어 발생하던 쿼리 실패를 고쳤어요. (#15706)

Hive 커넥터

  • Hudi 커넥터를 사용하는 카탈로그로의 테이블 리다이렉션을 지원해요. (#14750)
  • 비파티션 테이블의 INSERT 쿼리 지연 시간을 줄였어요. (#15708)
  • 캐싱 성능을 개선했어요. (#13243)
  • Parquet 파일 읽기 성능을 개선했어요. (#15498)
  • Parquet 리더의 메모리 회계를 개선했어요. (#15554)
  • Parquet 파일에 저장된 낮은 카디널리티 문자열 컬럼의 필터·프로젝션이 있는 쿼리의 성능을 개선했어요. (#15269)
  • Parquet 파일에 Bloom 필터 인덱스가 있을 때 필터가 있는 쿼리의 성능을 개선했어요. Parquet 파일의 Bloom 필터 사용은 parquet.use-bloom-filter 구성값이나 parquet_use_bloom_filter 세션 속성으로 끌 수 있어요. (#14428)
  • Hive UNIONTYPE과 Hive STRUCT 타입 컬럼 사이의 변환을 허용해요. (#15017)
  • 필터가 있는 쿼리용 Parquet 파일에서 불필요하게 많은 데이터를 읽던 문제를 고쳤어요. (#15552)
  • Parquet 컬럼 인덱스의 null 개수가 없어 발생하던 쿼리 실패를 고쳤어요. (#15706)
  • 새 스키마 생성 시 클라이언트 타임아웃으로 인한 잘못된 schema already exists 오류를 고쳤어요. (#15174)

Hudi 커넥터

  • Parquet 파일 읽기 성능을 개선했어요. (#15498)
  • Parquet 리더의 메모리 회계를 개선했어요. (#15554)
  • Parquet 파일에 저장된 낮은 카디널리티 문자열 컬럼의 필터·프로젝션이 있는 쿼리의 성능을 개선했어요. (#15269)
  • 필터가 있는 쿼리용 Parquet 파일에서 불필요하게 많은 데이터를 읽던 문제를 고쳤어요. (#15552)
  • Parquet 컬럼 인덱스의 null 개수가 없어 발생하던 쿼리 실패를 고쳤어요. (#15706)

Iceberg 커넥터

  • 컬럼 타입 변경 지원을 추가했어요. (#15515)
  • JDBC 카탈로그 지원을 추가했어요. (#9968)
  • 비파티션 테이블의 INSERT 쿼리 지연 시간을 줄였어요. (#15708)
  • Parquet 파일 읽기 성능을 개선했어요. (#15498)
  • Parquet 리더의 메모리 회계를 개선했어요. (#15554)
  • Parquet 파일에 저장된 낮은 카디널리티 문자열 컬럼의 필터·프로젝션이 있는 쿼리의 성능을 개선했어요. (#15269)
  • 필터가 있는 쿼리용 Parquet 파일에서 불필요하게 많은 데이터를 읽던 문제를 고쳤어요. (#15552)
  • Parquet 컬럼 인덱스의 null 개수가 없어 발생하던 쿼리 실패를 고쳤어요. (#15706)
  • 서브쿼리에 타임 트래블이 포함된 경우 쿼리가 실패하던 문제를 고쳤어요. (#15607)
  • 다른 쿼리 엔진이 float에서 double로 타입을 바꾼 컬럼을 읽을 때 발생하던 실패를 고쳤어요. (#15650)
  • 파티션 컬럼에서 real·double 타입으로 NaN을 읽거나 쓸 때 잘못된 결과가 나오던 문제를 고쳤어요. (#15723)

MongoDB 커넥터

  • mongodb.case-insensitive-name-matching 구성값이 켜진 상태에서 스키마를 삭제하려 할 때 스키마가 삭제되지 않던 문제를 고쳤어요. (#15716)

PostgreSQL 커넥터

  • 컬럼 타입 변경 지원을 추가했어요. (#15515)

SPI

  • ConnectorMetadata에서 getDeleteRowIdColumnHandle(), beginDelete(), finishDelete(), getUpdateRowIdColumnHandle(), beginUpdate(), finishUpdate() 메서드를 제거했어요. (#15161)
  • UpdatablePageSource 인터페이스를 제거했어요. (#15161)
  • 단일 컬럼의 여러 마스크 지원을 제거했어요. (#15680)

더 알아보기 (Learn more)