Release 481

Release 481 (2026-05-11)

Trino 481 릴리스의 변경 사항을 정리한 릴리스 노트예요. 전반적인 개선, JDBC 드라이버, CLI, 여러 커넥터와 SPI의 변화를 다뤄요.

출처: 문서

본문

General

  • boolean을 number로 캐스팅하는 지원을 추가했어요. (#28879)
  • Python UDF에서 number 타입 지원을 추가했어요. (#28921)
  • number와 json 사이의 캐스팅 지원을 추가했어요. (#28394)
  • ON EMPTYON ERROR 절을 지연 평가해 json_valuejson_table의 성능을 개선했어요. (#28969)
  • 인라인 쿼리로 DESCRIBE OUTPUT 지원을 추가해 PREPARE 문장 없이 쿼리 결과를 직접 설명할 수 있게 했어요. 예: DESCRIBE OUTPUT (SELECT * FROM nation). (#28002)
  • 조인에서 대략적 일치를 위한 NEAREST 절 지원을 추가했어요. (#21759)
  • WITH SESSION, SET SESSION, CALL 문장에서 파라미터 바인딩 지원을 추가했어요. (#29053)
  • 외부 인증 토큰을 디스크(~/.trino/)에 영속화해 별도의 JDBC 클라이언트 프로세스 간에 재사용할 수 있게 하는 지원을 추가했어요. 활성화하려면 externalAuthenticationTokenCache=SYSTEM을 설정하세요. (#28783)
  • 커넥터 스플릿 소스 메트릭을 io.trino.spi.eventlistener.QueryInputMetadata#connectorMetrics에 포함시켰어요. (#28870)
  • Esri geometry 라이브러리를 JTS로 교체해 더 넓은 공간(spatial) 생태계와의 상호 운용성을 개선했어요. (#27881)
  • ⚠️ Breaking change: OGC 표준을 따르지 않는 WKT 입력을 거부해요. 이전에는 조용히 받아들여지던 일부 입력이 이제 실패해요. (#27881)
  • ⚠️ Breaking change: ST_Union()이 빈 입력에 대해 NULL 대신 빈 geometry 컬렉션을 반환하도록 변경했어요. (#27881)
  • ⚠️ Breaking change: ST_Union()의 점-선(point-on-line) 결합에서 교차점에 정점을 삽입하지 않도록 변경했어요. (#27881)
  • 계층적 네임스페이스가 활성화된 Azure 컨테이너와 파일 시스템 exchange의 호환성을 개선했어요. (#29042)
  • 선택도가 높은 용어를 가진 단순한 AND·OR 조건자가 있는 쿼리의 성능을 개선했어요. (#24336)
  • 통계를 알 수 없는 컬럼에 대한 쿼리에서 최적이 아닌 조인 순서로 인한 과도한 메모리 사용을 줄였어요. (#29157)
  • 동적 카탈로그가 system.jdbc 또는 system.metadata 쿼리와 동시에 삭제될 때 경쟁 조건으로 인한 쿼리 실패와 트랜잭션 오류를 수정했어요. (#28017)
  • 소수 부분에 유효 숫자가 16개를 넘는 숫자가 담긴 문서에서 json_parse() 또는 JSON 타입 리터럴을 사용할 때의 잘못된 결과를 수정했어요. (#28867)
  • 대문자 컬럼 이름을 가진 테이블에서 테이블 프로시저를 실행할 때의 실패를 수정했어요. (#28970)
  • 파티셔닝된 timestamp with time zone 컬럼에 OR 조건자로 ALTER TABLE EXECUTE OPTIMIZE를 실행할 때의 실패를 수정했어요. (#27136)
  • 정의에 비결정적(non-deterministic) 함수가 포함된 구체화 뷰의 잘못된 fresh 상태 확인을 수정했어요. (#28682)
  • [VERSION | TIMESTAMP] AS OF 절로 DESCRIBE OUTPUT을 실행할 때의 실패를 수정했어요. (#29077)
  • ⚠️ Breaking change: fs.cache.preferred-hosts-count 카탈로그 속성을 코디네이터 전역 구성 속성 node-scheduler.cache-preferred-hosts-count로 이름을 바꿨어요. (#29182)

JDBC driver

  • variant 타입 지원을 추가했어요. (#29046)
  • http-server.authentication.oauth2.refresh-tokens=true로 구성된 서버에 대해 JDBC accessToken 연결 속성을 사용할 때 투명한 OAuth2 토큰 새로고침 지원을 추가했어요. 이전에는 포함된 액세스 토큰이 만료되면 이런 연결이 401 Unauthorized로 실패했어요. (#29264)
  • toString() 표현이 0E-10 같은 과학적 표기법을 사용하는 BigDecimal 값으로 setBigDecimal()을 호출할 때의 실패를 수정했어요. (#23523)

CLI

  • variant 타입 지원을 추가했어요. (#29046)

ClickHouse connector

  • 모든 ClickHouse DECIMAL 컬럼을 읽는 지원을 추가했어요. (#28873)

Delta Lake connector

  • ⚠️ Breaking change: Azure Storage, Google Cloud Storage, IBM Cloud Object Storage, S3, S3 호환 시스템에 대한 레거시 객체 저장소 지원을 제거했어요. 객체 저장소에는 네이티브 파일 시스템 지원을 사용하세요. fs.hadoop.enabled는 HDFS에만 적용돼요. 마이그레이션 세부 사항은 legacy file system support를 참고하세요. (#24878)
  • azure.connection-pool-max-idle-timeazure.http-request-timeout 구성 속성으로 Azure 연결 풀 유휴 시간과 HTTP 요청 시간 제한을 구성하는 지원을 추가했어요. (#29284)
  • S3에 파일을 쓸 때 메모리 사용량을 줄였어요. (#28488)
  • Delta checksum 파일에서 메타데이터와 프로토콜 정보를 읽어 쿼리 계획 시간을 줄였어요. delta.load-metadata-from-checksum-file 구성 속성이나 load_metadata_from_checksum_file 세션 속성을 false로 설정해 이 최적화를 비활성화할 수 있어요. (#28381)
  • 컬럼 인덱스를 가진 Parquet 파일(특히 Apache Spark가 쓴 테이블)로 백업된 Delta Lake 테이블에서 DELETE가 잘못된 행을 삭제하는 문제를 수정했어요. (#28885)

Hive connector

  • ⚠️ Breaking change: Azure Storage, Google Cloud Storage, IBM Cloud Object Storage, S3, S3 호환 시스템에 대한 레거시 객체 저장소 지원을 제거했어요. 객체 저장소에는 네이티브 파일 시스템 지원을 사용하세요. fs.hadoop.enabled는 HDFS에만 적용돼요. 마이그레이션 세부 사항은 legacy file system support를 참고하세요. (#24878)
  • Esri GeoJSON 지원을 추가했어요. (#28859)
  • azure.connection-pool-max-idle-timeazure.http-request-timeout 구성 속성으로 Azure 연결 풀 유휴 시간과 HTTP 요청 시간 제한을 구성하는 지원을 추가했어요. (#29284)
  • Glue 카탈로그의 Hive 테이블에서 날짜 파티션 조건자가 있는 쿼리의 성능을 개선했어요. (#28817)
  • S3에 파일을 쓸 때 메모리 사용량을 줄였어요. (#28488)
  • Hive metastore 버전 3.1에서 테이블을 만들 때의 실패를 수정했어요. (#28798)
  • 버킷 이름이 없는 파일로 백업된 테이블에서 버킷 번호를 파싱할 때의 실패를 수정했어요. (#28632)

Hudi connector

  • azure.connection-pool-max-idle-timeazure.http-request-timeout 구성 속성으로 Azure 연결 풀 유휴 시간과 HTTP 요청 시간 제한을 구성하는 지원을 추가했어요. (#29284)

Iceberg connector

  • ⚠️ Breaking change: Azure Storage, Google Cloud Storage, IBM Cloud Object Storage, S3, S3 호환 시스템에 대한 레거시 객체 저장소 지원을 제거했어요. 객체 저장소에는 네이티브 파일 시스템 지원을 사용하세요. fs.hadoop.enabled는 HDFS에만 적용돼요. 마이그레이션 세부 사항은 legacy file system support를 참고하세요. (#24878)
  • Iceberg v3 테이블에 대한 variant 타입의 실험적 지원을 추가했어요. 구형 CLI 버전은 업데이트하지 않으면 값을 JSON으로 렌더링해요. (#24538)
  • Iceberg v3 테이블에서 timestamp(9)timestamp(9) with time zone 읽기·쓰기 지원을 추가했어요. (#27835)
  • Iceberg REST 카탈로그에서 Azure vended 자격 증명 지원을 추가했어요. (#23238)
  • REST 카탈로그에서 HTTP 헤더 지정 지원을 추가했어요. (#24236)
  • add_filesadd_files_from_table 프로시저 실행 중 실행 메트릭 지원을 추가했어요. (#28996)
  • optimize 프로시저 실행 중 실행 메트릭 지원을 추가했어요. (#28992)
  • $files 시스템 테이블에 더 많은 컬럼을 추가했어요. (#29044)
  • $files 시스템 테이블에 added_snapshot_id 컬럼을 추가했어요. (#28911)
  • azure.connection-pool-max-idle-timeazure.http-request-timeout 구성 속성으로 Azure 연결 풀 유휴 시간과 HTTP 요청 시간 제한을 구성하는 지원을 추가했어요. (#29284)
  • Iceberg REST 카탈로그(S3, GCS, Azure)에 대한 새로고침 가능한 vended 자격 증명 지원을 추가했어요. (#28998)
  • S3에 파일을 쓸 때 메모리 사용량을 줄였어요. (#28488)
  • $entries 또는 $all_entries 메타데이터 테이블을 읽을 때의 실패를 수정했어요. (#29211)

Lakehouse connector

  • ⚠️ Breaking change: Azure Storage, Google Cloud Storage, IBM Cloud Object Storage, S3, S3 호환 시스템에 대한 레거시 객체 저장소 지원을 제거했어요. 객체 저장소에는 네이티브 파일 시스템 지원을 사용하세요. fs.hadoop.enabled는 HDFS에만 적용돼요. 마이그레이션 세부 사항은 legacy file system support를 참고하세요. (#24878)
  • azure.connection-pool-max-idle-timeazure.http-request-timeout 구성 속성으로 Azure 연결 풀 유휴 시간과 HTTP 요청 시간 제한을 구성하는 지원을 추가했어요. (#29284)
  • S3에 파일을 쓸 때 메모리 사용량을 줄였어요. (#28488)

MongoDB connector

  • 소수 부분에 유효 숫자가 16개를 넘는 숫자가 담긴 JSON 컬럼을 읽을 때의 잘못된 결과를 수정했어요. (#28867)

MySQL connector

  • 소수 부분에 유효 숫자가 16개를 넘는 숫자가 담긴 JSON 컬럼을 읽을 때의 잘못된 결과를 수정했어요. (#28867)

Pinot connector

  • 소수 부분에 유효 숫자가 16개를 넘는 숫자가 담긴 JSON 컬럼을 읽을 때의 잘못된 결과를 수정했어요. (#28867)

PostgreSQL connector

  • 표현식 계산을 기본 데이터베이스로 푸시다운해 COALESCE가 포함된 쿼리의 성능을 개선했어요. (#11535)
  • 소수 부분에 유효 숫자가 16개를 넘는 숫자가 담긴 JSON 컬럼을 읽을 때의 잘못된 결과를 수정했어요. (#28867)

SingleStore connector

  • 소수 부분에 유효 숫자가 16개를 넘는 숫자가 담긴 JSON 컬럼을 읽을 때의 잘못된 결과를 수정했어요. (#28867)

SQL Server connector

  • json 타입 지원을 추가했어요. (#28082)
  • 테이블을 읽을 때의 permission denied 실패를 수정했어요. (#29244)

SPI

  • Iceberg 스펙으로 정의된 variant 타입을 추가했어요. (#24538)
  • ConnectorAccessControl.checkCanXxx 테이블 수준 메서드에 tableBranch 파라미터를 추가했어요. (#29179)
  • 커넥터에서 COALESCE 표현식 푸시다운 지원을 추가했어요. (#28984)
  • ⚠️ Breaking change: Type 인터페이스에서 더 이상 사용되지 않는 getObjectappendTo 메서드를 제거했어요. (#29003)

더 알아보기 (Learn more)

다음 버전의 변경 사항은 Release 482에서 확인해 보세요.