Issue 18298: member ID algorithm flawed (dds-xtypes-rtf) Source: PrismTech (Mr. Erik Hendriks, erik.hendriks(at)prismtech.com) Nature: Clarification Severity: Critical Summary: In section 7.3.1.3.1 is is stated that when explicitly assigning memberID's to some attributes (but not to all attributes), that: "In such cases, implicit values are assigned in a progression starting from the most-recently specified ID (or an implicit value of zero for the first constant, if there is no previous specified value) and adding one with each successive member." This algorithm could result in the same memberId being assigned multiple times. Consider the following example: struct A { long x; //@id 2 long y; //@id 1 long z; }; Resolution: Revised Text: Actions taken: December 12, 2012: received issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 12 Dec 2012 07:38:27 -0500 To: Subject: Issue/Bug Report X-Brightmail-Tracker: AAAAAA== X-Brightmail-Tracker: AAAAAA== ******************************************************************************* Name: Erik Hendriks Employer: PrismTech mailFrom: erik.hendriks@prismtech,com Terms_Agreement: I agree Specification: Extensible and Dynamic Topic Types for DDS Section: 7.3.1.3.1 FormalNumber: ptc/2012-03-26 Version: 1.0 Doc_Year: 2012 Doc_Month: February Doc_Day: Day Page: 70 Title: member ID algorithm flawed Nature: Clarification Severity: Critical CODE: 3TMw8 B1: Report Issue Description: In section 7.3.1.3.1 is is stated that when explicitly assigning memberID's to some attributes (but not to all attributes), that: "In such cases, implicit values are assigned in a progression starting from the most-recently specified ID (or an implicit value of zero for the first constant, if there is no previous specified value) and adding one with each successive member." This algorithm could result in the same memberId being assigned multiple times. Consider the following example: struct A { long x; //@id 2 long y; //@id 1 long z; };