Bonjour @Pierre LaFay , je profite de cet article pour partagé un problème que nous avons tout récemment rencontré. le paramètre MAXLEN comme ci-dessous:
Property PropertyName As %String (MAXLEN = "");
signifie "pas de limite", c'est à dire la longueur max d'une chaine.
Via le JDBC, ce MAXLEN="" ne semble pas interprété comme en ObjectScript, vous pouvez donc aussi avoir des données tronquées. Dans ce cas d'utilisation, il vaut mieux utiliser un MAXLEN avec une grande valeur (ex : MAXLEN = 3000000) que "". Il s'agit probablement que d'un petit bug au niveau du driver, j'ouvrirai peut être un WRC à ce sujet prochainement.
Merci pour cette notification @Adeline Icard ,
Je viens juste de finir une série de mise à jour en version 2023.1.3 😅
Je ne sais pas dans quelle mesure nous pourrions être exposé à cette memory leak et vais conseiller d'attendre une version 2023.1.4 pour les systèmes de production dans l'attente d'en savoir plus.
Edit: Comme c'est limité à AIX, pas d'impact de mon coté.
![InterSystems IRIS Core Solutions Developer Specialist](https://images.credly.com/images/44ad9e06-ae9e-4b13-9eb2-545da56031cc/image.png)
![InterSystems Developer Community Legend](https://images.credly.com/images/550aa728-eaa7-46c6-a222-706228b031c3/image.png)
![InterSystems Developer Community Moderator](https://images.credly.com/images/288a3661-72e9-4275-a943-063ae9e7910f/image.png)
![Popular writer](https://community.intersystems.com/sites/default/files/badges/poular_writer.png)
![Blogger Badge](https://community.intersystems.com/sites/default/files/badges/blogger_badge_0.png)
![Reporter Badge](https://community.intersystems.com/sites/default/files/badges/reporter_badge_0.png)
![Curious Member](https://community.intersystems.com/sites/default/files/badges/curious_member_badge.png)
![Insightful Author](https://community.intersystems.com/sites/default/files/badges/297760167-e550c050-8b02-41e7-a41a-e482b4bad66f.png)
![Developer Community Moderator](https://community.intersystems.com/sites/default/files/badges/developer_community_moderator.png)
![Global Master of the Month](https://community.intersystems.com/sites/default/files/badges/gm_of_the_month_copy.png)
Bonsoir Julia,
Si vous renvoyez toujours le json avec la liste tPrinter complète, le plus simple serait de faire un clear de la liste et la recharger, ex :
ClassMethod TestUpdate() As %Status { Set tSC = $$$OK Set json = { "NomPoste":"Poste", "tPrinter": [ { "NomService":"Petite", "NomImprimante":"EPFR_12" }, { "NomService":"Grande", "NomImprimante":"modif" } ] } Set id = 1 Set tSC = ..UpdatePoste(id, json) Return tSC } ClassMethod UpdatePoste(id As %Integer, json As %DynamicObject) As %Status { Set poste = ##class(Epc.conf.poste).%OpenId(id, , .tSC) If $$$ISERR(tSC) Return tSC Do poste.tPrinter.Clear() ; supprime le contenu actuel de la liste tPrinter Do poste.%JSONImport(json) Set tSC = poste.%Save() Return tSC }
Est-ce que cela peut vous aider ?