From 4973ee4e140b214bcb7893015d30877efbed5402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20L=C3=A9cluse?= <laurent.lecluse@unicaen.fr> Date: Mon, 16 Nov 2020 16:55:32 +0100 Subject: [PATCH] =?UTF-8?q?Nouvelle=20opimisation=20au=20niveau=20du=20cal?= =?UTF-8?q?cul=20des=20demandes=20:=20on=20les=20supprime=20afin=20d'?= =?UTF-8?q?=C3=A9viter=20qu'une=20requ=C3=AAte=20recalcule=20ce=20qu'un=20?= =?UTF-8?q?lock=20emp=C3=AAche=20de=20supprimer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/ddl/package/UNICAEN_TBL/body.sql | 21 +++++++++++++++++---- data/ddl/table/TBL_DEMS.php | 2 +- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/data/ddl/package/UNICAEN_TBL/body.sql b/data/ddl/package/UNICAEN_TBL/body.sql index c0e51ac8a5..cea84c77d7 100644 --- a/data/ddl/package/UNICAEN_TBL/body.sql +++ b/data/ddl/package/UNICAEN_TBL/body.sql @@ -135,13 +135,26 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS PROCEDURE CALCULER_DEMANDES IS + TYPE t_dems IS TABLE OF tbl_dems%rowtype INDEX BY PLS_INTEGER; + dems t_dems; + i NUMERIC DEFAULT 0; BEGIN FOR d IN ( SELECT DISTINCT tbl_name, param, value FROM tbl_dems - ) - LOOP - calculer(d.tbl_name, d.param, d.value); - END LOOP; + ) LOOP + i := i + 1; + dems(i).tbl_name := d.tbl_name; + dems(i).param := d.param; + dems(i).value := d.value; + END LOOP; + DELETE FROM TBL_DEMS; + + i := dems.FIRST; + LOOP EXIT WHEN i IS NULL; + calculer(dems(i).tbl_name, dems(i).param, dems(i).value); + + i := dems.NEXT(i); + END LOOP; IF HAS_DEMANDES THEN -- pour les boucles !! CALCULER_DEMANDES; diff --git a/data/ddl/table/TBL_DEMS.php b/data/ddl/table/TBL_DEMS.php index d3be274fd7..9ea95194a6 100644 --- a/data/ddl/table/TBL_DEMS.php +++ b/data/ddl/table/TBL_DEMS.php @@ -5,7 +5,7 @@ return [ 'name' => 'TBL_DEMS', 'temporary' => FALSE, - 'logging' => TRUE, + 'logging' => FALSE, 'commentaire' => NULL, 'sequence' => 'TBL_DEMS_ID_SEQ', 'columns' => [ -- GitLab