Skip to main content


serial class HS.SDA3.Blob extends HS.SDA3.DataType

Used to hold very long objects in the SDA

Property Inventory

Method Inventory


property ActionCode as %String;
Not stored May be input as "D" as a delete instruction Internally, we may temporarily set it to U to indicate that we're in the process of updating it
Property methods: ActionCodeDisplayToLogical(), ActionCodeGet(), ActionCodeIsValid(), ActionCodeLogicalToDisplay(), ActionCodeLogicalToOdbc(), ActionCodeNormalize(), ActionCodeSet()
property FileType as %String;
If the blob can be stored as a file, this will be the extension
Property methods: FileTypeDisplayToLogical(), FileTypeGet(), FileTypeIsValid(), FileTypeLogicalToDisplay(), FileTypeLogicalToOdbc(), FileTypeNormalize(), FileTypeSet()
property HSBlobId as %Integer;
Used internally - a pointer to the blob contents when stored in the database. When stored in the streamlet database, we'll use a tag of $C(4) instead of the "HSBlobId" to allow easy parsing of the SDA string, to allow it to insert the blob stream contents from the place where it is stored.
Property methods: HSBlobIdDisplayToLogical(), HSBlobIdGet(), HSBlobIdIsValid(), HSBlobIdLogicalToDisplay(), HSBlobIdNormalize(), HSBlobIdSet(), HSBlobIdXSDToLogical()
property HSBlobStream as %Stream.GblBinCompress;
The blob stream is not actually stored in the streamlet's SDA string. It is stored either in a file, or in ^HS.SDA3.Blob. This allows long data to be used without exceeding the 3MB limit on total streamlet size. When the streamlet is exported to a container, the HSBlobStream does get included inline
Property methods: HSBlobStreamDelete(), HSBlobStreamGet(), HSBlobStreamGetObject(), HSBlobStreamGetObjectId(), HSBlobStreamGetSwizzled(), HSBlobStreamIsValid(), HSBlobStreamNewObject(), HSBlobStreamOid(), HSBlobStreamOpen(), HSBlobStreamSet(), HSBlobStreamSetObject(), HSBlobStreamSetObjectId(), HSBlobStreamUnSwizzle()
property LoadFromFile as %String (MAXLEN = 200);
Not Stored Used only on the original SDA input, to allow the contents of the HSBlobStream to be loaded from an external file, instead of being input. If used, this should be a fully qualified file reference, and HSBlobStream should not be populated. If supplied, the value of this property will be copied into OriginalFileReference.
Property methods: LoadFromFileDisplayToLogical(), LoadFromFileGet(), LoadFromFileIsValid(), LoadFromFileLogicalToDisplay(), LoadFromFileLogicalToOdbc(), LoadFromFileNormalize(), LoadFromFileSet()
property OriginalFileReference as %String (MAXLEN = 200);
For informational purposes, this will store whatever was input in LoadFromFile
Property methods: OriginalFileReferenceDisplayToLogical(), OriginalFileReferenceGet(), OriginalFileReferenceIsValid(), OriginalFileReferenceLogicalToDisplay(), OriginalFileReferenceLogicalToOdbc(), OriginalFileReferenceNormalize(), OriginalFileReferenceSet()


classmethod DeleteBlob(pBlobId)
method FetchBlobToObject()
Fetch a blob from streamlet storage and output it to ..HSBlobStream (a %Stream.GblBinCompress)
classmethod FetchBlobToStream(pBlobId, ByRef pSDAStream)
Fetch a blob from streamlet storage and output it to the specified SDA strean stream
method SaveBlob()
method ToQuickXML(pTag As %String = "", pType As %String = "", pGroup=0)
Override the generated method %HSBlobMode="ID" means only export the blob ID %HSBlobMode="Save" means we're in the middle of saving a blob, so store it in the Blob store, %HSBlobMode="Export" (or undef) means output the blob into the stream If %HSStreamletBlobs is defined, we'll output to it a comma separated list of blob IDs
method UpdateSDA(pFromObject, pOmitProperties As %String = "", pIsDeleted As %Boolean = 0)
Override the generated method
method XMLImportSDAString(ByRef pSDAString, pTag="", ByRef pPos=1, pStreamlet="", pContainer="") as %Status
Override the generated method

Inherited Members

Inherited Methods

FeedbackOpens in a new tab