Subversion Repositories eFlore/Applications.del

Rev

Rev 1871 | Rev 1881 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1871 Rev 1873
Line 445... Line 445...
445
				$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) ');
445
				$this->addJoin('LEFT JOIN del_observation AS do ON (di.ce_observation = do.id_observation) ');
446
			}
446
			}
447
		}
447
		}
448
	}
448
	}
Line 449... Line -...
449
 
-
 
450
	/** Pour le tri par AVG() des votes nous avons toujours un protocole donné,
-
 
451
	 * celui-ci indique sur quels votes porte l'AVG.
-
 
452
	 * (c'est un *vote* qui porte sur un protocole et non l'image elle-même)
-
 
453
	 * TODO: perf problème:
-
 
454
	 * 1) SQL_CALC_FOUND_ROWS: fixable en:
-
 
455
	 * - dissociant le comptage de la récup d'id + javascript async
-
 
456
	 * - ou ne rafraîchir le total *que* pour les requête impliquant un changement de pagination
-
 
457
	 * (paramètre booléen "with-total" par exemple)
-
 
458
	 * 2) jointure forcées: en utilisant `del_imagè`, nous forçons les 2 premiers
-
 
459
	 * JOIN sur cel_obs_images et cel_obs pour filtrer sur "transmission".
-
 
460
	 * Dénormaliser cette valeur et l'intégrer à `cel_images` ferait économiser cette couteuse
-
 
461
	 * jointure, ... lorsqu'aucun masque portant sur `cel_obs` n'est utilisé
-
 
462
	 * 3) non-problème: l'ordre des joins est forcé par l'usage de la vue:
-
 
463
	 * (cel_images/cel_obs_images/cel_obs/del_image_stat)
-
 
464
	 * Cependant c'est à l'optimiseur de définir son ordre préféré.
-
 
465
	 */
449
 
466
	private function ajouterContrainteTri() {
450
	private function ajouterContrainteTri() {
467
		if (isset($this->parametres['tri'])) {
451
		if (isset($this->parametres['tri'])) {
Line 468... Line 452...
468
			$tri = $this->parametres['tri'];
452
			$tri = $this->parametres['tri'];