DuckDB가 2026년 9월 28일 1.5.6을 발표했다. 1.5(Variegata) 계열의 여섯 번째 패치 릴리스다.
발표문의 정확성 항목에는 13건의 수정이 실렸다. 휘발성 프로젝션을 거치는 LIMIT 푸시다운, UNION ALL 분기가 조인 하위 트리를 공유할 때의 잘못된 결과 등이 들어 있다.
체크포인트 마커 복구 실패와, WAL 복구 중 메인 WAL 핸들을 닫지 않고 덮어쓰던 문제도 고쳤다. WAL은 변경 내용을 먼저 기록해 두는 로그 파일이다.
그래서 쿼리가 실행됐다는 사실만으로 이전을 통과시키기는 어렵다. 이는 발표된 수정 내용이며 이 기사가 버그를 재현한 결과는 아니다.
반환·저장 데이터의 의미를 바꾸는 두 수정
릴리스 노트에서 회귀 입력으로 남겨 둘 만한 사례는 두 가지다. 아주 긴 정수 리터럴을 HUGEINT로 처리할 때의 조용한 잘림, 그리고 Parquet의 TIME_NS 값 읽기·쓰기다.
HUGEINT는 128비트 정수형이고, TIME_NS는 나노초 단위 시간 값이다.
두 문제 모두 실행 속도가 아니라 반환하거나 파일에 저장하는 데이터의 의미에 관한 것이다. 오류 없이 끝난 쿼리가 다른 값을 돌려줄 수 있다는 뜻이다.
주의할 점: 2.0.0 날짜는 잠정이다
릴리스 달력은 2.0.0을 2026년 10월 21일, 2.0.1을 11월 18일로 잡고 있다. 같은 페이지는 이 날짜들이 잠정이며 안정성과 품질을 위해 미뤄질 수 있다고 적었다.
다음 메이저 버전은 별도의 경로다. 출시 보장도 아니고, 이번 1.5 유지보수 판단을 대신하는 일정도 아니다.
값·null·행 수부터 보는 업그레이드 비교
배포 전에 현재 버전과 1.5.6에 작은 대표 데이터셋을 통과시키고 값, null 처리, 행 수를 비교하는 것이 첫 단계다.
예상 밖 차이는 회귀 입력으로 남긴다. 성능이 중요하면 실행 시간은 그다음에 잰다.
이는 제안하는 점검이며 이 기사의 성능 벤치마크는 아니다. 2.0 개발 빌드 평가는 별도로 다룬다.
정확성 수정이 실린 패치에서 먼저 확인할 것은 더 빨라진 쿼리가 아니라 같은 입력이 같은 값을 돌려주는지다.