본문으로 바로가기
본문으로 바로가기

Cloud용 v25.6 변경 로그

하위 호환되지 않는 변경 사항

  • 함수 geoToH3()는 이제 입력을 (lat, lon, res) 순서(기하 함수의 표준 순서)로 받습니다. 이전 결과 순서 (lon, lat, res)를 유지하려면 설정 geotoh3_lon_lat_input_order = true를 사용하면 됩니다. #78852 (Pratima Patel).
  • full_text 타입의 인덱스는 gin으로 이름이 변경되었습니다. 이는 PostgreSQL 및 기타 데이터베이스에서 더 익숙한 용어를 따르기 위한 것입니다. 기존의 full_text 타입 인덱스는 여전히 로드할 수 있지만, 검색에 사용하려고 하면 예외를 발생시키며(대신 gin 인덱스를 사용할 것을 제안) 사용을 차단합니다. #79024 (Robert Schulze).
  • 파일 시스템 캐시 설정 allow_dynamic_cache_resize(기본값 false)가 추가되어, 파일 시스템 캐시를 동적으로 리사이즈할 수 있도록 했습니다. 사유: 특정 환경(ClickHouse Cloud)에서는 모든 스케일링 이벤트가 프로세스 재시작을 통해 발생하므로, 동작에 대한 제어를 강화하고 안전장치로서 이 기능이 명시적으로 비활성화되기를 원하기 때문입니다. 이 PR은 하위 호환되지 않는 변경으로 표시됩니다. 이전 버전에서는 별도의 설정 없이도 동적 캐시 리사이즈가 기본적으로 동작했기 때문입니다. #79148 (Kseniia Sumarokova).
  • 레거시 인덱스 타입 annoyusearch에 대한 지원이 제거되었습니다. 이 둘은 오랫동안 스텁 상태였으며, 레거시 인덱스를 사용하려는 모든 시도는 어차피 오류를 반환했습니다. 여전히 annoyusearch 인덱스를 보유하고 있다면 삭제하십시오. #79802 (Robert Schulze). #* format_alter_commands_with_parentheses 서버 설정이 제거되었습니다. 이 설정은 24.2에서 도입되었으며 기본적으로 비활성화되어 있었습니다. 25.2에서 기본적으로 활성화되었습니다. 새로운 포맷을 지원하지 않는 LTS 버전이 없으므로, 이 설정을 제거할 수 있습니다. #79970 (János Benjamin Antal). #* 사소한 변경: backup_threadsrestore_threads 서버 설정이 0이 아닌 값만 허용하도록 강제됩니다. #80224 (Raúl Marín).
  • String에 대한 bitNot()이 널 종료 문자열(zero-terminated string)을 반환하도록 수정되었습니다. #80791 (Azat Khuzhin).

