13.07.2015 Views

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Caché</strong> 5.1 <strong>Upgrade</strong> Checklist2. the compiler version of the system on which the routine will be run is greater than or equal to the compiler version ofthe system where the routine was compiled.Note:The <strong>Caché</strong> Basic compiler uses the same version number as the ObjectScript compiler and is subject to the samecompatibility rules.CAUTION:This change means that ECP configurations are limited to having their servers on version 5.1 with clientson either version 5.0 or 5.1. ECP servers running <strong>Caché</strong> 5.0 cannot serve code compiled under version 5.1.11.2.10.3 Permission Requirements For Some ObjectScript CommandsBecause of their effect, some commands under certain circumstances now require the user to have specific permissions forthem to succeed.CommandSetViewPermissionWhen applied to the special variable $ROLES, this is a privileged operation.Unless the application has the privilege to change $ROLES, the value will notbe altered.%DB_:R is required to read blocks from the database; %DB_:W isrequired to modify the database.11.2.10.4 $ZTRAP ChangeThe reference material for $ZTRAP states that when the name of the error trap starts with an asterisk (*), it indicates that<strong>Caché</strong> should invoke the error handler at the context level where the error occurred. However, if the error trap is within thecontext of a procedure, then <strong>Caché</strong> cannot simultaneously establish the error context and the proper context for the localvariables of the procedure. In <strong>Caché</strong> 5.1, the compiler has been changed to detect this usage and report it as an error atcompile time.Applications that wish to use this feature must ensure that either• the subroutine containing the error recovery code is not a procedure, or• the error handling logic is altered so it does not need to be run in the context of the error.11.2.10.5 $ZERRORAdditional Information For Some ErrorsIn the event an error occurs, information about it is stored in the system variable, $ZERROR. In <strong>Caché</strong> 5.1, the string storedin $ZERROR includes more information than in previous versions.For example, when a routine attempts to use a variable that has not been defined, $ZERROR now includes the name of theundefined variable. Whereas in previous versions of <strong>Caché</strong> the value of $ZERROR might look like this:zMethodName^Pkg.Class.1in version 5.1, it looks generically like this:Tag^Routine+line *someinfoA consequence of this change is that error handling routines that made assumptions about the format of the string in$ZERROR may now require redesign to work as before. For example, the following will no longer work in version 5.1:266 <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!