View Issue Details

IDProjectCategoryView StatusLast Update
0006386NodeSets, XSDs and Generated CodeApi Changepublic2021-02-09 16:17
ReporterJim Luth Assigned ToRandy Armstrong  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionno change required 
Summary0006386: Semantics of Structures with optional fields not well defined
Description

When the Server receives a "Write" request with Structure where some optional field is absent, what is the server supposed to do?

a) Assume some default value and perform the write with it
b) skip the writing of the part that is absent
c) undefined

The "Write" here is an example, similar questions arise with input arguments to Call, and also data returned to the Client (or contained in PubSub datasets).

The same issue may apply to empty Unions (Union with Switch Field equal to 0), but there in the mappings the spec says "A Union with no fields present has the same meaning as a NULL value. A Union with any field present is not a NULL value even if the value of the field itself is NULL.", so that it at least some answer, it looks like that in both cases the Server is actually supposed to process the value somehow?

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0005481 closedJeff Harding 10000-003: Address Space Semantics of Structures with optional fields not well defined 
related to 0006387 closedRandy Armstrong NodeSets, XSDs and Generated Code Semantics of Structures with optional fields not well defined 

Activities

Jim Luth

2021-01-19 17:17

administrator   ~0013566

The bit for an optional field is really a "NULL" bit to say if an optional field is present or not. This is true on write as well as read. So if I write 0 to a bit I am effectively setting the field to NULL.

Jeff Harding

2021-01-19 17:17

reporter   ~0013567

In Part 3 I have added the following to the IsOptional field of StructureField "An optional field that is not included in a Structure shall be understood as a NULL value by Applications."

Jim Luth

2021-01-19 17:17

administrator   ~0013568

Accepted text in 1.05 draft, but needs 1.04 Errata to close.

Randy Armstrong

2021-02-04 12:21

administrator   ~0013669

Issue cloned by mistake.

Jim Luth

2021-02-09 16:17

administrator   ~0013698

Agreed to no change required in telecon.

Issue History

Date Modified Username Field Change
2021-01-19 17:17 Jim Luth New Issue
2021-01-19 17:17 Jim Luth Status new => assigned
2021-01-19 17:17 Jim Luth Assigned To => Randy Armstrong
2021-01-19 17:17 Jim Luth Issue generated from: 0005481
2021-01-19 17:17 Jim Luth Note Added: 0013566
2021-01-19 17:17 Jim Luth Note Added: 0013567
2021-01-19 17:17 Jim Luth Note Added: 0013568
2021-01-19 17:17 Jim Luth Relationship added related to 0005481
2021-01-19 17:17 Jim Luth Project 10000-003: Address Space => NodeSets, XSDs and Generated Code
2021-01-19 17:17 Jim Luth Category Spec => Api Change
2021-01-19 17:18 Jim Luth Target Version => 1.04
2021-01-19 17:18 Jim Luth Issue cloned: 0006387
2021-01-19 17:18 Jim Luth Relationship added related to 0006387
2021-02-04 12:21 Randy Armstrong Status assigned => resolved
2021-02-04 12:21 Randy Armstrong Resolution open => no change required
2021-02-04 12:21 Randy Armstrong Note Added: 0013669
2021-02-09 16:17 Jim Luth Status resolved => closed
2021-02-09 16:17 Jim Luth Note Added: 0013698