프로젝트 소개

rudb-compat은 rudb 데이터베이스의 DuckDB 호환성을 검증하기 위해 설계된 포괄적인 테스트 하네스입니다. 실제 DuckDB 바이너리에 대해 차등 실행을 수행함으로써 호환성 주장을 측정 가능한 데이터로 전환합니다. 이 스위트는 네 가지 서로 다른 수준에서 적합성을 평가합니다: 데이터 호환성(스토리지 형식 충실도), 쿼리 호환성(SQL 방언 커버리지), API 호환성(C ABI 준수), 생태계 호환성(확장 및 와이어 프로토콜). 주요 기능은 다음과 같습니다: - **차등 실행**: 동일한 쿼리에 대해 rudb와 DuckDB의 결과를 비교하여 동작 동등성을 보장합니다. - **가중 커버리지**: 단순한 코드 커버리지가 아닌 사용량 가중 지표를 사용하여 SQL 함수 및 문장 지원을 평가합니다. - **자동 이분 탐색**: 실패한 쿼리를 자동으로 축소하고 이분 탐색하여 불일치를 일으키는 특정 옵티마이저 패스나 로직 오류를 식별합니다. - **코퍼스 통합**: DuckDB의 공식 `sqllogictest` 코퍼스, ClickBench 벤치마크, 생성/변형 쿼리에 대해 실행하여 엣지 케이스를 찾습니다. - **엄격한 버전 관리**: 드리프트를 방지하기 위해 단순 버전 문자열이 아닌 고정된 DuckDB 커밋 해시와 비교를 보장합니다. 이 도구는 완전한 DuckDB 호환성을 향한 진행 상황을 추적하려는 rudb 유지 관리자와 마이그레이션 안전성을 검증하려는 사용자를 위한 것입니다. 메인 구현으로부터 독립성을 유지하고 신뢰 없는 검증을 허용하기 위해 별도의 저장소로 운영됩니다.