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)
 
(6 intermediate revisions by 3 users 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 ''Sirius Mods'' and any bugs which have been fixed in this version of
the ''Sirius Mods'' 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 “clearly and
obviously” 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
[[Janus SOAP]] 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 XmlDoc of the AddToRecord 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 XmlDoc by a deserialization method, will not get the
correct namespace URI when it is copied using the DefaultURI
argument of the AddNamespace subroutine.
Note that this problem was also fixed (with the resulting
incompatibility) in the version 7.7 ''Sirius Mods'' by maintenance
supplied by ZAP77A4 on 17 August, 2010.
For example:
<pre>
    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')
</pre>
Prior to fixing this problem, the above results in:
<pre>
    <b:b xmlns:b="http://bbb">
      <c xmlns="http://ddd">
          123
      </c>
    </b:b>
</pre>
The correct result, as produced by version 7.8 of the ''Sirius Mods'' or
version 7.7 with with ZAP77A4 applied,
is as follows (note the namespace for element 'c'):
<pre>
    <b:b xmlns:b="http://bbb">
      <c xmlns="u:who">
          123
      </c>
    </b:b>
</pre>
====Deserialization prohibits default namespace declaration with Namespace=None====
With the Namespace=None XmlDoc property, namespace declarations that bind a
prefix are not allowed. For example:
<pre>
    <foo xmlns:p="http://p.com/>
</pre>
The above has never been allowed, due to the prohibition against colons in XML
names when Namespace=None.
However, previous versions of the ''Sirius Mods'' allowed deserialization of a
default namespace declaration, for example:
<pre>
    <foo xmlns="http://p.com/>
</pre>
The above was erroneously treated as if 'xmlns' were an attribute.
Deserialization of default namespace declarations is no longer allowed.
This fix was also introduced in version 7.7 of the ''Sirius Mods'', via ZAP77B2.
 
===Janus SOAP ULI===
 
====Unspace method now converts all-whitespace string to null====
Prior to Version 7.8 of the ''Sirius Mods'', the intrinsic String Unspace method compressed
a string consisting entirely of whitespace characters to a single whitespace character.
For example, note the single blank in the result of <tt>PrintText {~} = X{'    ':unspace}X</tt>:
  '    ':unspace = X X
 
In version 7.8 (and also in ''Sirius Mods'' version 7.7 via ZAP7761), Unspace converts a string of whitespace characters to the null string. After this fix is in effect, the [[Targeted Text statements|PrintText]] statement above produces a null string:
  '    ':unspace = XX
 
==Fixes in ''Sirius Mods'' 7.8 but not in 7.7==
This section lists fixes to functionality
existing in the ''Sirius Mods'' 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 LoadSystemMethodInfo now returns information for Unicode intrinsic methods.
===Fast/Reload LAI with various UAI SORT cases===
The following two bugs have been fixed:
<ul>
<li>Possible use of UAI SORT key as hashed file sort key.
For example, the above should not be allowed:
<pre>
    * 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
</pre>
The above (incorrectly) completes without any indication of error.
<li>A spurious error ("TAPEI format error" or unkown field) is issued
if the first UAI SORT item is a FUEL %variable and the subsequent LAI
is loaded into a non-sort/non-hash file.
Note that the [[Fast/Unload]] UAI output file must also contain the correct value
to fix this bug; with version 4.4 of [[Fast/Unload]], ZAP4414 is required, with
version 4.5, ZAP4518 is required.
</ul>
==Version corequisites==
This section lists any restrictions on usage of various products
(including ''Sirius Mods'' itself) that will be imposed by use of version 7.8
of ''Sirius Mods''.
<ul>
<li>There are no corequisites associated with ''Sirius Mods'' 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.