feat(api): ajoute l'opérateur de filtre differs (IS DISTINCT FROM) (#78)

Implémente l'opérateur de filtre `differs` qui génère un fragment SQL
`IS DISTINCT FROM` pour exclure des valeurs en tenant compte des NULL.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Colin Maudry
2026-06-22 13:55:18 +02:00
parent f5db674e22
commit 2a8e82ccd6
3 changed files with 26 additions and 0 deletions
+4
View File
@@ -6,6 +6,7 @@ OPERATORS = {
"exact",
"contains",
"notcontains",
"differs",
"less",
"greater",
"strictly_less",
@@ -132,6 +133,9 @@ def build_where(
elif op == "notcontains":
where_parts.append(f'"{col}" NOT LIKE ?')
params.append(f"%{v}%")
elif op == "differs":
where_parts.append(f'"{col}" IS DISTINCT FROM ?')
params.append(v)
where_sql = " AND ".join(where_parts) if where_parts else "TRUE"
order_sql = ", ".join(order_parts) if order_parts else None