Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Add tests for IN-list filter pruning and NOT filter behavior

Ouverte
#124 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
47/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python, rust
Domaine
databases, testing

Piste de recherche

Start by locating the TestFilterPushdown suite and the Rust in_list_excludes() method mentioned in the issue. Add regression coverage for IN-list partition pruning and both NOT comparison cases, using the four-partition example as a guide. Done means the tests verify that only partitions whose ranges may contain matching values are read.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement

Problem

The TestFilterPushdown suite is missing coverage for two cases:

1. IN-list pruning

The Rust in_list_excludes() method is implemented but never exercised by tests. A test should verify that WHERE dim IN (v1, v2) prunes partitions where none of v1, v2 fall within the partition range.

Example: 4 time partitions, WHERE time IN ('2020-01-05', '2020-01-10') should read only partition 0.

2. NOT filter behavior

The Expr::Not arm previously had a correctness bug (now fixed). A regression test should verify:

  • NOT (col > X) correctly includes partitions containing values ≤ X
  • NOT (col < X) correctly includes partitions containing values ≥ X

Why now

Adding these tests serves as a regression guard to confirm that the Expr::Not fix remains correct and that IN-list pruning works as advertised. Without them, future changes to the pruning logic could silently regress.

Langage dominant
Python
Étoiles
142
Forks
19
Merge moyen
1 j 9 h
PR mergées (30 j)
9

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de xqlsystems/xarray-sql

Toutes les issues de xqlsystems/xarray-sql

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.