새로운 기능

  • MergeTree SETTINGSCREATE 쿼리에서 해당 컬럼에 대해 압축 코덱을 명시적으로 정의하지 않은 경우 사용할 기본 압축 코덱을 지정하는 새로운 옵션을 추가합니다. 이로써 #42005가 해결됩니다. #66394 (gvoelfin).
  • https://github.com/ClickHouse/ClickHouse/pull/71943에 대한 후속 작업입니다. 이 PR에서는 Time/Time64 데이터 타입을 구현합니다. 새로운 데이터 타입 Time (HHH:MM:SS)과 Time64 (HHH:MM:SS.<fractional>), 일부 기본 캐스트 함수, 그리고 다른 데이터 타입과 상호 작용하기 위한 함수들을 구현했습니다. 또한 캐스트 함수에 toTime 함수가 필요하여 기존 함수 이름 toTimetoTimeWithFixedDate로 변경했습니다. #75735 (Yarik Briukhovetskyi).
  • WHERE 절에서 EXISTS 표현식의 인수로 상관 서브쿼리를 지원합니다. #72459를 해결합니다. #76078 (Dmitry Novik).
  • Merge 테이블 엔진에 대한 쓰기를 허용합니다. #77484 (Anton Ivashkin).
  • 복제된 MergeTree 테이블에 대한 분산 INSERT SELECT가 이제 병렬 레플리카를 효율적으로 활용하여, 서로 다른 노드에서 서로 다른 데이터를 선택하고 독립적으로 INSERT를 수행함으로써 작업을 병렬화합니다. #78041 (Igor Nikonov).
  • mapContainsValuesLike/mapContainsValues/mapExtractValuesLike 함수를 추가하여 맵 값으로 필터링할 수 있도록 했으며, Bloom filter 기반 인덱스에서도 이를 지원합니다. #78171 (UnamedRus).
  • system.iceberg_history 테이블이 추가되었습니다. #78244 (Smita Kulkarni).
  • 워크로드를 위한 쿼리 슬롯 스케줄링 기능이 추가되었습니다. 자세한 내용은 https://clickhouse.com/docs/operations/workload-scheduling#query_scheduling을 참조하십시오. #78415 (Sergei Trifonov).
  • getServerSettinggetMergeTreeSetting 함수를 추가합니다. https://github.com/clickhouse/clickhouse/issues/78318 이슈를 종료합니다. #78439 (NamNguyenHoai).
  • settings 제약 조건에서 허용되지 않는 값을 지원하도록 했습니다. #78499 (Bharat Nallan).
  • version-hint.text 파일을 활용할 수 있도록 새로운 iceberg_enable_version_hint 설정을 추가합니다. #78594 (Arnaud Briche).
  • LIKE 키워드를 사용해 필터링하여 데이터베이스에서 특정 테이블을 TRUNCATE할 수 있는 기능을 제공합니다. #78597 (Yarik Briukhovetskyi).
  • clickhouse-local(및 그 축약형 별칭인 ch)은 이제 처리할 입력 데이터가 있는 경우 암시적으로 FROM table을 사용합니다. 이를 통해 #65023이 해결되었습니다. 또한 일반 파일을 처리하면서 --input-format이 지정되지 않은 경우, clickhouse-local에서 포맷을 자동으로 추론하도록 활성화되었습니다. #79085 (Alexey Milovidov).
  • icebergHashicebergBucketTransform 함수를 추가합니다. bucket transfom으로 파티션된 Iceberg 테이블에서 데이터 파일 프루닝(pruning)을 지원합니다. #79262 (Daniil Ivanik).
  • Coalescing Merge Tree 지원이 추가되었습니다. 이로써 #78869이(가) 해결되었습니다. #79344 (Konstantin Vedernikov).
  • 무작위이거나 암호화된 데이터일 가능성이 있는 값을 검색할 수 있도록 stringBytesUniqstringBytesEntropy 함수를 추가했습니다. #79350 (Sachin Kumar Singh).
  • MergeTree 계열 테이블에서 _part_starting_offset 가상 컬럼을 지원합니다. 이 컬럼은 현재 파트 목록을 기준으로 쿼리 시점에 계산되는, 모든 선행 파트의 누적 행 수를 나타냅니다. 누적 값은 쿼리 실행 전체 과정에서 유지되며, 파트 프루닝 이후에도 계속 유효합니다. 이 동작을 지원하기 위해 관련 내부 로직이 리팩터링되었습니다. #79417 (Amos Bird).
  • 단일 쿼리 내 모든 서브쿼리에서 동일한 스토리지 스냅샷을 공유하도록 하는 설정 enable_shared_storage_snapshot_in_query가 추가되었습니다. 이를 통해 쿼리 안에서 동일한 테이블이 여러 번 참조되더라도 항상 동일한 테이블 스냅샷에서 일관된 읽기가 이루어지도록 보장합니다. #79471 (Amos Bird).
  • CH JSON 컬럼을 Parquet에 저장하고 Parquet JSON 컬럼을 CH JSON 컬럼으로 직접 읽는 기능을 지원합니다. #79649 (Nihal Z. Miaji).
  • 번들 chdig - ClickHouse용 TUI 인터페이스(top 유사 도구)로, ClickHouse에 포함됩니다. #79666 (Azat Khuzhin).
  • pointInPolygonMultiPolygon 지원을 추가했습니다. #79773 (Nihal Z. Miaji).
  • Geo Parquet를 지원합니다. #75317 이슈를 해결합니다. #79777 (Konstantin Vedernikov).
  • deltaLakeLocal 테이블 함수를 통해 로컬 파일 시스템에 마운트된 delta 테이블을 쿼리할 수 있도록 지원을 추가했습니다. #79781 (roykim98).
  • Base32 인코딩/디코딩 기능을 추가했습니다. #79809 (Joanna Hulboj).
  • ClickHouse 벡터 검색은 이제 사전 필터링(pre-filtering)과 사후 필터링(post-filtering)을 모두 지원하며, 보다 세밀한 제어를 위한 관련 설정을 제공합니다. (이슈 #78161). #79854 (Shankar Iyer).
  • WKB 형식을 읽는 FUNCTION을 지원합니다. 이로써 #43941이 부분적으로 해결됩니다. #80139 (Konstantin Vedernikov).
  • String에서 DateTime으로 형 변환할 때 DateTime 파싱 모드를 선택할 수 있도록 하는 새로운 설정인 cast_string_to_date_time_mode가 추가되었습니다. #80210 (Pavel Kruglov).
  • Bech32Bech32m 인코딩 및 디코딩 FUNCTION을 추가했습니다(이슈 #40381). #80239 (George Larionov).
  • Atomic 및 Ordinary DB 엔진에서 테이블 메타데이터 파일을 저장할 디스크를 지정할 수 있도록 disk 설정을 지원합니다. #80546 (Tuan Pham Anh).
  • MergeTree 파트를 압축 해제하고 비교하기 위한 함수를 지원합니다. #80573 (Mikhail Artemenko).
  • timeSeries* 보조 함수는 시계열 데이터 작업 시 일부 시나리오를 더 빠르게 처리할 수 있도록 도와줍니다: - 지정된 시작 타임스탬프, 종료 타임스탬프 및 간격에 맞춰 데이터를 시간 그리드로 재샘플링합니다 - PromQL과 유사한 delta, rate, idelta, irate를 계산합니다. #80590 (Alexander Gololobov).
  • 쿼리에 사용될 파트를 해당 파트가 위치한 디스크를 기준으로 필터링할 수 있습니다. #80650 (tanner-bruce).
  • 임베디드 웹 도구 목록을 보여주는 랜딩 페이지를 추가합니다. 이 페이지는 브라우저와 유사한 사용자 에이전트에서 요청될 때 열립니다. #81129 (Alexey Milovidov).
  • arrayFirst, arrayFirstIndex, arrayLastarrayLastIndex 함수에서 NULL 값을 필터링할 수 있도록 했습니다. #81113 문제를 수정합니다. #81197 (Lennard Eijsackers).

실험적 기능

  • Iceberg 데이터 레이크용 Hive metastore 카탈로그입니다. #77677 (Konstantin Vedernikov).
  • 명시적 파라미터는 key-value 쌍을 통해 지원됩니다. 현재 지원되는 파라미터는 필수 항목인 tokenizer와 선택 항목인 max_rows_per_postings_list, ngram_size 두 가지입니다. #80262 (Elmi Ahmadov).
  • gin 타입의 실험적 인덱스는 text로 이름이 변경되었습니다. 기존 gin 타입 인덱스는 계속 로드할 수 있지만, 검색에 사용하려고 하면 예외를 발생시키며(대신 text 인덱스를 사용할 것을 제안합니다). #80855 (Robert Schulze).

성능 향상

  • 여러 그래뉼에 대해 보조 인덱스 표현식을 한 번에 평가하여 보조 인덱스를 더 빠르게 만듭니다. #64109 (Alexey Milovidov).
  • 오른쪽 테이블의 크기가 임계값보다 작을 때 hash 알고리즘으로 폴백하도록 하는 임계값(설정 parallel_hash_join_threshold로 제어됨)을 도입했습니다. #76185 (Nikita Taranov).
  • 기존 Pipe::resize 구현은 파이프라인 토폴로지에 단일 Resize 또는 StrictResize 노드를 삽입해 생성하며, 이 노드는 모든 입력 스트림(업스트림 노드)을 통합된 출력 스트림 집합(다운스트림 노드)에 연결하는 중앙 허브 역할을 합니다. 이러한 설계는 특히 코어 수가 많은 환경에서 파이프라인 그래프 실행 중 ExecutingGraph::Node::status_mutex에 대한 경합을 유발합니다. 파이프라인이 수십 또는 수백 개의 스트림으로 확장되면, 이러한 경합으로 인해 다음과 같은 결과가 발생합니다. #77562 (Zhiguo Zhou).
  • parallel_inserts=true 큐 설정을 통해 INSERT 작업을 병렬로 실행할 수 있게 하여 S3Queue/AzureQueue의 성능을 향상합니다. 이전에는 S3Queue/AzureQueue가 파이프라인의 첫 단계(다운로드, 파싱)만 병렬로 수행할 수 있었고, INSERT는 단일 스레드로 처리되었습니다. 그리고 INSERT가 거의 항상 병목 지점이었습니다. 이제는 processing_threads_num에 거의 비례하여 확장됩니다. #77671 (Azat Khuzhin).
  • 개별 하위 컬럼을 읽을 수 있도록 각 서브스트림에 대한 마크를 저장하기 위해 compact 파트 포맷을 변경합니다. 이전 compact 포맷도 여전히 읽기 작업에는 지원되며, MergeTree 설정 write_marks_for_substreams_in_compact_parts를 사용하면 쓰기 작업에 대해서도 활성화할 수 있습니다. 이 설정은 compact 파트 저장 방식이 변경되므로 보다 안전한 업그레이드를 위해 기본적으로 비활성화되어 있습니다. 향후 릴리스 중 하나에서 기본값으로 활성화될 예정입니다. #77940 (Pavel Kruglov).
  • 새로운 설정 use_skip_indexes_in_final_exact_mode가 도입되었습니다. ReplacingMergeTree 테이블에 대한 쿼리에 FINAL 절이 있는 경우, 스킵 인덱스를 기반으로 테이블의 특정 범위만 읽으면 잘못된 결과가 반환될 수 있습니다. 이 설정은 스킵 인덱스가 반환한 기본 키 범위와 겹치는 최신 파트들을 추가로 스캔하여 올바른 결과가 반환되도록 보장합니다. 비활성화하려면 0, 활성화하려면 1로 설정합니다. #78350 (Shankar Iyer).
  • 이제 병렬 레플리카 읽기가 활성화된 경우 레플리카 수를 기준으로 읽기 작업의 크기를 결정합니다. 이로 인해 읽어야 할 데이터 양이 많지 않을 때 레플리카 간 작업 분배가 더 효율적으로 이루어집니다. #78695 (Nikita Taranov).
  • 분산 집계의 마지막 단계에서 uniqExact 상태를 병렬로 병합할 수 있도록 했습니다. #78703 (Nikita Taranov).
  • 키가 있는 집계에서 uniqExact 상태를 병렬 병합할 때 발생할 수 있는 성능 저하를 수정합니다. #78724 (Nikita Taranov). #* DELETE FROM ... WHERE 1 쿼리를 TRUNCATE로 대체합니다. (이 변경 사항은 되돌려졌습니다.) #78739 (Konstantin Vedernikov).
  • Azure Storage에 대한 List Blobs API 호출 수를 줄입니다. #78860 (Julia Kartseva).
  • 가능한 경우 필터 쿼리 플랜 단계에 있는 동등(=) 조건을 JOIN 조건으로 병합하여 해시 테이블 키로 사용할 수 있도록 했습니다. #78877 (Dmitry Novik).
  • 정규식 대신 extractKeyValuePairs를 사용하여 Hive 경로 파싱 성능을 향상시켰습니다. #79067 (Arthur Passos).
  • 병렬 레플리카를 사용하는 분산 INSERT SELECT 연산의 성능을 개선합니다. #79441 (Azat Khuzhin).
  • 서브 컬럼을 사용하는 조건을 PREWHERE로 이동할 수 있게 했습니다. #79489 (Pavel Kruglov).
  • 모든 블룸 필터 유형의 성능이 개선되었습니다. #79800 (Delyan Kratunov).
  • LogSeriesLimiter가 생성될 때마다 정리 작업을 수행하지 않도록 하여 잠금 경합을 피하고, 고동시성 환경에서의 성능 저하를 방지합니다. #79864 (filimonov).
  • compile_expressions(일반 표현식 일부에 대한 JIT 컴파일러)를 기본적으로 활성화합니다. 이로써 #51264, #56386, #66486 이(가) 해결됩니다. #79907 (Alexey Milovidov).
  • 단순 count 최적화를 통해 쿼리 실행 속도를 높입니다. #79945 (Raúl Marín).
  • UniqExactSet::merge에서 한쪽 Set이 비어 있는 경우를 위한 효율적인 경로(happy path)를 도입했습니다. 또한 이제 LHS Set이 two-level이고 RHS가 single-level인 경우에는 RHS를 two-level로 변환하지 않습니다. #79971 (Nikita Taranov).
  • convertDecimalsImpl 함수에 __attribute__((always_inline)) 특성을 추가합니다. #79999 (Konstantin Bogdanov).
  • 기본값을 input_format_parquet_bloom_filter_push_down을 true로 설정합니다. 또한 설정 변경 이력의 오류를 수정합니다. #80058 (Alexey Milovidov). #* 기본적으로 로깅을 비동기 방식으로 수행하도록 합니다. <logger> 아래에서 <async>false</async>를 설정하면 이를 비활성화할 수 있습니다. #80125 (Raúl Marín).
  • 2단계 해시 테이블 사용 시 메모리 재사용 효율성을 개선하고 페이지 폴트 발생을 줄입니다. #80245 (Jiebin Sun).
  • QueryConditionCache에서 불필요한 업데이트를 방지하고 락 경합을 줄였습니다. #80247 (Jiebin Sun).
  • concatenateBlocks를 소폭 최적화하여 병렬 Hash join에 도움이 될 수 있습니다. #80328 (李扬).
  • 기본 키 범위에서 마크(mark) 범위를 선택할 때 기본 키가 함수로 감싸져 있으면 이진 검색을 사용할 수 없습니다. 이 PR은 이러한 제한을 개선하여, 기본 키가 항상 단조(monotonic)인 함수 체인으로 감싸져 있거나 RPN에 항상 참인 요소가 포함되어 있는 경우에도 이진 검색을 적용할 수 있도록 합니다. 이 PR은 #45536을 종료합니다. #80597 (zoomxi).
  • Kafka 엔진의 종료 속도를 향상했습니다(여러 Kafka 테이블이 있는 경우 추가로 3초 지연이 발생하던 문제를 제거했습니다). #80796 (Azat Khuzhin).
  • 비동기 insert의 메모리 사용량을 줄이고 insert 쿼리 성능을 향상합니다. #80972 (Raúl Marín).
  • 로그 테이블이 비활성화된 경우 프로세서에 대한 프로파일링을 수행하지 않습니다. #81256 (Raúl Marín).
  • 소스가 요청된 값과 정확히 동일한 경우 toFixedString의 성능을 향상했습니다. #81257 (Raúl Marín).
  • 사용자에게 QUOTA가 설정되지 않은 경우 QUOTA 값을 처리하지 않습니다. #81549 (Raúl Marín).
  • 작업 간에 파일을 연 상태로 유지하도록 ProcfsMetricsProvider를 thread_local로 만들었습니다. #81576 (Raúl Marín).
  • 메모리 추적에서 발생한 성능 저하 문제를 수정했습니다. #81694 (Michael Kolupaev).

개선 사항

#* clickhouse-local--path 명령줄 인수를 지정하면 재시작 후에도 데이터베이스를 유지합니다. 이로써 #50647이(가) 해결되었습니다. 이로써 #49947이(가) 해결되었습니다. #71722 (Alexey Milovidov).

  • EXPLAIN SYNTAX는 이제 새 분석기를 사용합니다. 쿼리 트리로부터 생성된 추상 구문 트리(AST)를 반환합니다. 쿼리 트리를 AST로 변환하기 전에 실행할 패스 횟수를 제어하기 위한 옵션 query_tree_passes가 추가되었습니다. #74536 (Vladimir Cherkasov). #* 기본적으로 파일 시스템 캐시에서 SLRU 캐시 정책을 사용합니다. #75072 (Kseniia Sumarokova).
  • VIEW에 데이터를 푸시하는 로직을 리팩터링했습니다. #77309 (Sema Checherinda).
  • 객체 스토리지 클러스터 테이블 함수(예: s3Cluster)는 이제 일관성 해시를 기반으로 레플리카에 읽기용 파일을 할당하여 캐시 지역성을 개선합니다. #77326 (Andrej Hoos).
  • AuthenticationRequired 오류 발생 후 S3 자격 증명을 갱신합니다. #77353 (Vitaly Baranov).
  • 빌더를 사용하여 일부 HTTP 버퍼에 프록시 구성을 내장했습니다. #77693 (Arthur Passos).
  • system.asynchronous_metrics에 딕셔너리 메트릭을 추가했습니다. - DictionaryMaxUpdateDelay - 딕셔너리 업데이트의 최대 지연(초 단위)입니다. - DictionaryTotalFailedUpdates - 모든 딕셔너리에서 마지막으로 성공적으로 로드된 이후 발생한 오류 수입니다. #78175 (Vlad).
  • 오른쪽 인자가 0일 때 NULL을 반환하는 divideOrNull, moduloOrNull, intDivOrNull, positiveModuloOrNull 함수를 추가합니다. #78276 (kevinyhzou).
  • isIPAddressInRange 함수를 String, IPv4, IPv6, 널 허용(String), 널 허용(IPv4), 널 허용(IPv6) 데이터 타입에서 사용할 수 있도록 확장합니다. #78364 (YjyJeff).
  • PostgreSQL 엔진의 연결 풀러 설정을 동적으로 변경할 수 있도록 했습니다. #78414 (Samay Sharma).
  • 일반 PROJECTION에서 _part_offset을 지정할 수 있도록 했습니다. 이는 PROJECTION용 인덱스를 구축하기 위한 첫 단계입니다. #58224와 함께 사용할 수 있으며, https://github.com/ClickHouse/ClickHouse/pull/63207를 개선하는 데 도움이 됩니다. #78429 (Amos Bird).
  • 분산 쿼리에서 샤딩 키 최적화가 개선되었습니다. #78452 (fhw12345).
  • system.named_collections에 새로운 컬럼(create_querysource)을 추가합니다. #78179 이슈를 해결합니다. #78582 (MikhailBurdukov).
  • 시스템 테이블 system.query_condition_cache에 필드 condition이 추가되었습니다. 이 필드는 해시가 쿼리 조건 캐시에서 키로 사용되는 평문 조건을 저장합니다. #78671 (Robert Schulze).
  • ClickHouse Keeper를 사용하여 StorageKafka2에 대해 Kafka 리밸런스와 유사한 로직을 구현합니다. 각 레플리카에 대해 두 가지 유형의 파티션 잠금을 지원합니다: 영구 잠금과 임시 잠금입니다. 레플리카는 가능한 한 오래 영구 잠금을 유지하려고 시도하며, 어느 시점이든 레플리카에 존재하는 영구 잠금은 all_topic_partitions / active_replicas_count(여기서 all_topic_partitions는 모든 파티션의 개수이고, active_replicas_count는 활성 레플리카의 개수입니다)를 초과하지 않습니다. 이를 초과하면 레플리카는 일부 파티션을 해제합니다. 일부 파티션은 레플리카가 임시 잠금으로 보유합니다. 레플리카에 대한 임시 잠금의 최대 개수는 다른 레플리카가 일부 파티션을 영구 잠금으로 가져갈 수 있도록 동적으로 변경됩니다. 임시 잠금을 갱신할 때, 레플리카는 모든 임시 잠금을 해제하고 다시 다른 파티션들에 대해 잠금을 시도합니다. #78726 (Daria Fomina).
  • Kafka 테이블 엔진에 SASL 구성 및 자격 증명을 위한 테이블 설정을 추가합니다. 이를 통해 설정 파일이나 named collection(네임드 컬렉션)을 사용하지 않고도 CREATE TABLE 문에서 직접 Kafka 및 Kafka 호환 시스템에 대한 SASL 기반 인증을 구성할 수 있습니다. #78810 (Christoph Wurm).
  • 손상된 테이블을 보존하기 위해 생성되었을 가능성이 있는 데이터베이스에 대한 경고를 추가합니다. #78841 (János Benjamin Antal).
  • BFloat16 컬럼에 대한 벡터 유사도 인덱스를 이제 생성할 수 있습니다. #78850 (Robert Schulze).
  • best-effort DateTime64 파싱에서 소수 부분이 포함된 Unix 타임스탬프를 지원합니다. #78908 (Pavel Kruglov).
  • 스토리지 DeltaLake의 delta-kernel 구현에서 columnMappingMode.name을 수정하고 스키마 진화를 위한 테스트를 추가했습니다. #78921 (Kseniia Sumarokova).
  • Values 포맷에서 Variant 컬럼에 INSERT할 때 값 변환을 개선했습니다. #78923 (Pavel Kruglov).
  • S3Queue 엔진에 _time 가상 컬럼을 추가합니다. #78926 (Anton Ivashkin).
  • tokens FUNCTION이 추가 "tokenizer" 인자와 추가적인 tokenizer별 인자를 받을 수 있도록 확장되었습니다. #79001 (Elmi Ahmadov).
  • 이제 SHOW CLUSTER 문은 인수에 있는 매크로가 있을 경우 이를 확장합니다. #79006 (arf42).
  • 이제 해시 함수는 배열, 튜플, 맵 내의 NULL 값도 지원합니다. (이슈 #48365#48623). #79008 (Michael Kolupaev).
  • 읽기 전용 MergeTree 테이블에 대한 새로 고침을 지원합니다. #79033 (Alexey Milovidov). #* cctz를 2025a 버전으로 업데이트합니다. #79043 (Raúl Marín).
  • CPU 과부하 시 연결 끊김을 제어하는 설정을 핫 리로드할 수 있도록 했습니다. #79052 (Alexey Katsman).
  • 사용성을 개선했습니다. #79066 (Alexey Milovidov).
  • 쿼리 조건 캐시를 기본값으로 활성화합니다. #79080 (Alexey Milovidov). #* Web UI에서 탭을 실행 취소할 수 있도록 합니다. 이는 #71284 이슈를 해결합니다. #79084 (Alexey Milovidov).
  • recoverLostReplica 실행 시 설정을 제거하여 https://github.com/ClickHouse/ClickHouse/pull/78637 에서와 동일하게 동작하도록 했습니다. #79113 (Nikita Mikhaylov).
  • Parquet 인덱스 프루닝 동작을 프로파일링할 수 있도록 ProfileEvents ParquetReadRowGroups 및 ParquetPrunedRowGroups를 추가합니다. #79180 (flynn).
  • Azure Blob Storage의 일반 디스크에 대해 system.tables에 보고되는 데이터 경로에 컨테이너 접두어를 추가하여 S3 및 GCP와 보고 방식이 일관되도록 했습니다. #79241 (Julia Kartseva).
  • 클러스터에서 데이터베이스 ALTER를 지원합니다. #79242 (Tuan Pham Anh).
  • QueryMetricLog에 대한 통계 수집에서 누락된 실행을 명시적으로 건너뛰어, 로그가 현재 시각과 동기화되는 데 오랜 시간이 걸리지 않도록 합니다. #79257 (Mikhail Artemenko).
  • lightweight_deletes_sync = 0, apply_mutations_on_fly = 1 설정을 사용하여 경량한 삭제를 실시간으로 적용할 수 있는 기능이 추가되었습니다. #79281 (Anton Popov).
  • 모든 행을 삭제해야 하는 파트에 대한 ALTER ... DELETE 뮤테이션이 최적화되었습니다. 이제 이러한 경우 뮤테이션을 실행하지 않고 원본 대신 비어 있는 파트가 생성됩니다. #79307 (Anton Popov).
  • CHColumnToArrowColumn에 몇 가지 소규모 최적화가 이루어졌습니다. #79308 (Bharat Nallan).
  • allow_archive_path_syntax 설정이 실수로 experimental로 표시되어 있었습니다. experimental 설정이 기본값으로 활성화되는 일을 방지하기 위한 테스트를 추가했습니다. #79320 (Alexey Milovidov).
  • 페이지 캐시 설정을 쿼리별로 조정할 수 있도록 했습니다. 이는 더 빠른 실험과 고처리량·저지연 쿼리에 대한 세밀한 튜닝을 가능하게 하기 위해 필요합니다. #79337 (Alexey Milovidov).
  • 대부분의 64비트 해시처럼 보이는 숫자에 대해서는 Pretty 형식에서 숫자 팁을 표시하지 않습니다. 이는 #79334를 해결합니다. #79338 (Alexey Milovidov).
  • 터미널에 Pretty 형식으로 데이터가 표시되고 다음 블록의 컬럼 너비가 동일한 경우, 커서를 위로 이동해 이전 블록에서 이어서 출력하여 이전 블록과 하나로 붙여 표시할 수 있습니다. 이를 통해 #79333이(가) 해결됩니다. 이 기능은 새 설정인 output_format_pretty_glue_chunks로 제어됩니다. #79339 (Alexey Milovidov).
  • 고급 대시보드의 그래프 색상은 해당 쿼리의 해시값을 기반으로 계산됩니다. 이를 통해 대시보드를 스크롤할 때 그래프를 더 쉽게 기억하고 찾을 수 있습니다. #79341 (Alexey Milovidov).
  • 비동기 메트릭인 FilesystemCacheCapacity를 추가합니다. 이는 cache 가상 파일 시스템의 전체 용량을 나타내며, 전역 인프라 모니터링에 유용합니다. #79348 (Alexey Milovidov).
  • system.parts에 대한 액세스를 최적화하여, 요청된 경우에만 컬럼/인덱스 크기를 읽습니다. #79352 (Azat Khuzhin).
  • 쿼리 'SHOW CLUSTER <name>'에서 모든 필드 대신 중요한 필드만 선택하도록 했습니다. #79368 (Tuan Pham Anh).
  • DatabaseCatalog의 스토리지 설정을 지정할 수 있도록 했습니다. #79407 (Kseniia Sumarokova).
  • 델타 커널에서 로컬 스토리지를 지원하도록 했습니다. #79416 (Kseniia Sumarokova).
  • delta-kernel-rs를 활성화하기 위한 쿼리 수준 설정 allow_experimental_delta_kernel_rs를 추가했습니다. #79418 (Kseniia Sumarokova).
  • Azure/S3 blob 스토리지에서 blob을 나열할 때 발생할 수 있는 무한 루프 문제를 수정합니다. #79425 (Alexander Gololobov).
  • 이제 ClickHouse는 param_<name>(언더스코어)뿐 아니라 param-<name>(대시) 형식의 쿼리 매개변수도 허용합니다. 이로써 #63093 이슈가 해결되었습니다. #79429 (Engel Danila).
  • 체크섬을 활성화한 상태에서 로컬에서 원격 S3로 데이터를 복사할 때 대역폭 절감과 관련된 경고 메시지를 더 자세히 제공하도록 개선했습니다. #79464 (VicoWu).
  • clickhouse-benchmarkreconnect 옵션을 재연결 방식에 따라 0, 1 또는 N 값을 사용할 수 있도록 변경했습니다. #79465 (Sachin Kumar Singh).
  • 입력 포맷에서 생성되는 블록을 바이트 단위로 제한하기 위해 input_format_max_block_size_bytes 설정을 추가합니다. 이 설정은 데이터 가져오기 중 행에 대용량 값이 포함된 경우 발생할 수 있는 높은 메모리 사용을 방지하는 데 도움이 됩니다. #79495 (Pavel Kruglov).
  • sparseGrams의 속도와 메모리 사용 효율을 향상합니다. #79517 (Konstantin Vedernikov).
  • 가능한 경우 Compact 파트에 데이터 삽입 시 블록을 불필요하게 추가 복사하지 않도록 합니다. #79536 (Pavel Kruglov).
  • DeltaLake 스토리지의 delta-kernel 구현을 기본값으로 활성화합니다. #79541 (Kseniia Sumarokova).
  • URL에서 데이터를 읽는 과정에 여러 번의 리디렉션이 있는 경우, enable_url_encoding 설정이 리디렉션 체인 전체에 올바르게 적용됩니다. #79563 (Shankar Iyer).
  • 서로 다른 plain_rewritable 디스크에 위치한 테이블에서도 ALTER TABLE ... MOVE|REPLACE PARTITION를 허용합니다. #79566 (Julia Kartseva).
  • WHERE 절에서 스칼라 상관 서브쿼리를 지원합니다. 이를 통해 #6697 이슈를 해결했습니다. #79600 (Dmitry Novik).
  • 이전에는 input_format_parquet_max_block_size = 0일 때 ClickHouse가 멈추는 문제가 있었습니다. 이제 이 동작이 수정되었습니다. 이로써 #79394가 해결되었습니다. #79601 (abashkeev).
  • startup_scripts용 throw_on_error 설정을 추가했습니다. throw_on_error가 true이면 모든 쿼리가 성공적으로 완료되지 않는 한 서버가 시작되지 않습니다. 기본적으로 throw_on_error 값은 false이며, 이전 동작이 유지됩니다. #79732 (Aleksandr Musorin).
  • 이제 참조 벡터가 Array(BFloat16) 타입인 경우에도 벡터 유사도 인덱스가 사용됩니다. #79745 (Shankar Iyer).
  • system.error_log 테이블에 last_error_message, last_error_trace, query_id를 추가합니다. 관련 티켓 #75816. #79836 (Andrei Tinikov). #* 기본적으로 충돌 보고서를 전송하도록 설정합니다. 이는 서버 설정 파일에서 비활성화할 수 있습니다. #79838 (Alexey Milovidov).
  • 이제 시스템 테이블 system.functions에서 각 함수가 어느 ClickHouse 버전에서 처음 도입되었는지 표시됩니다. #79839 (Robert Schulze).
  • access_control_improvements.enable_user_name_access_type 설정이 추가되었습니다. 이 설정은 https://github.com/ClickHouse/ClickHouse/pull/72246에서 도입된 사용자/역할에 대한 정밀 권한 부여(precise grants)를 활성화하거나 비활성화하도록 합니다. 클러스터에 25.1 이전 버전의 레플리카가 있는 경우 이 설정을 끄는 것이 좋습니다. #79842 (pufit).
  • ASTSelectWithUnionQuery::clone() 메서드의 올바른 구현에서 이제 is_normalized 필드도 함께 고려됩니다. 이는 #77569에 도움이 될 수 있습니다. #79909 (Nikita Mikhaylov).
  • 간단한 경우에 projection 목록에서 상관 서브쿼리를 지원합니다. #79925 (Dmitry Novik).
  • EXCEPT 연산자가 포함된 일부 쿼리에서 일관되지 않게 적용되던 포매팅 문제를 수정합니다. EXCEPT 연산자의 좌측 피연산자가 *로 끝나는 경우, 포매팅된 쿼리에서 괄호가 제거되어 EXCEPT 수정자가 적용된 *로 파싱됩니다. 이러한 쿼리는 fuzzer에 의해 발견되며, 실제 사용 환경에서 발견될 가능성은 낮습니다. 이 변경으로 #79950가 해결되었습니다. #79952 (Alexey Milovidov).
  • 모든 종류의 http_handlers에서 http_response_headers를 추가할 수 있게 했습니다. #79975 (Andrey Zvonov).
  • variants 역직렬화 순서 캐시를 사용하여 JSON 타입의 파싱을 소폭 개선했습니다. #79984 (Pavel Kruglov).
  • 가능한 경우 GLOBAL [NOT] IN 술어를 PREWHERE 절로 이동할 수 있도록 합니다. #79996 (Eduard Karacharov).
  • 네트워크 오류 이후 모든 스레드에 지연을 적용하는 s3_slow_all_threads_after_network_error 설정을 추가했습니다. #80035 (Vitaly Baranov).
  • 선택된 파트를 머지 대상으로 할 때의 로깅 레벨이 잘못되어 Information으로 기록되었습니다. #80061 이슈를 해결합니다. #80062 (Alexey Milovidov).
  • 이제 reverse FUNCTION이 Tuple 데이터 타입을 지원합니다. #80053 이슈를 해결합니다. #80083 (flynn).
  • enble_url_encoding 설정의 기본값이 이제 False로 설정되었습니다. #80088 (Shankar Iyer).
  • 이 작은 패치는 #75817을(를) 해결하며, system.zookeeper 테이블에서 auxiliary_zookeepers 데이터를 가져올 수 있도록 합니다. #80146 (Nikolay Govorov).
  • 벡터 유사성 인덱스를 사용하는 벡터 검색이 이제 베타 단계입니다(이전에는 실험적 단계였습니다). #80164 (Robert Schulze).
  • 서버 TCP 소켓에 대한 비동기 메트릭을 추가합니다. 이를 통해 관측성이 향상됩니다. #80187을(를) 해결합니다. #80188 (Alexey Milovidov).
  • 이제 tokens FUNCTION이 토크나이저로 string을 지원합니다. #80195 (Robert Schulze).
  • 병렬 레플리카: 모든 읽기 작업이 이미 다른 레플리카에 할당된 경우, 사용되지 않는 느린 레플리카를 기다리지 않도록 개선했습니다. #80199 (Igor Nikonov).
  • simpleAggregateFunctionanylast_respect_nullsany_respect_nulls 지원을 추가했습니다. #80219 (Diskein).
  • 복제된 데이터베이스에 대해 불필요한 adjustCreateQueryForBackup() 호출을 제거합니다. #80282 (Vitaly Baranov). #* clickhouse-local에서 -- --config.value='abc'처럼 -- 뒤에 오는 추가 옵션을 등호(=) 기호 없이도 사용할 수 있도록 허용합니다. #80292를 해결합니다. #80293 (Alexey Milovidov).
  • SHOW ... LIKE 쿼리에서 메타문자를 강조 표시합니다. 이는 #80275를 해결합니다. #80297 (Alexey Milovidov).
  • TimeTime64 타입 간의 비교를 지원합니다. #80327 (Yarik Briukhovetskyi).
  • 예비 DISTINCT 단계에 대한 EXPLAIN 실행 계획 설명을 수정합니다. #80330 (UnamedRus).
  • ODBC/JDBC에서 named collection 사용을 허용합니다. #80334 (Andrey Zvonov).
  • 여러 PROJECTION 기반 필터링을 지원하도록 활성화하여, 파트 수준 필터링에 둘 이상의 PROJECTION을 사용할 수 있도록 합니다. 이는 #55525를 해결합니다. 이는 PROJECTION 인덱스를 구현하기 위한 두 번째 단계로, #78429에 이은 것입니다. #80343 (Amos Bird).
  • 읽기 전용 디스크와 손상된 디스크 수를 나타내는 메트릭입니다. DiskLocalCheckThread가 시작될 때 기록되는 지표 로그입니다. #80391 (VicoWu).
  • 프로젝션을 지원하는 s3_plain_rewritable 스토리지를 구현했습니다. 이전 버전에서는 프로젝션을 참조하는 S3 메타데이터 객체가 이동되더라도 업데이트되지 않았습니다. #70258을(를) 해결합니다. #80393 (Sav).
  • Parallel replicas는 별도의 연결 타임아웃을 사용합니다. parallel_replicas_connect_timeout_ms 설정을 참조하십시오. 이전에는 connect_timeout_with_failover_ms/connect_timeout_with_failover_secure_ms 설정이 parallel replicas 쿼리의 연결 타임아웃 값으로 사용되었습니다(기본값 1초). #80421 (Igor Nikonov).
  • SYSTEM UNFREEZE 명령은 읽기 전용(readonly) 및 단일 쓰기(write-once) 디스크에서 파트를 조회하지 않습니다. 이는 #80430을(를) 해결합니다. #80432 (Alexey Milovidov).
  • 병합된 파트 관련 메시지의 로그 레벨을 INFO에서 TRACE로 변경했습니다. #80476 (Hans Krutzer).
  • Native 포맷에서 Dynamic 및 JSON에 대해 평탄화된 직렬화를 구현하여, Dynamic의 shared variant나 JSON의 shared data와 같은 특수 구조 없이 Dynamic 및 JSON 데이터를 직렬화/역직렬화할 수 있도록 합니다. 이 직렬화는 output_format_native_use_flattened_dynamic_and_json_serialization 설정을 통해 활성화할 수 있습니다. 이 직렬화는 다양한 언어의 클라이언트에서 TCP 프로토콜을 사용할 때 Dynamic 및 JSON을 더 쉽게 지원하는 데 활용할 수 있습니다. #80499 (Pavel Kruglov).
  • Iceberg 테이블의 파티션 프루닝 기본 동작을 변경합니다. #80583 (Melvyn Peignon).
  • 인덱스 검색 알고리즘 관측성 향상을 위해 IndexBinarySearchAlgorithmIndexGenericExclusionSearchAlgorithm 두 개의 새로운 ProfileEvents를 추가합니다. #80679 (Pablo Marcos).
  • 이전 커널 버전에서 MADV_POPULATE_WRITE 미지원에 대해 로그에 경고를 남기지 않습니다(로그 혼잡을 방지하기 위해). #80704 (Robert Schulze).
  • TTL에 Date32, DateTime64 지원을 추가했습니다. #80710 (Andrey Zvonov).
  • max_merge_delayed_streams_for_parallel_write에 대한 호환성 관련 값을 조정합니다. #80760 (Azat Khuzhin).
  • 크래시를 수정합니다. 소멸자에서 임시 파일(디스크에 임시 데이터를 기록하는 데 사용되는)을 제거하려고 시도하는 동안 예외가 발생하면 프로그램이 비정상 종료될 수 있습니다. #80776 (Alexey Milovidov).
  • SYSTEM SYNC REPLICAIF EXISTS 수정자를 추가했습니다. #80810 (Raúl Marín).
  • "바이트 수는 0이지만 읽기 범위가 끝나지 않았습니다..."라는 예외 메시지를 보완하고, finished_download_time 컬럼을 system.filesystem_cache'에 추가합니다. #80849 (Kseniia Sumarokova).
  • 이전에 packed 스토리지는 전문 인덱스에서 지원되지 않았습니다. 세그먼트 ID가 디스크의 (.gin_sid) 파일을 읽고 쓰는 방식으로 실시간으로(on the fly) 업데이트되었기 때문입니다. packed 스토리지에서는 커밋되지 않은 파일에서 값을 읽는 것이 지원되지 않아 이로 인해 문제가 발생했습니다. #80852 (Elmi Ahmadov).
  • indexes = 1 옵션과 함께 사용할 때 EXPLAIN 출력에 검색 알고리즘 섹션을 추가합니다. 여기에는 「binary search」 또는 「generic exclusion search」가 표시됩니다. #80881 (Pablo Marcos).
  • 2024년 초에는 새로운 analyzer가 기본적으로 활성화되지 않았기 때문에 MySQL handler에 대해 prefer_column_name_to_alias가 True로 하드코딩되어 있었습니다. 이제 이 설정의 하드코딩이 해제되었습니다. #80916 (Yarik Briukhovetskyi).
  • 이제 system.iceberg_history에서 glue 및 iceberg rest와 같은 카탈로그 데이터베이스에 대한 이력을 표시합니다. 또한 일관성을 위해 system.iceberg_history에서 table_namedatabase_name 컬럼을 각각 tabledatabase로 이름을 변경했습니다. #80975 (alesapin).
  • merge 테이블 함수에 대해 읽기 전용 모드를 지원하여 이를 사용할 때 CREATE TEMPORARY TABLE 권한이 필요하지 않도록 했습니다. #80981 (Miсhael Stetsyuk).
  • 메모리 내 캐시에 대한 내부 상태 조회 기능을 개선합니다(불완전한 system.asynchronouse_metrics 대신 system.metrics에서 캐시 관련 정보를 노출합니다). 메모리 내 캐시 크기(바이트 단위)를 dashboard.html에 추가합니다. VectorSimilarityIndexCacheSize/IcebergMetadataFilesCacheSizeVectorSimilarityIndexCacheBytes/IcebergMetadataFilesCacheBytes로 이름이 변경되었습니다. #81023 (Azat Khuzhin).
  • system.rocksdb에서 읽을 때 RocksDB 테이블을 포함할 수 없는 엔진을 사용하는 데이터베이스를 무시하도록 했습니다. #81083 (Pervakov Grigorii).
  • clickhouse-local 설정 파일에서 filesystem_cachesnamed_collections를 사용할 수 있도록 했습니다. #81105 (Alexey Milovidov).
  • INSERT 쿼리에서 PARTITION BY 구문 강조를 수정합니다. 이전 버전에서는 PARTITION BY가 키워드로 강조 표시되지 않았습니다. #81106 (Alexey Milovidov). #* Web UI의 두 가지 작은 개선 사항: CREATE, INSERT와 같이 출력이 없는 쿼리를 올바르게 처리합니다(얼마 전까지 이러한 쿼리는 무한 로딩 스피너가 표시되었습니다). - 테이블을 더블 클릭할 때 맨 위로 스크롤합니다. #81131 (Alexey Milovidov). #* c-aresv1.34.5로 업데이트합니다. #81159 (Konstantin Bogdanov). #* CVE-2025-5025 및 CVE-2025-4947을 해결하기 위해 curl을 8.14로 업그레이드합니다. #81171 (larryluogit). #* 다음 취약성을 해결하기 위해 libarchive를 3.7.9로 업그레이드합니다: CVE-2024-20696 CVE-2025-25724 CVE-2024-48958 CVE-2024-57970 CVE-2025-1632 CVE-2024-48957 CVE-2024-48615. #81174 (larryluogit). #* libxml2를 2.14.3으로 업그레이드합니다. #81187 (larryluogit).
  • MemoryResidentWithoutPageCache는 서버 프로세스가 사용하는 물리 메모리 중 사용자 공간 페이지 캐시(userspace page cache)를 제외한 바이트 단위의 값을 제공합니다. 이는 사용자 공간 페이지 캐시를 사용하는 경우 실제 메모리 사용량을 보다 정확하게 파악하는 데 도움이 됩니다. 사용자 공간 페이지 캐시가 비활성화되어 있는 경우 이 값은 MemoryResident와 동일합니다. #81233 (Jayme Bird).
  • client, local server, Keeper client 및 disks 애플리케이션에서 수동으로 기록한 예외를 이미 로그된 것으로 표시하여, 동일한 예외가 두 번 로그에 기록되지 않도록 했습니다. #81271 (Miсhael Stetsyuk).
  • use_skip_indexes_if_finaluse_skip_indexes_if_final_exact_mode 설정의 기본값이 이제 True로 변경되었습니다. FINAL 절이 있는 쿼리는 이제 (적용 가능한 경우) 스킵 인덱스를 사용해 그래뉼 후보를 우선 선별하고, 일치하는 기본 키 범위에 해당하는 추가 그래뉼도 함께 읽습니다. 이전과 같은 근사/부정확한 결과 동작이 필요한 사용자는 신중히 검토한 후 use_skip_indexes_if_final_exact_mode를 FALSE로 설정할 수 있습니다. #81331 (Shankar Iyer). #* 웹 UI에서 여러 개의 쿼리가 있을 때는 커서가 위치한 쿼리만 실행됩니다. #80977의 후속 작업입니다. #81354 (Alexey Milovidov).
  • 이 PR에서는 변환 함수의 단조성(monotonicity) 검사에서 is_strict 구현과 관련된 문제를 해결합니다. 현재 toFloat64(UInt32), toDate(UInt8)와 같은 일부 변환 함수는 실제로는 true를 반환해야 함에도 잘못하여 is_strict를 false로 반환합니다. #81359 (zoomxi). #* 저널(journal)을 사용하는 파일 시스템에서는 mkdir가 디스크에 영구 저장되는 파일 시스템 저널에 기록됩니다. 디스크 속도가 느린 경우 이 작업에 오랜 시간이 걸릴 수 있습니다. 따라서 reserve lock 범위 밖으로 이동하는 것이 분명히 타당합니다. #81371 (Kseniia Sumarokova).
  • KeyCondition 이 연속 구간과 일치하는지 확인할 때, 키가 비엄격 함수 체인으로 래핑되어 있으면 Constraint::POINTConstraint::RANGE 로 변환해야 할 수 있습니다. 예를 들어, toDate(event_time) = '2025-06-03'event_time 에 대해 다음과 같은 범위를 의미합니다: ['2025-06-03 00:00:00', '2025-06-04 00:00:00'). 이 PR은 이 동작을 수정합니다. #81400 (zoomxi). #* postgres 16.9를 사용합니다. #81437 (Konstantin Bogdanov). #* openssl 3.2.4를 사용합니다. #81438 (Konstantin Bogdanov). #* abseil-cpp 2025-01-27을 사용합니다. #81440 (Konstantin Bogdanov). #* mongo-c-driver 1.30.4를 사용합니다. #81449 (Konstantin Bogdanov). #* krb5 1.21.3-final을 사용합니다. #81453 (Konstantin Bogdanov). #* orc 2.1.2를 사용합니다. #81455 (Konstantin Bogdanov). #* clickhouse-local 에서 --database 인수를 지원합니다. 미리 생성된 데이터베이스로 전환할 수 있습니다. #44115를 해결합니다. #81465 (Alexey Milovidov). #* clickhouse/ch 별칭은 --host 또는 --port 가 지정된 경우 clickhouse-local 대신 clickhouse-client 를 호출합니다. #79422의 후속 작업입니다. #65252를 종료합니다. #81509 (Alexey Milovidov).
  • 이제 Keeper의 응답 시간 분포 데이터가 확보되었으므로 히스토그램 버킷을 조정할 수 있습니다. #81516 (Miсhael Stetsyuk).
  • Iceberg 매니페스트 파일 읽기를 쿼리가 처음 실행될 때까지 지연합니다. #81619 (Daniil Ivanik). #* grpc 1.73.0을 사용합니다. #81629 (Konstantin Bogdanov). #* delta-kernel-rs v0.12.1을 사용합니다. #81707 (Konstantin Bogdanov).
  • 프로파일 이벤트 PageCacheReadBytes를 추가했습니다. #81742 (Kseniia Sumarokova).

버그 수정(공식 안정 릴리스에서 발생하는 사용자가 인지할 수 있는 오동작)

  • SELECT EXCEPT 쿼리를 사용하는 매개변수화된 VIEW를 수정합니다. #49447 이슈를 해결합니다. #57380 (Nikolay Degterinsky).
  • Analyzer: 조인에서 컬럼 타입 승격 후 컬럼 프로젝션 이름을 수정합니다. #63345를 해결합니다. #63519 (Dmitry Novik).
  • materialized view가 너무 늦게 시작되는 경우가 있습니다. 예를 들어, 해당 materialized view로 데이터를 스트리밍하는 Kafka 테이블이 먼저 생성된 이후에 시작되는 경우입니다. #72123 (Ilya Golshtein).
  • analyzer_compatibility_join_using_top_level_identifier가 활성화된 경우 컬럼 이름 충돌 시 발생하던 논리 오류를 수정했습니다. #75676 (Vladimir Cherkasov).
  • 여러 차례 비동기(alter_sync = 0 사용) RENAME COLUMNADD COLUMN 쿼리를 실행한 뒤 MergeTree 테이블에서 읽는 과정에서 드물게 발생하던 크래시를 수정했습니다. #76346 (Anton Popov).
  • analyzer가 활성화된 상태에서 VIEW 생성 시 SELECT 쿼리 재작성 문제를 수정합니다. #75956 이슈를 해결합니다. #76356 (Dmitry Novik).
  • allow_push_predicate_ast_for_distributed_subqueries가 활성화된 경우 푸시다운된 프레디케이트에서의 CTE 처리를 수정합니다. #75647 이슈를 수정합니다. #79672 이슈를 수정합니다. #77316 (Dmitry Novik).
  • 서버에서 apply_settings_from_server를 통해 async_insert 설정을 적용할 때 발생하던 문제를 수정했습니다(이전에는 클라이언트에서 Unknown packet 11 from server 오류가 발생했습니다). #77578 (Azat Khuzhin).
  • 복제된 데이터베이스에서 새로 추가된 레플리카에서는 갱신 가능 구체화 뷰가 동작하지 않던 문제를 수정했습니다. #77774 (Michael Kolupaev).
  • 갱신 가능 구체화 뷰가 백업을 손상시키던 문제를 수정했습니다. #77893 (Michael Kolupaev).
  • transform에서 발생하던 기존 논리 오류를 수정합니다. #78247 (Yarik Briukhovetskyi).
  • SYSTEM SYNC REPLICA LIGHTWEIGHT 'foo' 명령이 지정된 레플리카가 존재하지 않아도 성공했다고 보고하던 문제를 수정합니다. 이제 이 명령은 동기화를 시도하기 전에 Keeper에 해당 레플리카가 존재하는지 올바르게 검증합니다. #78405 (Jayme Bird).
  • analyzer 단계에서 보조 인덱스가 적용되지 않던 몇몇 경우를 수정합니다. #65607#69373를 수정합니다. #78485 (Nikolai Kochetov).
  • 압축이 활성화된 HTTP 프로토콜에서 프로파일 이벤트(NetworkSendElapsedMicroseconds/NetworkSendBytes)를 덤프할 때의 오차가 버퍼 크기(일반적으로 약 1MiB)를 초과하지 않도록 수정했습니다. #78516 (Azat Khuzhin). #* ```sql CREATE TABLE t0 ( key Int32, value Int32 ) ENGINE=MergeTree() PRIMARY KEY key PARTITION BY key % 2;. #78593 (Vlad).
  • JOIN ... USINGALIAS 컬럼이 포함될 때 적절한 오류를 반환해야 함에도 LOGICAL_ERROR를 발생시키던 analyzer를 수정합니다. #78618 (Yakov Olkhovskiy).
  • 분석기를 수정합니다: CREATE VIEW ... ON CLUSTER에서 SELECT 문에 위치 기반 인자를 포함할 경우 실패하던 문제를 해결합니다. #78663 (Yakov Olkhovskiy).
  • SELECT에 스칼라 서브쿼리가 있는 경우, 스키마 추론을 사용하는 테이블 FUNCTION으로 INSERT SELECT를 수행할 때 발생하던 Block structure mismatch 오류를 수정합니다. #78677 (Pervakov Grigorii).
  • Analyzer 수정: 분산 테이블(Distributed table)에 대해 prefer_global_in_and_join=1이 설정된 SELECT 쿼리에서는 in 함수를 globalIn으로 대체하도록 수정했습니다. #78749 (Yakov Olkhovskiy).
  • MongoDB 엔진 또는 mongodb 테이블 함수에서 읽는 여러 유형의 SELECT 쿼리를 수정했습니다. WHERE 절에서 상수 값의 암시적 형 변환이 있는 쿼리(예: WHERE datetime = '2025-03-10 00:00:00'), LIMITGROUP BY를 사용하는 쿼리 등이 이에 해당합니다. 이전에는 잘못된 결과가 반환될 수 있었습니다. #78777 (Anton Popov).
  • 서로 다른 JSON 타입 간의 변환 로직을 수정했습니다. 이제 String으로 변환했다가 다시 되돌리는 단순 캐스트 방식으로 수행됩니다. 덜 효율적이지만 정확도는 100%입니다. #78807 (Pavel Kruglov).
  • Dynamic 타입을 Interval로 변환할 때 발생하던 논리 오류를 수정했습니다. #78813 (Pavel Kruglov).
  • JSON 파싱 오류 발생 시 컬럼 롤백을 수정합니다. #78836 (Pavel Kruglov).
  • 상수 별칭 컬럼을 사용한 조인 시 발생하는 'bad cast' 오류를 수정합니다. #78848 (Vladimir Cherkasov).
  • materialized view에서 뷰와 대상 테이블의 컬럼 타입이 서로 다른 경우 PREWHERE를 사용할 수 없도록 했습니다. #78889 (Pavel Kruglov).
  • Variant 컬럼의 잘못된 바이너리 데이터를 파싱할 때 발생하는 논리적 오류를 수정합니다. #78982 (Pavel Kruglov).
  • Parquet 배치 크기가 0으로 설정되면 예외를 던지도록 변경했습니다. 이전에는 output_format_parquet_batch_size = 0인 경우 ClickHouse가 멈추는 문제가 있었습니다. 이제 이 문제는 수정되었습니다. #78991 (daryawessely).
  • compact 파트의 basic 포맷에서 variant discriminator의 역직렬화를 수정합니다. 이 문제는 https://github.com/ClickHouse/ClickHouse/pull/55518 에서 도입되었습니다. #79000 (Pavel Kruglov).
  • complex_key_ssd_cache 타입 사전은 이제 block_sizewrite_buffer_size 파라미터가 0 또는 음수인 값을 거부합니다 (issue #78314). #79028 (Elmi Ahmadov).
  • SummingMergeTree에서 집계되지 않은 컬럼에 Field를 사용하는 것을 피하십시오. Dynamic/Variant 타입을 사용하는 SummingMergeTree에서 예기치 않은 오류가 발생할 수 있습니다. #79051 (Pavel Kruglov).
  • analyzer에서 헤더가 다른 경우, 분산 대상 테이블을 사용하는 materialized view에서의 읽기를 수정합니다. #79059 (Pavel Kruglov).
  • currentDatabase FUNCTION이 ON CLUSTER 쿼리의 CONSTRAINT 섹션에서 사용된 아주 특정한 상황에서 발생하던 크래시 문제를 수정합니다. #78100 이슈를 해결합니다. #79070 (pufit).
  • 배치 삽입이 수행된 테이블에서 arrayUnion()이 추가적인 잘못된 값을 반환하던 버그를 수정합니다. #75057을 수정합니다. #79079 (Peter Nguyen). #* OpenSSLInitializer에서 발생하던 세그폴트(segfault)를 수정합니다. #79092 이슈를 종료합니다. #79097 (Konstantin Bogdanov).
  • 서버 간 쿼리에서 external roles가 전달되는 방식을 수정합니다. #79099 (Andrey Zvonov).
  • S3 ListObject에 대해 항상 prefix를 설정하도록 수정했습니다. #79114 (Azat Khuzhin).
  • 배치 삽입이 수행된 테이블에서 arrayUnion()이 불필요한(잘못된) 값을 추가로 반환하던 버그를 수정합니다. #79157을 수정합니다. #79158 (Peter Nguyen).
  • 필터 푸시다운 후 발생하는 논리적 오류를 수정합니다. #79164 (Pervakov Grigorii).
  • SingleValueDataGeneric에서 Field 대신 IColumn을 사용하도록 변경했습니다. 이를 통해 Dynamic/Variant/JSON 타입에 대해 argMax와 같은 일부 집계 함수가 잘못된 값을 반환하던 문제가 수정됩니다. #79166 (Pavel Kruglov).
  • DeltaLake table engine이 delta-kernel 구현과 함께 HTTP 기반 엔드포인트에서 사용될 때 발생하는 문제를 수정하고, NOSIGN을 수정합니다. #78124를 해결합니다. #79203 (Kseniia Sumarokova).
  • Keeper 수정: 실패한 multi 요청에서 watch가 트리거되지 않도록 합니다. #79247 (Antonio Andelic).
  • IN에서 Dynamic 및 JSON 타입 사용을 금지합니다. 현재 IN 구현으로는 잘못된 결과가 나올 수 있습니다. IN에서 이러한 타입을 제대로 지원하는 것은 복잡한 작업이며, 향후에 지원이 추가될 수 있습니다. #79282 (Pavel Kruglov).
  • JSON 타입 파싱에서 중복 경로 검사 로직을 수정합니다. #79317 (Pavel Kruglov).
  • SecureStreamSocket 연결 문제를 수정했습니다. #79383 (Konstantin Bogdanov).
  • 데이터를 포함하는 plain_rewritable 디스크의 로딩 문제를 수정했습니다. #79439 (Julia Kartseva).
  • MergeTree의 Wide 파트에서 동적 서브컬럼을 찾는 과정에서 발생하던 크래시를 수정합니다. #79466 (Pavel Kruglov).
  • 테이블 이름의 길이는 초기 CREATE 쿼리에 대해서만 검증합니다. 하위 호환성 문제가 발생하지 않도록 후속 CREATE 에 대해서는 검증하지 않습니다. #79488 (Miсhael Stetsyuk).
  • 희소 컬럼이 있는 테이블에서 여러 상황에서 발생하던 Block structure mismatch 오류를 수정했습니다. #79491 (Anton Popov).
  • Logical Error: Can't set alias of * of Asterisk on alias가 발생하던 두 가지 경우를 수정했습니다. #79505 (Raúl Marín).
  • Azure Blob Storage에서 use_native_copy 및 allow_azure_native_copy 설정 적용 문제를 수정하고, 자격 증명이 일치하는 경우에만 native copy를 사용하도록 업데이트하여 #78964를 해결했습니다. #79561 (Smita Kulkarni).
  • Atomic 데이터베이스의 이름을 바꿀 때 잘못된 경로가 사용되던 문제를 수정합니다. #79569 (Tuan Pham Anh).
  • JSON 컬럼과 다른 컬럼을 함께 사용하는 ORDER BY 동작을 수정했습니다. #79591 (Pavel Kruglov).
  • use_hedged_requestsallow_experimental_parallel_reading_from_replicas를 모두 비활성화한 상태에서 원격에서 데이터를 읽을 때 발생하던 결과 중복 문제를 수정합니다. #79599 (Eduard Karacharov).
  • Unity Catalog를 사용할 때 delta-kernel 구현에서 발생하던 크래시를 수정합니다. #79677 (Kseniia Sumarokova).
  • 오토디스커버리 클러스터용 매크로 해석을 수정했습니다. #79696 (Anton Ivashkin).
  • 컬럼이 연관되어 있는지 확인하는 과정에서, 출처 범위(origin scope)를 알 수 없는 컬럼과 관련된 논리 오류를 수정했습니다. #78183을(를) 수정했습니다. #79451을(를) 수정했습니다. #79727 (Dmitry Novik).
  • ColumnConst 및 Analyzer와 함께 사용하는 grouping sets에서 잘못된 결과가 나오는 문제를 수정합니다. #79743 (Andrey Zvonov).
  • 로컬 레플리카가 오래된 상태인 분산 테이블에서 데이터를 읽을 때 로컬 세그먼트 결과가 중복되는 문제를 수정합니다. #79761 (Eduard Karacharov).
  • 잘못 구성된 page_cache_limits를 적절히 처리하도록 수정했습니다. #79805 (Bharat Nallan).
  • 가변 길이 포맷터(예: %W, 요일인 Monday, Tuesday 등) 뒤에 복합 포맷터(여러 구성 요소를 한 번에 출력하는 포맷터, 예: 미국식 날짜 05/04/25를 의미하는 %D)가 오는 경우 SQL 함수 formatDateTime의 결과가 잘못되던 문제를 수정합니다. #79835 (Robert Schulze).
  • IcebergS3는 count() 함수 최적화를 지원하지만 IcebergS3Cluster는 지원하지 않습니다. 그 결과, 클러스터 모드에서 반환되는 count() 결과가 레플리카 수의 배수가 될 수 있습니다. #79844 (wxybear).
  • 음수 부호 비트가 설정된 NaN 값의 정렬 순서를 수정합니다. #79847 (Pervakov Grigorii).
  • 이제 GROUP BY ALLGROUPING 절을 더 이상 고려하지 않습니다. #79915 (Yarik Briukhovetskyi).
  • 지연 머티리얼라이제이션에서 프로젝션 전까지 쿼리 실행에 어떤 컬럼도 사용되지 않는 경우 발생하던 AMBIGUOUS_COLUMN_NAME 오류를 수정합니다. 예를 들어, SELECT * FROM t ORDER BY rand() LIMIT 5. #79926 (Igor Nikonov).
  • 용량 한도가 소진되지 않은 경우에도 과도한 오차 값을 유발하던 TopK / TopKWeighted FUNCTION의 잘못된 상태 병합을 수정했습니다. #79939 (Joel Höner).
  • 쿼리 CREATE DATABASE datalake ENGINE = DataLakeCatalog(\'http://catalog:8181\', \'admin\', \'password\')에서 비밀번호가 숨겨지도록 했습니다. #79941 (Han Fei).
  • JOIN USING에서 별칭을 지정할 수 있도록 했습니다. 컬럼 이름이 변경된 경우(예: ARRAY JOIN으로 인해) 이 별칭을 지정합니다. #73707를 수정했습니다. #79942 (Nikolai Kochetov).
  • 이제 azure_blob_storage 객체 스토리지에서 readonly 설정을 준수합니다. #79954 (Julia Kartseva).
  • 역슬래시로 이스케이프한 문자를 사용하는 match(column, '^…') 쿼리에서 잘못된 쿼리 결과와 메모리 부족으로 인한 크래시가 발생하던 문제를 수정했습니다. #79969 (filimonov).
  • 데이터 레이크에서 Hive 파티셔닝을 비활성화했습니다. 이는 https://github.com/issues/assigned?issue=ClickHouse%7CClickHouse%7C79937 문제를 부분적으로 해결합니다. #80005 (Daniil Ivanik).
  • 람다 표현식을 사용하는 스킵 인덱스가 적용되지 않던 문제를 수정했습니다. 인덱스 정의에 있는 고수준 함수가 쿼리의 것과 정확히 일치하는 경우에도 올바르게 동작하도록 했습니다. #80025 (Nikolai Kochetov).
  • UNION을 사용하는 materialized view가 새 레플리카에서 올바르게 동작하도록 수정했습니다. #80037 (Samay Sharma).
  • 복제 로그에 기록된 ATTACH_PART 명령을 실행하는 레플리카에서 파트를 연결하는 과정에서 메타데이터 버전을 수정했습니다. #80038 (Aleksei Filatov).
  • 이제 SQL 함수 parseDateTime의 형식 지정자 %e는 한 자리 일(day) 값(예: 3)도 인식하며, 이전에는 공백 패딩(예: 3)이 필요했습니다. 이로써 MySQL과 동작이 호환되도록 변경되었습니다. 이전 동작을 유지하려면 설정 parsedatetime_e_requires_space_padding1로 설정하십시오. (issue #78243). #80057 (Robert Schulze).
  • 실행 가능한 User Defined Function(eUDF)의 이름은 다른 함수들과 달리 system.query_log 테이블의 used_functions 컬럼에 추가되지 않습니다. 이 PR에서는 요청에 eUDF가 사용된 경우 해당 eUDF 이름이 추가되도록 구현했습니다. #80073 (Kyamran). #* ClickHouse 로그에서 발생하던 Cannot find 'kernel' in '[...]/memory.stat' 경고 문제를 수정했습니다 (issue #77410). #80129 (Robert Schulze).
  • Arrow 포맷에서 LowCardinality(FixedString) 관련 논리 오류를 수정합니다. #80156 (Pavel Kruglov).
  • Merge 엔진에서 서브컬럼 읽기를 수정했습니다. #80158 (Pavel Kruglov).
  • KeyCondition에서 숫자형 타입 간 비교 처리와 관련된 버그를 수정합니다. #80207 (Yarik Briukhovetskyi).
  • 프로젝션이 있는 테이블에 lazy materialization을 적용할 때 발생하던 AMBIGUOUS_COLUMN_NAME 문제를 수정했습니다. #80251 (Igor Nikonov).
  • 암시적 프로젝션 사용 시 LIKE 'ab_c%'와 같은 문자열 접두사 필터에 대한 잘못된 COUNT 최적화를 수정합니다. 이로써 #80250가 해결됩니다. #80261 (Amos Bird).
  • MongoDB 문서에서 중첩 숫자 필드가 문자열로 잘못 직렬화되던 문제를 수정합니다. MongoDB 문서에 대한 최대 깊이 제한을 제거합니다. #80289 (Kirill Nikiforov).
  • Replicated 데이터베이스에서 RMT에 대한 메타데이터 검사를 덜 엄격하게 수행합니다. #80296 이슈를 해결합니다. #80298 (Nikolay Degterinsky).
  • PostgreSQL 스토리지에서 DateTime 및 DateTime64의 문자열 표현을 수정합니다. #80301 (Yakov Olkhovskiy).
  • StripeLog 테이블에서 타임존이 포함된 DateTime을 허용하도록 했습니다. 이로써 #44120를 해결했습니다. #80304 (Alexey Milovidov).
  • 쿼리 플랜 단계에서 행 수를 변경하는 경우, 비결정적 함수가 포함된 프레디케이트에 대해 filter-push-down을 비활성화합니다. #40273을(를) 수정합니다. #80329 (Nikolai Kochetov).
  • 서브컬럼을 사용하는 프로젝션에서 발생할 수 있는 논리 오류와 크래시를 수정합니다. #80333 (Pavel Kruglov).
  • ON 표현식이 단순한 등호 비교가 아닐 때 논리적 JOIN 단계의 필터 푸시다운 최적화로 인해 발생하던 NOT_FOUND_COLUMN_IN_BLOCK 오류를 수정합니다. #79647#77848을 수정합니다. #80360 (Nikolai Kochetov).
  • 파티션된 테이블에서 역순으로 정렬된 키를 읽을 때 잘못된 결과가 반환되던 문제를 수정합니다. 이 수정은 #79987을 해결합니다. #80448 (Amos Bird).
  • 널 허용 키가 있고 optimize_read_in_order가 활성화된 테이블에서 발생하던 잘못된 정렬 문제를 수정했습니다. #80515 (Pervakov Grigorii).
  • SYSTEM STOP REPLICATED VIEW를 사용해 뷰를 일시 중지한 경우 갱신 가능 구체화 뷰 DROP 문이 멈춰 버리는 문제를 수정했습니다. #80543 (Michael Kolupaev).
  • 분산 쿼리에서 상수 튜플을 사용할 때 발생하던 'Cannot find column' 오류를 수정합니다. #80596 (Yakov Olkhovskiy).
  • join_use_nulls를 사용하는 분산 테이블에서 shardNum 함수 동작을 수정했습니다. #80612 (János Benjamin Antal).
  • Merge 엔진에서 일부 테이블에만 존재하는 컬럼을 읽는 동안 발생하던 잘못된 결과를 수정합니다. #80643 (Pavel Kruglov).
  • 이제 iceberg_history 테이블의 타임스탬프가 올바른 값을 가집니다. #80711 (Melvyn Peignon).
  • 객체 스토리지 테이블 함수에서 단일 요소를 가진 enum glob의 처리를 수정했습니다. #80716 (Konstantin Bogdanov).
  • Tuple(Dynamic)와 String을 사용하는 비교 함수에서 논리적 오류를 일으키던 잘못된 결과 타입을 수정했습니다. #80728 (Pavel Kruglov).
  • Unity Catalog에 누락되어 있던 timestamp_ntz 데이터 타입 지원을 추가합니다. #79535#79875를 수정합니다. #80740 (alesapin).
  • IN cte가 포함된 분산 쿼리에서 발생하는 THERE_IS_NO_COLUMN 오류를 수정합니다. GitHub 이슈 #75032를 해결합니다. #80757 (Nikolai Kochetov).
  • 외부 ORDER BY를 위해 파일이 과도하게 많이 생성되어 메모리 사용량이 불필요하게 증가하던 문제를 수정했습니다. #80777 (Azat Khuzhin). #* 이 PR로 #80742 이슈를 해결할 수 있을 것으로 보입니다. #80783 (zoomxi). #* get_member_id()가 NULL에서 std::string을 생성하던 동작으로 인해 발생한 Kafka 크래시를 수정했습니다(브로커 연결이 실패한 경우에만 나타나던 문제였을 가능성이 큽니다). #80793 (Azat Khuzhin).
  • Kafka 엔진을 종료하기 전에 consumer를 적절히 await하도록 했습니다(종료 후 활성 consumer가 남아 있으면 여러 디버그 assertion이 트리거될 수 있고, 테이블이 drop/detach된 이후에도 백그라운드에서 브로커에서 데이터를 계속 읽는 일이 발생할 수 있습니다). #80795 (Azat Khuzhin).
  • predicate-push-down 최적화로 인해 발생하는 NOT_FOUND_COLUMN_IN_BLOCK 오류를 수정합니다. #80443을(를) 해결합니다. #80834 (Nikolai Kochetov).
  • USING을 사용하는 JOIN에서 테이블 함수의 별표(*) 매처를 해석할 때 발생하던 논리 오류를 수정합니다. #80894 (Vladimir Cherkasov).
  • Iceberg 메타데이터 파일 캐시의 메모리 사용량 산정을 수정합니다. #80904 (Azat Khuzhin).
  • 널 허용 파티션 키 사용 시 잘못된 파티션 구성이 발생하던 문제를 수정했습니다. #80913 (Pervakov Grigorii).
  • 소스 테이블이 이니시에이터에 존재하지 않을 때, 프레디케이트 푸시다운(allow_push_predicate_ast_for_distributed_subqueries=1)이 적용된 분산 쿼리에서 발생하던 Table does not exist 오류를 수정합니다. #77281을(를) 수정합니다. #80915 (Nikolai Kochetov).
  • 이름이 지정된 윈도우를 사용하는 중첩 함수에서 발생하던 논리 오류를 수정합니다. #80926 (Pervakov Grigorii).
  • 널 허용 및 부동 소수점 컬럼에 대한 extremes 처리를 수정합니다. #80970 (Pervakov Grigorii).
  • system.tables에서 쿼리할 때 발생할 수 있는 크래시(특히 메모리 부족 상황에서)를 수정합니다. #80976 (Azat Khuzhin).
  • 파일 확장자로부터 압축 방식이 추론되는 파일에 대해 truncate와 함께 사용하는 원자적 rename 동작을 수정합니다. #80979 (Pablo Marcos). #* ErrorCodes::getName을 수정합니다. #81032 (RinChanNOW).
  • Unity Catalog에서 사용자가 모든 테이블에 대한 권한이 없을 때 테이블 목록을 조회할 수 없던 버그를 수정했습니다. 이제 모든 테이블이 올바르게 나열되며, 접근이 제한된 테이블에서 읽기를 시도하면 예외를 발생시킵니다. #81044 (alesapin).
  • 이제 ClickHouse는 SHOW TABLES 쿼리 실행 시 데이터 레이크 카탈로그에서 발생하는 오류와 예기치 않은 응답을 무시합니다. #79725 문제를 수정합니다. #81046 (alesapin).
  • JSONExtract에서 정수 값을 DateTime64로 파싱하는 동작과 JSON 타입 파싱을 수정했습니다. #81050 (Pavel Kruglov).
  • date_time_input_format 설정이 스키마 추론 캐시에 반영되도록 수정했습니다. #81052 (Pavel Kruglov).
  • INSERT 작업 중, 쿼리가 시작된 이후 컬럼이 전송되기 전에 테이블이 DROP되어 크래시가 발생하던 문제를 수정합니다. #81053 (Azat Khuzhin).
  • quantileDeterministic 함수에서 초기화되지 않은 값을 사용하는 문제를 수정합니다. #81062 (Azat Khuzhin).
  • metadatastoragefromdisk 디스크 트랜잭션의 하드 링크 개수 관리를 수정하고 테스트를 추가합니다. #81066 (Sema Checherinda).
  • User Defined Function(UDF) 이름은 다른 함수와 달리 system.query_log 테이블에 기록되지 않습니다. 이 PR에서는 요청에서 UDF가 사용된 경우, 해당 UDF 이름을 used_executable_user_defined_functions 또는 used_sql_user_defined_functions 두 컬럼 중 하나에 기록하도록 했습니다. #81101 (Kyamran).
  • HTTP 프로토콜을 통한 텍스트 포맷(JSON, Values 등)을 사용한 INSERT에서 Enum 필드가 생략된 경우 발생하던 Too large size ... passed to allocator 오류 또는 잠재적인 충돌을 수정했습니다. #81145 (Anton Popov).
  • non-MT MV로 전달되는 INSERT 블록에 희소 컬럼이 있을 때 발생하던 LOGICAL_ERROR를 수정합니다. #81161 (Azat Khuzhin).
  • distributed_product_mode_local=local에서 교차 복제를 사용할 때 발생하는 Unknown table expression identifier 오류를 수정합니다. #81162 (Nikolai Kochetov).
  • 필터링 후 Parquet 파일의 행 수를 잘못 캐시하던 문제를 수정했습니다. #81184 (Michael Kolupaev).
  • fs 캐시에서 상대 캐시 경로를 사용할 때 max_size_to_total_space SETTING이 올바르게 동작하도록 수정합니다. #81237 (Kseniia Sumarokova).
  • Parquet 형식으로 const 튜플이나 맵을 출력할 때 clickhouse-local이 충돌하던 문제를 수정했습니다. #81249 (Michael Kolupaev).
  • 네트워크를 통해 수신된 배열 오프셋을 검증합니다. #81269 (Azat Khuzhin).
  • 빈 테이블을 조인하고 윈도우 함수(window functions)를 사용하는 쿼리에서 발생하는 일부 특수 경우를 수정합니다. 이 버그로 인해 병렬 스트림의 수가 폭증하여 OOM이 발생할 수 있었습니다. #81299 (Alexander Gololobov).
  • 데이터 레이크 Cluster 함수(deltaLakeCluster, icebergCluster 등)에 대한 수정 사항: (1) 이전 analyzer와 함께 Cluster 함수를 사용할 때 DataLakeConfiguration에서 발생할 수 있는 segfault 수정; (2) 중복된 데이터 레이크 메타데이터 업데이트 제거(불필요한 객체 스토리지 요청 제거); (3) 포맷이 명시적으로 지정되지 않은 경우 객체 스토리지에서의 불필요한 listing 작업 수정(이는 클러스터가 아닌 데이터 레이크 엔진에서는 이미 처리되어 있었습니다). #81300 (Kseniia Sumarokova).
  • force_restore_data 플래그가 손실된 Keeper 메타데이터를 복구하도록 수정했습니다. #81324 (Raúl Marín).
  • delta-kernel의 region 오류를 수정합니다. #79914 이슈를 해결합니다. #81353 (Kseniia Sumarokova).
  • divideOrNull에 적용되던 잘못된 JIT을 비활성화합니다. #81370 (Raúl Marín).
  • 긴 파티션 컬럼 이름을 가진 MergeTree 테이블에서 발생하던 INSERT 오류를 수정합니다. #81390 (hy123q).
  • 여러 개의 manifest 파일 내용을 메모리에 한꺼번에 저장하지 않도록 했습니다. #81470 (Daniil Ivanik).
  • 백그라운드 풀을 종료할 때(background_.*pool_size) 발생할 수 있던 충돌을 수정했습니다. #81473 (Azat Khuzhin).
  • URL 엔진을 사용하는 테이블에 쓸 때 발생하던 Npy 포맷의 범위를 벗어난 읽기(out-of-bounds read)를 수정합니다. 이로써 #81356 이슈가 해결됩니다. #81502 (Alexey Milovidov).
  • Web UI에 NaN%가 표시될 수 있습니다(일반적인 JavaScript 문제). #81507 (Alexey Milovidov).
  • database_replicated_enforce_synchronous_settings=1인 경우의 DatabaseReplicated 동작을 수정했습니다. #81564 (Azat Khuzhin).
  • LowCardinality(Nullable(...)) 타입의 정렬 순서를 수정합니다. #81583 (Pervakov Grigorii).
  • 요청을 소켓에서 완전히 읽지 못한 경우 서버가 HTTP 연결을 유지하지 않도록 수정했습니다. #81595 (Sema Checherinda).
  • 스칼라 상관 서브쿼리가 프로젝션 표현식의 결과를 널 허용으로 반환하도록 했습니다. 상관 서브쿼리가 빈 결과 집합을 반환하는 경우를 수정했습니다. #81632 (Dmitry Novik).
  • ReplicatedMergeTree에 대한 ATTACH 연산 중 발생하는 Unexpected relative path for a deduplicated part 오류를 수정합니다. #81647 (Azat Khuzhin).
  • 쿼리 설정인 use_iceberg_partition_pruning은 쿼리 컨텍스트가 아닌 전역 컨텍스트를 사용하기 때문에 Iceberg 스토리지에는 적용되지 않습니다. 기본값이 true이므로 중요한 문제는 아닙니다. 이 PR에서 해당 문제가 수정되었습니다. #81673 (Han Fei).
  • MergeTree 설정인 merge_max_block_size가 0이 아닌 값만 허용하도록 검증을 추가했습니다. #81693 (Bharat Nallan).
  • 진행되지 않고 멈춰 있는 DROP VIEW 쿼리와 관련된 clickhouse-local 문제를 수정합니다. #81705 (Bharat Nallan).
  • 특정 상황에서 StorageRedis 조인이 올바르게 동작하지 않던 문제를 수정했습니다. #81736 (Pervakov Grigorii).
  • 구 analyzer가 활성화된 상태에서 빈 USING () 구문을 사용할 때 ConcurrentHashJoin에서 발생하던 충돌을 수정합니다. #81754 (Nikita Taranov).
  • Keeper 수정: 로그에 잘못된 항목이 있을 경우 새 로그 커밋을 차단합니다. 이전에는 리더가 일부 로그를 잘못 적용했더라도, 팔로워가 다이제스트 불일치를 감지하고 처리를 중단했음에도 불구하고 계속해서 새 로그를 커밋했습니다. #81780 (Antonio Andelic).