Projet

Général

Profil

Anomalie #4305

[SearchDoc] Un count exécuté avant le search corrompt le count exécuté après le search

Ajouté par Charles Bonnissent il y a environ 6 ans. Mis à jour il y a presque 6 ans.

Statut:
Intégré
Priorité:
Normal
Assigné à:
Version cible:
Début:
19/11/2013
Echéance:
% réalisé:

100%

Version source:
Solution proposée:

L'exécution du count avant le search ne devrait pas être stockée dans le cache.

Principaux fichiers impactés:
Complexité:
Contrôle:
Thème:
Régression:
Non
Jalons: 3.2 R6

Description

Soit le code suivant :

<?php
function zoo_color(Action & $action)
{
    header('Content-Type: text/plain');

    $searchDoc = new searchDoc();
    $searchDoc->setObjectReturn();

    $searchDoc->addFilter("title = 'Rotor'");

    var_export($searchDoc->count());
    print "\n";
    var_export($searchDoc->getSearchInfo());

    $searchDoc->search();

    var_export($searchDoc->count());
    print "\n";
    var_export($searchDoc->getSearchInfo());
}

On obtient le résultat suivant :

0
''0
array (
  'count' => 1,
  '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) and (title = \'Rotor\') ORDER BY title LIMIT ALL OFFSET 0;',
  'error' => '',
  'delay' => '0.006s',
)

Si on commente le premier count :

function zoo_color(Action & $action)
{
    header('Content-Type: text/plain');

    $searchDoc = new searchDoc();
    $searchDoc->setObjectReturn();

    $searchDoc->addFilter("title = 'Rotor'");

    //var_export($searchDoc->count());
    print "\n";
    var_export($searchDoc->getSearchInfo());

    $searchDoc->search();

    var_export($searchDoc->count());
    print "\n";
    var_export($searchDoc->getSearchInfo());
}
''1
array (
  'count' => 1,
  '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) and (title = \'Rotor\') ORDER BY title LIMIT ALL OFFSET 0;',
  'error' => '',
  'delay' => '0.004s',
)

Demandes liées

Lié à Core - Anomalie #4303: [SearchDoc] search retour incohérent Intégré 18/11/2013
Lié à Core - Evolution #4302: [SearchDoc] onlyCount fonctionne différemment avant et après le lancement de la méthode search Résolu 18/11/2013

Historique

#1 Mis à jour par Marc Claverie il y a environ 6 ans

  • Statut changé de Nouveau à À analyser
  • Assigné à mis à Éric Brison
  • Version cible mis à 3.2.12

#2 Mis à jour par Éric Brison il y a presque 6 ans

  • Statut changé de À analyser à Intégré
  • % réalisé changé de 0 à 100

Appliqué par commit commit:2cdc792c11570112264f8b8f2f4753194d1aae36.

Formats disponibles : Atom PDF