[spip] 2 commits

spip/spip | 2 commits

Par Cerdic, le 15 octobre 2021 à 15h33min :

Refactoring de la traduction des conditions SQL du where en filtres applicables sur tableau : tout le travail etait fait dans un double foreach au milieu d’une fonction, on eclate en composer/traduire/assembler qui rendent le code plus comprehensible et plus facile a faire evoluer

Modifié
ecrire/public/iterateur.php

Détails : Refactoring de la traduction des conditions SQL du where en filtres applicables sur tableau : tout le travail etait fait dans un double foreach au milieu d'une fonction, on eclate en composer/traduire/assembler qui rendent le code plus comprehensible et plus facile a faire evoluer · 0f223c1165 - spip - SPIP on GIT

==============================
Par Cerdic, le 15 octobre 2021 à 15h55min :

Support des conditions imbriquees OR/AND dans la traduction du where SQL en filtre sur DATA :

  • lors de la traduction, on repere les operateurs AND et OR, et on traduit les 2 conditions associees de maniere recursive pour rendre un tableau de filtres precedes d’un AND ou OR (au passage on optimise les cas triviaux de type ‹ …OR true › et ‹ … AND false ›)
  • lors de l’assemblage, on concatene de maniere recursive les tableaux de filtres avec l’operateur approprie (le premier niveau etant toujours un AND)

Modifié
ecrire/public/iterateur.php

Détails : Support des conditions imbriquees OR/AND dans la traduction du where SQL en filtre sur DATA : · a07606608c - spip - SPIP on GIT