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.

<strong>Caché</strong> 2008.2 <strong>Upgrade</strong> ChecklistIn this version, inherited methods as well as locally overridden methods are recognized. It is now possible to implementLogicalToStorage and StorageToLogical methods for a property, and both SQL and Object actions will invoke them atthe appropriate times.7.2.5.22 %IO.FileStream ChangesThe functionality of the method, Clear(), as been augmented by the methods, TruncateAt() and ExternalByteTruncateAt().In addition, methods OutputToDevice() and CopyFrom() have been improved to do more accurate global timeout handlingwhen copying from a sluggish stream.7.2.5.23 Preserve Stream Content Across RestartsPreviously, when an application created a file stream where the LOCATION was not specified, <strong>Caché</strong> created it in thesystem wide temp stream location. If the application then saves the file stream, <strong>Caché</strong> marked it as permanent in the database,but did not move the stream from the directory.The system wide temp stream location was automatically cleaned up on a <strong>Caché</strong> restart, so all such file streams were beingdeleted.To address this issue, <strong>Caché</strong> now does the following:1. <strong>Caché</strong> will now allow a default stream directory configuration parameter for each namespace. If not specified, it willbe assumed to be the stream subdirectory of the location of the CACHE.DAT file.2. When a stream file property is first initialized, if there is no LOCATION property parameter, <strong>Caché</strong> sets the directoryto the default stream directory for this namespace.3. If an application writes to a stream where the directory has never been set, it will create a temporary file in the systemwide temp directory. Saving this stream will move the file from the temp directory to the default stream directory forthis namespace.This will minimize change to existing stream behavior while ensuring that we do not lose any file. The current behaviorof streams is:1. An application that opens an existing file stream or links to an existing file and then writes to the stream will create anew temporary file in the same directory as the existing file. If this is saved then the existing file is deleted and thetemp file renamed so it has the same name as the linked file.2. An application that links to a filename that does not exist, and writes to the stream,will create a new file with the filenamespecified. Saving this stream marks it as permanent.3. For a class that defines a file stream as a property of a persistent object, creating a new instance and writing to trhestream will create a new file in the default stream directory. Saving this object will mark the stream as permanent.4. An application that creates a new file stream object outside of a property, and does not specify a directory in the %Newcommand, will create a new temporary file in the system wide temp directory when the stream is written. When thestream is saved, it will be moved to the namespace specific default stream directory.7.2.5.24 Handling Of Time On Import Has ChangedThe way <strong>Caché</strong> handles the last-modified time specified in files imported by XML and %apiRTN changes in this releaseto make it more consistent. The current rules are:• For classes, <strong>Caché</strong> allows the TimeChanged class attribute to be exported during XML export of a class definition.This may be suppressed by the /diffexport qualifier.• On import, if there is no last-modified time in the file, <strong>Caché</strong> will use the following algorithm:– If the class already exists and is identical to the previous copy, <strong>Caché</strong> uses the previous copy timechanged value.182 <strong>Caché</strong> <strong>Upgrade</strong> <strong>Checklists</strong>

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

Saved successfully!

Ooh no, something went wrong!