Projet

Général

Profil

Actions

Anomalie #6987

fermé

[SearchDoc] setSlice et onlyCount ne semblent pas compatibles

Ajouté par Charles Bonnissent il y a presque 9 ans. Mis à jour il y a plus de 8 ans.

Statut:
Intégré
Priorité:
Normal
Assigné à:
Version cible:
Début:
18/05/2017
Echéance:
% réalisé:

100%

Temps estimé:
Version source:
Solution proposée:

Prendre en compte le slice et start dans le onlyCount

Principaux fichiers impactés:
Complexité:
Contrôle:
Thème:
Socle technique
Régression:
Non

Description

$searchDoc->setSlice(1);
$hasOpen= $searchDoc->onlyCount() === 1;

échoue quand j'ai plus de 1 document car il retourne le nombre total sans prendre en compte le slice

Mis à jour par Charles Bonnissent il y a presque 9 ans

Checker aussi les setStart

Mis à jour par Marc Claverie il y a plus de 8 ans

  • Version cible mis à 3.2.23

Mis à jour par Éric Brison il y a plus de 8 ans

  • Assigné à mis à Jérôme Augé
  • Solution proposée mis à jour (diff)

Mis à jour par Jérôme Augé il y a plus de 8 ans

setStart() et setSlice() ne sont effectivement pas pris en compte car le compte est effectué en SQL avec une fonction d'agrégat COUNT, et dans ce cas les directives OFFSET/LIMIT sont appliqués sur le set résultant qui est composé d'un seul tuple avec le résultat du COUNT :

test=> SELECT count(id) FROM doc WHERE title ~ 'foo';
 count 
-------
    10
(1 ligne)

test=> SELECT count(id) FROM doc WHERE title ~ 'foo' OFFSET 0 LIMIT 1;                                                                                        
 count 
-------
    10
(1 ligne)

test=> SELECT count(id) FROM doc WHERE title ~ 'foo' OFFSET 1 LIMIT 1;
 count 
-------
(0 ligne)

Donc, faire un OFFSET/LIMIT n'a pas vraiment de sens avec une fonction d'agrégat COUNT.

Mis à jour par Jérôme Augé il y a plus de 8 ans

  • % réalisé changé de 0 à 100

Mis à jour par Éric Brison il y a plus de 8 ans

  • Statut changé de Nouveau à Intégré

Appliqué par commit internal-platfrom:commit:397a44a54b5168aa0fecf0361b0495459a355d89.

Actions

Formats disponibles : Atom PDF