View Issue Details

IDProjectCategoryView StatusLast Update
0006387NodeSets, XSDs and Generated CodeApi Changepublic2021-02-23 17:53
ReporterJim Luth Assigned ToRandy Armstrong  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionno change required 
Summary0006387: 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 0006386 closedRandy Armstrong Semantics of Structures with optional fields not well defined 

Activities

Jim Luth

2021-01-19 17:18

administrator   ~0013569

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:18

reporter   ~0013570

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:18

administrator   ~0013571

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

Randy Armstrong

2021-02-04 13:01

administrator   ~0013678

Cloned by mistake.

Jim Luth

2021-02-23 17:53

administrator   ~0013795

Agreed to no change required.

Issue History

Date Modified Username Field Change
2021-01-19 17:18 Jim Luth New Issue
2021-01-19 17:18 Jim Luth Status new => assigned
2021-01-19 17:18 Jim Luth Assigned To => Randy Armstrong
2021-01-19 17:18 Jim Luth Issue generated from: 0006386
2021-01-19 17:18 Jim Luth Note Added: 0013569
2021-01-19 17:18 Jim Luth Note Added: 0013570
2021-01-19 17:18 Jim Luth Note Added: 0013571
2021-01-19 17:18 Jim Luth Relationship added related to 0006386
2021-02-04 13:01 Randy Armstrong Status assigned => resolved
2021-02-04 13:01 Randy Armstrong Resolution open => no change required
2021-02-04 13:01 Randy Armstrong Note Added: 0013678
2021-02-23 17:53 Jim Luth Status resolved => closed
2021-02-23 17:53 Jim Luth Note Added: 0013795