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