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.1 <strong>Upgrade</strong> Checklist8.3 DevelopersThis section contains information of interest to those who have designed, developed and maintained applications runningon prior versions of <strong>Caché</strong>.The items listed here are brief descriptions. In most cases, more complete descriptions are available elsewhere in the documentation.8.3.1 ObjectScript Changes8.3.1.1 $REPLACE Function AddedThis version of <strong>Caché</strong> adds a new string replacement function, $REPLACE. $REPLACE(S1, S2, S3) finds all occurrencesof the string S2 in the string S1 and replaces them with the string S3. All three arguments are required. Unlike$TRANSLATE, S2 and S3 are treated as complete strings, not lists of characters.8.3.1.2 $ZDATETIMEH Validation ImprovedIn this version, ODBC and SQL date-time validation is improved. $ZDATETIMEH will now report an error if any field(day, month, hour, second) is not in the proper format. For example, 002 will no longer be accepted as a valid day withina month because only two digits are allowed.8.3.2 SQL Changes8.3.2.1 Incompatibility: “arrow syntax” in ON clausesPrior to Version 2007.1, <strong>Caché</strong> SQL allowed use of arrow syntax in ON clauses. This was possible because <strong>Caché</strong> onlysupported a linear chain of left outer joins (one or more tables left joined to a single table). As a result, combinations ofarrow syntax, uses of =* syntax, and ANSI joins could readily be mixed within this very limited support.Arrow syntax has always been defined as equivalent to =* syntax, and uses the same underlying mechanism. As a result,it can no longer be supported ON clauses.All other support for arrow syntax remains (WHERE clause, SELECT clause, GROUP BY, ORDER BY, HAVING).8.3.2.2 Restriction on LEFT JOINThere remains a restriction with ON clauses with LEFT JOINs. If all the conditions affecting some table use comparisonsthat may pass null values, and that table is itself a target of an outer join, <strong>Caché</strong> may report:error 94: unsupported use of outer joinAn example of such a query isSELECT *FROM Table1LEFT JOIN Table2 ON Table1.k = Table2.kLEFT JOIN Table3 ON coalesce(Table1.k,Table2.k) = Table3.k8.3.2.3 Collation Order Now Applies to LIKEThe SQL LIKE operator now performs similarly to other comparison operators such as “=” and %STARTSWITH. Thatis, the expression:f LIKE 202 <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!