Avec l’introduction des classes dans l’environnement 4D, la nécessité de stocker vos données dans des objets, et notamment des blobs, a augmenté. C’est pourquoi 4D v19 R2 vous permet d’encapsuler des blobs dans des objets.
Au-delà de l’aspect stockage, l’objet blob étant un type de référence, vos performances en termes d’occupation mémoire et de rapidité seront grandement améliorées.
Vous pouvez maintenant assigner un blob comme attribut d’un objet comme vous le faites pour des nombres, du texte ou d’autres types :
$o:=New object("blob" ; $blob)
ou par conversion implicite :
$o:=New object
$o .blob:=$blob
ou avec un objet partagé :
$sObj:=New shared object("blob" ; $blob)
Dans de nombreux cas, il est préférable d’utiliser un objet blob (type 4D.Blob) plutôt qu’un type Blob. Par exemple, lorsque vous passez un objet blob dans une méthode ou un paramètre de commande, il n’est pas dupliqué comme un type Blob mais passé par référence, comme tout autre objet 4D. C’est plus rapide et moins consommateur de mémoire :
var $blobObj : Object
// Download your MIME in a blob object
$blobObj :=IMAP_transporter.getMIMEAsBlob ( $msgID )
// The BLOB object is then passed to the AddToArchives method by reference.
AddToArchives (
$blobObj)
// Unlike when you pass a Blob type, the blob is not duplicated when handled using a blob object.
Mais le type Blob standard n’est pas déprécié. Chaque type de blob a ses avantages. Utilisez le tableau suivant pour déterminer celui qui convient à vos besoins :
Blob | Blob 4D | |
---|---|---|
Modifiable | Oui | Non |
Partageable en objets et collections | Non | Oui |
Passé par référence*. | Non | Oui |
Performances lors de l’accès aux octets | + | – |
Taille maximale | 2 GO* – TAILLE MAXIMALE | Mémoire |
*Cette taille limite peut être inférieure en fonction de votre système d’exploitation et de l’espace disponible.
Consultez la documentation pour en savoir plus sur ce nouveau type d’attribut !
Maintenant que les blobs sont gérés dans les objets, il ne reste plus qu’une étape pour qu’ils soient gérés dans ORDA. Restez à l’écoute !