Compatibility/Bug fixes in V7.8: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (Content removed to M2o4int page of same name)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{Hierarchy header}}
Content moved to M204int page of same name, but history preserved here.
This chapter lists any compatibility issues with prior versions of
the <var class="product">Sirius Mods</var> and any bugs which have been fixed in this version of
the <var class="product">Sirius Mods</var> but had not, as of the date of this release, been fixed
in the previous generally available version (7.7).
In general, backward incompatibility means that an operation which was
previously performed without any indication of error, now operates, given
the same inputs and conditions, in a different manner.
We may not list as backwards incompatibilities those cases in which the
previous behaviour, although not indicating an error, was &ldquo;clearly and
obviously&rdquo; incorrect, and which are introduced as normal bug fixes
(whether or not they had been fixed with previous maintenance).
==Backwards incompatibilities==
Backwards incompatibilities are described per product in the following sections.
===Janus SOAP XmlDoc API===
The following backwards compatibility issues have been introduced in the
<var class="product">Janus SOAP</var> [[XmlDoc API]].
====AddToRecord constraint on "number" attribute====
As described in [[Janus SOAP XmlDoc API V7.8 changes#Structure of XmlDoc for AddToRecord|"Structure of XmlDoc for AddToRecord"]], if the "number" attribute of the "Record" element in the input <var>XmlDoc</var> of the <var>AddToRecord</var> subroutine is present, it must be an integer greater than or equal to -1.
Previously, this attribute was ignored.
====DefaultURI argument of AddSubtree====
In some cases, an Element in a default namespace, which was
added to the <var>XmlDoc</var> by a deserialization method, will not get the
correct namespace URI when it is copied using the <var>DefaultURI</var>
argument of the <var>AddNamespace</var> subroutine.
Note that this problem was also fixed (with the resulting
incompatibility) in the version 7.7 <var class="product">Sirius Mods</var> by maintenance
supplied by ZAP77A4 on 17 August, 2010.
For example:
<p class="code"><nowiki>Text To %sl
<a:a xmlns:a="http://aaa" xmlns="http://ddd">
  <b:b xmlns:b="http://bbb">
    <c>123</c>
  </b:b>
</a:a>
End Text
%in:LoadXml(%sl)
%n Object XmlNode
%n = %in:SelectSingleNode('/*/*')
%out:AddSubtree(%n, DefaultURI='u:who')
</nowiki></p>
Prior to fixing this problem, the above results in:
<p class="output"><nowiki><b:b xmlns:b="http://bbb">
  <c xmlns="http://ddd">
      123
  </c>
</b:b>
</nowiki></p>
The correct result, as produced by version 7.8 of the <var class="product">Sirius Mods</var> or
version 7.7 with with ZAP77A4 applied,
is as follows (note the namespace for element <code>c</code>):
<p class="output"><nowiki><b:b xmlns:b="http://bbb">
  <c xmlns="u:who">
      123
  </c>
</b:b>
</nowiki></p>
====Deserialization prohibits default namespace declaration with Namespace=None====
With the <var>XmlDoc</var> <var>[[Namespace (XmlDoc property)|Namespace]]</var> property set to <var>None</var>, namespace declarations that bind a
prefix are not allowed. For example:
<p class="code"><nowiki><foo xmlns:p="http://p.com/>
</nowiki></p>
The above has never been allowed, due to the prohibition against colons in XML
names when <var>Namespace</var> is <var>None</var>.
However, previous versions of the <var class="product">Sirius Mods</var> allowed deserialization of a
default namespace declaration. For example:
<p class="code"><nowiki><foo xmlns="http://p.com/>
</nowiki></p>
The above was erroneously treated as if <code>xmlns</code> were an attribute.
Deserialization of default namespace declarations is no longer allowed.
This fix was also introduced in version 7.7 of the <var class="product">Sirius Mods</var>, via ZAP77B2.
===Janus SOAP ULI===
====Unspace method now converts all-whitespace string to null====
Prior to Version 7.8 of the <var class="product">Sirius Mods</var>, the intrinsic <var>String</var> <var>[[Unspace (String function)|Unspace]]</var> method compressed a string consisting entirely of whitespace characters to a single whitespace character.
For example, note the single blank in the result of <code>PrintText {~} = X{'    ':unspace}X</code>:
<p class="output"><nowiki>'    ':unspace = X X
</nowiki></p>
In version 7.8 (and also in <var class="product">Sirius Mods</var> version 7.7 via ZAP7761), <var>Unspace</var> converts a string of whitespace characters to the null string. After this fix is in effect, the <var>[[Targeted Text statements|PrintText]]</var> statement above produces a null string:
<p class="output"><nowiki>'    ':unspace = XX
</nowiki></p>
==Fixes in <var class="product">Sirius Mods</var> 7.8 but not in 7.7==
This section lists fixes to functionality
existing in the <var class="product">Sirius Mods</var> version
7.7 but which, due to the absence of customer problems, have not, as of the date
of the release, been fixed in that version.
===LoadSystemMethodInfo returning Unicode methods===
The <var>[[LoadSystemMethodInfo (XmlDoc subroutine)|LoadSystemMethodInfo]]</var> now returns information for <var>Unicode</var> intrinsic methods.
===Fast/Reload LAI with various UAI SORT cases===
The following two bugs have been fixed:
<ul>
<li>Possible use of <var>UAI SORT</var> key as hashed file sort key.
<p>
For example, the following code (incorrectly) completes without any indication of error in <var class="product">Sirius Mods</var> 7.7, but in 7.8 it is flagged as an error:</p>
<p class="code"><nowiki>* Fast/Unload step:
UAI SORT FOO LENGTH 3 TRUNC
...
* Fast/Reload step:
CREATE FILE (NOFORMAT) QAWORK
PARAMETER FILEORG 8
END
OPEN QAWORK
*UPDATE
IN QAWORK INITIALIZE
HASH FOO
FILELOAD -1,-1,0,3000000,10000,10000,10000,32
LAI
</nowiki></p>
<li>A spurious error ("TAPEI format error" or unkown field) is issued
if the first <var>UAI SORT</var> item is a <var class="product">FUEL</var> %variable, and the subsequent <var>LAI</var>
is loaded into a non-sort, non-hash file.
Note that the <var class="product">[[Fast/Unload]]</var> <var>UAI</var> output file must also contain the correct value
to fix this bug; with version 4.4 of <var class="product">Fast/Unload</var>, ZAP4414 is required, with
version 4.5, ZAP4518 is required.
</ul>
 
==Version corequisites==
This section lists any restrictions on usage of various products
(including <var class="product">Sirius Mods</var> itself) that will be imposed by use of version 7.8
of <var class="product">Sirius Mods</var>.
<ul>
<li>There are no corequisites associated with <var class="product">Sirius Mods</var> 7.8.
</ul>
{{Hierarchy footer}}

Latest revision as of 21:45, 17 October 2013

Content moved to M204int page of same name, but history preserved here.