À propos du projet
rudb-compat est un harnais de test complet conçu pour vérifier la compatibilité de la base de données rudb avec DuckDB. Il transforme les affirmations de compatibilité en données mesurables en exécutant des exécutions différentielles contre un véritable binaire DuckDB. La suite évalue la conformité selon quatre niveaux distincts : compatibilité des données (fidélité du format de stockage), compatibilité des requêtes (couverture du dialecte SQL), compatibilité de l'API (respect de l'ABI C) et compatibilité de l'écosystème (extensions et protocole de communication).
Les fonctionnalités clés incluent :
- **Exécution différentielle** : Compare les résultats de rudb et DuckDB sur des requêtes identiques pour garantir la parité comportementale.
- **Couverture pondérée** : Utilise des métriques pondérées par l'usage plutôt qu'une simple couverture de code pour évaluer la prise en charge des fonctions et instructions SQL.
- **Bissection automatisée** : Réduit et bissecte automatiquement les requêtes en échec pour identifier les passes d'optimisation ou les erreurs logiques spécifiques à l'origine des divergences.
- **Intégration de corpus** : S'exécute contre le corpus officiel `sqllogictest` de DuckDB, les benchmarks ClickBench, ainsi que des requêtes générées/métamorphiques pour trouver des cas limites.
- **Contrôle strict des versions** : Garantit que les comparaisons sont effectuées par rapport à un hash de commit DuckDB épinglé, et non simplement à des chaînes de version, afin d'éviter toute dérive.
L'outil est destiné aux développeurs qui maintiennent rudb pour suivre les progrès vers une compatibilité totale avec DuckDB, ainsi qu'aux utilisateurs qui vérifient la sécurité d'une migration. Il fonctionne comme un dépôt séparé afin de préserver son indépendance vis-à-vis de l'implémentation principale et de permettre une vérification sans confiance.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.