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.

Developers11.2.6.2 New ClassesThe following classes are new in this version of <strong>Caché</strong>:• %Library.AbstractResultSet• %Library.CacheCollection, %Library.CacheLiteral, %Library.CacheObject, %Library.CachePopulate, %Library.CacheString,%Library.Collate• %Library.DataType, %Library.Device• %Library.Function• %Library.Global, %Library.GlobalEdit, %Library.GTWConnection, , %Library.GTWResultSet• %Library.IJCDevice• %Library.JavaDoc, %Library.JournalRecordType, %Library.JournalState• %Library.ObjectJournal, %Library.ObjectJournalRecord, %Library.ObjectJournalTransaction• %Library.PersistentProperty, %Library.Prompt• %Library.RemoteResultSet, %Library.RowSQLQuery• %Library.ShadowState, %Library.ShadowType, %Library.SwizzleObject• %Library.UtilityProgrammers who relied on an unqualified class name resolving to the correct location may discover that the new classesadded to %Library now cause naming conflicts if the application defined classes with any of these names.11.2.6.3 Name Case Conflict In Class CompilationIn version 5.0, <strong>Caché</strong> allows a class to define a method which has the same spelling as a method of its superclass, but differsin case. For example, a method called %save(), defined in class that inherits from %Library.Persistent would be considereda different method from the %Save() method of the superclass.In version 5.1, this situation produces a compilation error. For example, CSP applications that had defined methods ofinclude() or link() will find that these are now in conflict with %CSP.Page.Include() and %CSP.Page.Link() respectively.11.2.6.4 Ambiguity Resolution When Simple Class Names UsedIf an application makes a reference to a class whose name begins with a percent-sign and which does not specify its packagename, the class compiler looks for the class in the %Library package for the class. Thus,Set BaseDir = ##CLASS(%File).ManagerDirectory()is interpreted as if it had been writtenSet BaseDir = ##CLASS(%Library.File).ManagerDirectory()Programmers who relied on the unqualified class name resolving to the correct location will discover that the new classesadded to %Library may now cause ambiguity in naming if the application defined classes with the same name, for example%Utility.11.2.6.5 Class Member Naming Checks Made More StrictIn <strong>Caché</strong> version 4.1, you were not allowed to define two class members with the same name but different case. In version5.0, however, a bug was introduced that failed to report these errors.<strong>Caché</strong> <strong>Upgrade</strong> <strong>Checklists</strong> 253

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

Saved successfully!

Ooh no, something went wrong!