13.07.2015 Views

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Developers6.2.5.4 XML DOM Internal Representation ChangedThe <strong>Caché</strong> data structure used to represent an XML DOM has changed. The details are defined as being internal and subjectto change without notice. However, if an application is accessing this data directly, it must be changed and recompiled.The recommended way to access this data is via the %XML.Node class.6.2.5.5 Prevent IDKEY Value Change On UPDATEThe value of an ID cannot be altered once assigned. <strong>Documentation</strong> does specify that ID values cannot be changed, but thesoftware did not properly enforce the rule. This deficiency has been fixed and the IDKEY value cannot be updated.6.2.5.6 SYS.DataBase.Freespace Query ChangedApplications that use the SYS.Database.Freespace query directly, and reference the "% Free" data column by name in theresult set, will need be changed to reference the column by number, or by using the new label “Free”. The previous labelinterfered with proper XML generation.6.2.5.7 Generate Cursor Name From Incremented Counter, Not Class Query NameThe cursor name generated to implement a class query of type %Library.SQLQuery now is based on an incremented counterinstead of the query name. This resolves a error when the query name is not unique in the first 29characters.6.2.5.8 GUID Management ChangesIf a persistent class is marked as GUIDENABLED, <strong>Caché</strong> will assign Globally Unique IDentifiers (GUIDs) to each objectwhen it is created. A later call to delete the object via %Delete on an object will no longer delete the GUID for that object.There is history in the GUID global in each namespace where a GUIDENABLED object has been created. Users areresponsible for removing entries from ^OBJ.GUID that are no longer needed.Also, a new argument is now defined for the %LIbrary.Persistent.GUID() method that returns the GUID value for anOID. The argument, pDeepSearch, if true, will trigger a search with the extent and any registered subextents for an objectthat no longer exists in the database. Previously, %OnDetermineClass would fail for a deleted object and the GUID wouldnot be found. Now, if pDeepSearch is true, the extent of the current class and all registered subextents are searched for theID.6.2.5.9 %Net.MailMessage And %Net.MailMessagePart Now Subclass %SerialObjectBefore <strong>Caché</strong> 5.1 and Ensemble 4.0, the classes %Net.MailMessage and %Net.MailMessagePart were subclasses of%Library.SerialObject. Beginning with <strong>Caché</strong> 5.1 and Ensemble 4.0, they were changed to be subclasses of%Library.RegisteredObject. In this version of Cache and Ensemble, %Net.MailMessage and %Net.MailMessagePart are againsubclasses of %Library.SerialObject.This change allows archived data from releases earlier than <strong>Caché</strong> 5.1 and Ensemble 4.0 to be accessed by current applications.6.2.5.10 Deprecated Classes%Library.FloatThis class is included only for purposes of backward compatibility. In the future, applications should use either• the %Library.Double datatype class for cases where values are in the form of IEEE float (that is $DOUBLE) format, or• the %Library.Decimal class for cases where values are in the form described by <strong>Caché</strong> $DECIMAL.<strong>Caché</strong> <strong>Upgrade</strong> <strong>Checklists</strong> 139

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!