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.

Developers5.2.1 General Operational Changes5.2.1.1 Interactive And Command Invocations Use SHELL Environment VariablePreviously, when invoking an interactive UNIX shell via $zf(-1) (or “!” or “$”), <strong>Caché</strong> used the setting of the SHELLvariable if it was defined, otherwise <strong>Caché</strong> used just sh to start the shell; when a command name was specified, <strong>Caché</strong>always used /bin/sh.Now, <strong>Caché</strong> will check for the SHELL environment variable (and use it if defined) in both cases. This can affect anyUNIX commands that depend on using /bin/sh.5.2.1.2 Changes In Licensing DisplayIn the output from licensing display functions, under some circumstances fields could run together (leaving no space betweencolumns). When such output was sent to a file and then a program attempted to parse it, the program could fail because itcould not distinguish the field boundaries.Now, field output will break to the following line if this occurs; new types of parser errors are possible. The recommendedway to obtain and work with license data is via queries in the %SYSTEM.License class.5.2.1.3 $SYSTEM.License.Login Now Appends Client IP AddressApplications that call ##class(%System.License).Login(UserId) will find that the license Id has a client IPaddress appended. This will affect license counting, if the customer previously had users log in to CSP sessions and enabledusername-based licensing to cause other types of connections to also use $USERNAME as the license Id. The CSP loginwill no longer have the same license identifier as other connections.Also, $System.License.Login() will produce different license Identifiers when called on this version of <strong>Caché</strong> thanon earlier versions. This will cause two license units to be consumed.5.2.1.4 Kernel Error Codes Made More ExactWhen running out of argument stack space, Cache would sometimes report the condition as a error, other timesas a error, and still others as . Now detection of insufficient argument stack space always reportsthe condition as ; running out of heap storage will generate a error. The error code, , isno longer used.Note:The argument stack and the string stack share the same block of memory. When a program is using an excessiveamount of one kind of stack, it is possible that the error will be detected while attempting to allocate space fromthe other kind of stack. Therefore, and are both possible errors when either ofthese stacks is being heavily consumed.5.2.2 Objectscript Changes5.2.2.1 $ZOBJ Functions ReplacedThe $ZOBJ functions have been replaced with standard <strong>Caché</strong> functions. The $ZOBJ functions are stillavailable to applications, but they are no longer documented. The calling sequences for the replacement functions remainthe same as before; a textual substitution is all that is required to update the application usage. The replacements are givenin the following table:<strong>Caché</strong> <strong>Upgrade</strong> <strong>Checklists</strong> 99

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

Saved successfully!

Ooh no, something went wrong!