View Trackers | Bugs | Export CSV

Date:
2025-12-18 11:03
Priority:
5
State:
Closed
Submitted by:
Nathanaël Houn (nathanaelhoun)
Assigned to:
Nathanaël Houn (nathanaelhoun)
Sévérité:
enhancement
Version cible:
4.11.0
Version concernée:
4.10.0
Summary:
Optimisation de la construction d'objet dbForm en mode création

Detailed description
Sur une base avec énormément de ligne, la construction d'objet `om_dbform` en "mode création" est très lente.

En raison, la partie `init_record_data` exécute une requête SQL même pour un nouvel objet.
Cette requête permet de récupérer les noms des colonnes en base de données pour la table utilisée.

La requête actuelle sélectionne une ligne dans la base, qui n'est pas utilisée par la suite puisqu'on initialise un nouvel objet.
La sélection de cette ligne est souvent gérée par une requête SQL qui contient un ORDER BY et un LIMIT 1, mais sans clause WHERE restrictive, ce qui peut provoquer un gros tri côté base de données avant de retourner une ligne, qui sera jetée par la suite.

La solution est de modifier la requête SQL pour ne retourner aucune ligne et de garder l'initialisation de l'objet vide à partir des noms des colonnes.
Ainsi, la requête est toujours rapide (aucune ligne de retournée), mais le comportement n'est pas du tout changé.
Message  ↓
Date: 2026-01-05 11:26
Sender: Nathanaël Houn

L'implémentation de ce ticket en 4.11.0-a12 introduit une régression.

No attached documents

Field Old Value Date By
status_idOpen2026-01-30 12:42Sofien TIMEZOUAGHT
close_dateNone2026-01-30 12:42Sofien TIMEZOUAGHT
status_idClosed2026-01-05 11:26Nathanaël Houn
close_date2025-12-24 17:302026-01-05 11:26Nathanaël Houn
priority12026-01-05 11:26Nathanaël Houn
status_idOpen2025-12-24 17:30Sofien TIMEZOUAGHT
close_dateNone2025-12-24 17:30Sofien TIMEZOUAGHT
FEDER Powered By FusionForge Collaborative Development Environment Charte d'utilisation / Nous contacter / Mentions légales Haut de page