Chaine circulaire

Le CSM reporte cette erreur sur un data :
« problème dans la table xxx : la chaine de suppression des enregistrements est circulaire »
J’imagine qu’il faut réparer ?
(et si on peut me dire ce que ça signifie ce serait encore mieux)

Après réparation, l’erreur est devenue un avertissement !??

J’imagine que tu dois avoir une chaine de lien circulaire avec suppression des enregistrements liés.

Ce n’est peut-être pas grave tant que tes liens ne sont pas automatiques… ce qui pourrait bien expliqué le simple warning.

Hello Maurice,
les liens ne sont pas automatiques (je pourrais dire jamais). J’imagine que c’est quelque chose dans les règles d’intégrité. Normalement je n’utilise jamais “Supprimer les enregistrements liés”, je préfère gérer par le code. J’ai par contre très souvent “Suppression impossible si enregistrements liés”, du genre ultime garde fou géré par le moteur. Va falloir que j’examine ces fichus liens…

Bonjour,

Compte tenu des liens créés pour les grosses bases (+ de 150 tables…) , il est fort probable que ces liens s’entremêlent et créent des nœuds. Pour ce qui me concerne, j’ai toujours été partisan de l’attribut “Pas d’intégrité référentielle” avec un gestion des suppressions dans le code. Dans la mesure où les suppressions sont relativement rares et que d’un point de vue utilisateurs il n’y a jamais de suppression de masse, j’utilise les triggers, malgré les réserves des 4D SAS Men.

: Eric JUHEL

'ai toujours été partisan de l’attribut “Pas d’intégrité
référentielle” avec un gestion des suppressions dans le code.
L’un n’empêche pas l’autre : le code est sensé faire le travail métier en amont, le moteur celui d’intégrité en aval. Petit exemple vécu hier : je lance du code qui créé des enregistrements, je supprime derrière ce que je crois avoir créé en en oubliant une partie : l’intégrité référentielle m’a immédiatement rappelé à l’ordre. Dans cette base qui n’avait au départ aucune intégrité référentielle, j’ai activé à peu près partout l’interdiction de supprimer s’il y a des fils ; grâce à quoi on a rapidement décelé et corrigé les suppressions mal ficelées du code original. Je n’ai pas noté d’impact sur les perfs. Dans d’autres bases où j’utilise également ce réglage d’intégrité, jamais je n’ai eu à m’en plaindre, au contraire.

Cette “erreur” au premier passage CSM est devenue “avertissement” au second passage, puis a fini par disparaître. Elle était signalée sur une des rares table (bordereau) où il n’y a pas d’intégrité sur les 2 liens qu’elle reçoit, et c’était l’analyse du data, pas de la structure, qui remontait ce message. De mémoire, ce devait être une des deux signalées https://doc.4d.com/4Dv17/4D/17/Erreurs-de-la-base-de-donnees-10602-4004.300-3729648.fr.htmlici>, 1254 ou 1255. Apparemment rien à voir avec les relations.