Projet

Général

Profil

Actions

Evolution #4302

fermé

[SearchDoc] onlyCount fonctionne différemment avant et après le lancement de la méthode search

Ajouté par Charles Bonnissent il y a plus de 12 ans. Mis à jour il y a plus de 12 ans.

Statut:
Résolu
Priorité:
Normal
Assigné à:
Version cible:
Début:
18/11/2013
Echéance:
% réalisé:

100%

Temps estimé:
Version source:
Solution proposée:
Principaux fichiers impactés:
Wiki Détail:
Contrôle:
Thème:

Description

Soit le code suivant :

    $searchDoc = new searchDoc();
    var_export($searchDoc->onlyCount());
    print "\n";
    var_export($searchDoc->getSearchInfo());
    print "\n";
    print "\n";
    $searchDoc->addFilter("title = 'toto'");
    var_export($searchDoc->onlyCount());
    print "\n";
    var_export($searchDoc->getSearchInfo());
    print "\n";
    print "\n";
    $searchDoc = new searchDoc();
    $searchDoc->search();
    var_export($searchDoc->onlyCount());
    print "\n";
    var_export($searchDoc->getSearchInfo());
    print "\n";
    print "\n";
    $searchDoc->addFilter("title = 'toto'");
    var_export($searchDoc->onlyCount());
    print "\n";
    var_export($searchDoc->getSearchInfo());
    print "\n";
    print "\n";

on obtient le résultat suivant :

1493
array (
  'query' => 'select count(docread.id) from  docread  where   (docread.archiveid is null) and (docread.doctype != \'Z\') and (docread.doctype != \'T\') and (docread.locked != -1)',
  'delay' => '0.003s',
)

0
array (
  'query' => 'select count(docread.id) from  docread  where   (docread.archiveid is null) and (docread.doctype != \'Z\') and (docread.doctype != \'T\') and (docread.locked != -1) and (title = \'toto\')',
  'delay' => '0.001s',
)

1493
array (
  'count' => 1493,
  'query' => 'select docread.id, owner, title, revision, version, initid, fromid, doctype, locked, allocated, archiveid, icon, lmodify, profid, usefor, cdate, adate, revdate, comment, classname, state, wid, postitid, domainid, lockdomainid, cvid, name, dprofid, atags, prelid, confidential, ldapdn, values, svalues, attrids  from  docread  where   (docread.archiveid is null) and (docread.doctype != \'Z\') and (docread.doctype != \'T\') and (docread.locked != -1) ORDER BY title LIMIT ALL OFFSET 0;',
  'error' => '',
  'delay' => '0.073s',
)

1493
array (
  'count' => 1493,
  'query' => 'select docread.id, owner, title, revision, version, initid, fromid, doctype, locked, allocated, archiveid, icon, lmodify, profid, usefor, cdate, adate, revdate, comment, classname, state, wid, postitid, domainid, lockdomainid, cvid, name, dprofid, atags, prelid, confidential, ldapdn, values, svalues, attrids  from  docread  where   (docread.archiveid is null) and (docread.doctype != \'Z\') and (docread.doctype != \'T\') and (docread.locked != -1) ORDER BY title LIMIT ALL OFFSET 0;',
  'error' => '',
  'delay' => '0.073s',
)

Le onlyCount ne fonctionne pas de la même manière suivant si la méthode Search a été ou pas exécutée. Si il n'a pas encore été exécutée alors des nouveaux filtres peuvent être ajoutés, si le search a été exécuté alors le résultat est fixé et ne prend plus en compte les nouveaux filtres.


Demandes liées 1 (0 ouverte1 fermée)

Lié à Core - Anomalie #4305: [SearchDoc] Un count exécuté avant le search corrompt le count exécuté après le searchIntégréÉric Brison19/11/2013

Actions

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

  • Tracker changé de Anomalie à Evolution
  • Version cible mis à 3.3.0

Rendre le fonction + clair: phase de préparation > phase de d'exécution

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

  • Assigné à mis à Éric Brison
  • Version cible changé de 3.3.0 à 3.2.12

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

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100
Actions

Formats disponibles : Atom PDF