Development #63608
csv, filtrer avec postgresql pour les cas simples
Début:
05 avril 2022
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Les cas simples :
/data/?column-name=foo
/query/xyz/?column-name=foo
où la colonne id existe (pas de projection)/query/xyz/?id=foo
où là colonneid
est une projection simple du genreid:column-name
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
- Fichier 0001-csvdatasource-use-SQL-for-simple-filters-63608.patch 0001-csvdatasource-use-SQL-for-simple-filters-63608.patch ajouté
- Tracker changé de Support à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Au passage j'ajoute un index GIN sur la colonne JSONB "data", ça devrait grandement accélérer les cas "id=foo" (mais même sans ça, ça ira beaucoup plus vite).
PS: cet index ne nécessite pas d'extension, jsonb_path_ops
est natif au moins depuis la 9.6 (https://www.postgresql.org/docs/9.6/gin-builtin-opclasses.html)
PS2: l'index exige d'utiliser l'opérateur @>
et pas ->
, donc data__contains={"id": ...}
plutôt que data__id=...
avec l'ORM de Django
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
- Fichier 0001-csvdatasource-use-SQL-for-simple-filters-63608.patch 0001-csvdatasource-use-SQL-for-simple-filters-63608.patch ajouté
J'ai remis la couverture du code pour le filtre ?id=foo
en python.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
- Fichier 0001-csvdatasource-use-SQL-for-simple-filters-63608.patch 0001-csvdatasource-use-SQL-for-simple-filters-63608.patch ajouté
- Statut changé de Solution validée à Solution proposée
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
- Statut changé de Solution proposée à Résolu (à déployer)
commit 68f135e827805f7656645e4c37e124294f511152 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Tue Apr 5 19:42:21 2022 +0200 csvdatasource: use SQL for simple filters (#63608)
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
Frédéric Péters a écrit :
C'est le même patch (erreur?).
Oui PBKAC, j'ai fait git sub
au lieu de git mp
.
Mis à jour par Transition automatique il y a environ 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Valentin Deniaud il y a presque 2 ans
- Lié à Bug #64788: IntegrityError: duplicate key value violates unique constraint "csvdatasource_tablerow_resource_id_line_number_7f... ajouté
csvdatasource: use SQL for simple filters (#63608)