Issue 1544: Marshalling of union type codes (interop) Source: (, ) Nature: Revision Severity: Summary: Summary: On page 13-14, the spec says for marshaling of type codes: "Note that the tuples identifying struct, exception, and enum members must be in the order defined in the OMG IDL definition text." This is right and proper, otherwise I wouldn"t know in what order things are encoded or what their ordinal values are. However, the text does *not* mention unions, so the order in which a type code describes the union members is left to the implementation. Suggestion: Require union members to also appear in the order in which they are defined in the IDL. Resolution: Revised Text: Actions taken: June 24, 1998: received issue June 24, 1998: moved from orb_revision to interop February 17, 1999: closed issue Discussion: End of Annotations:===== Return-Path: X-Authentication-Warning: tigger.dstc.edu.au: michi owned process doing -bs Date: Wed, 24 Jun 1998 14:15:37 +1000 (EST) From: Michi Henning To: issues@omg.org, orb_revision@omg.org Subject: Marshaling of union type codes On page 13-14, the spec says for marshaling of type codes: "Note that the tuples identifying struct, exception, and enum members must be in the order defined in the OMG IDL definition text." This is right and proper, otherwise I wouldn't know in what order things are encoded or what their ordinal values are. However, the text does *not* mention unions, so the order in which a type code describes the union members is left to the implementation. Suggestion: Require union members to also appear in the order in which they are defined in the IDL. Rationale: The Notification Service uses positional notation for filtering on any values with type codes that do not contain member names. This works fine for structures. For example, $.1 denotes the second member of a structure. Unfortunately, the same notation could *not* be used to denote union members, because union members are not marshaled in any guaranteed order. The Notification Service therefore had to come up with a different notation for unions. If union members are marshaled into type codes in the same order as they appear in the IDL, this problem goes away. I expect that every ORB on the planet marshals union type codes this way already, so this change shouldn't cause any pain, but would tighten up the spec. Cheers, Michi. -- Michi Henning +61 7 33654310 DSTC Pty Ltd +61 7 33654311 (fax) University of Qld 4072 michi@dstc.edu.au AUSTRALIA http://www.dstc.edu.au/BDU/staff/michi-henning.html