Actions
Pour améliorer le temps de filtrage dans l'interface de SICEN Web sur les observateurs et les structures, voici les modifications à apporter.
En base :¶
ALTER TABLE saisie.saisie_observation ADD COLUMN observateurs_pour_tri text; ALTER TABLE saisie.saisie_observation ADD COLUMN structures_pour_tri text; ALTER TABLE saisie.suivi_saisie_observation ADD COLUMN observateurs_pour_tri text; ALTER TABLE saisie.suivi_saisie_observation ADD COLUMN structures_pour_tri text; CREATE INDEX observateurs_pour_tri_index ON saisie.saisie_observation USING gist (observateurs_pour_tri COLLATE pg_catalog."default" gist_trgm_ops); CREATE INDEX structures_pour_tri_index ON saisie.saisie_observation USING gist (structures_pour_tri COLLATE pg_catalog."default" gist_trgm_ops); CREATE OR REPLACE FUNCTION saisie.alimente_observateurs_pour_tri() RETURNS trigger AS $BODY$ BEGIN NEW.observateurs_pour_tri = md.liste_nom_auteur(NEW.observateur); RETURN NEW; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; CREATE TRIGGER alim_observateurs_pour_tri BEFORE INSERT OR UPDATE OF observateur ON saisie.saisie_observation FOR EACH ROW EXECUTE PROCEDURE saisie.alimente_observateurs_pour_tri(); CREATE OR REPLACE FUNCTION saisie.alimente_structures_pour_tri() RETURNS trigger AS $BODY$ BEGIN NEW.structures_pour_tri = md.liste_nom_structure(NEW.structure); RETURN NEW; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; CREATE TRIGGER alim_structures_pour_tri BEFORE INSERT OR UPDATE OF structure ON saisie.saisie_observation FOR EACH ROW EXECUTE PROCEDURE saisie.alimente_structures_pour_tri(); UPDATE saisie.saisie_observation SET structures_pour_tri = md.liste_nom_structure(structure), observateurs_pour_tri = md.liste_nom_auteur(observateur);
Dans l'appli :¶
Dans Modeles/Adaptations/fGrille.php :
[[// $where = str_replace(' observat ', ' md.liste_nom_auteur(observateur) ', $where);
$where = str_replace(' observat ', ' observateurs_pour_tri ', $where);
// $where = str_replace(' struct ', ' md.liste_nom_structure(structure) ', $where);
$where = str_replace(' struct ', ' stuctures_pour_tri ', $where);]]
Dans Modeles/GeoJson/gjObs.php :¶
- remplacer les appels à md.liste_nom_structure(structure) par structures_pour_tri
- remplacer les appels à md.liste_nom_auteur(observateur) par observateurs_pour_tri
Mis à jour par Ludovic Lestrat il y a environ 7 ans · 1 révisions