View Issue Details

IDProjectCategoryView StatusLast Update
000351510000-006: MappingsSpecpublic2016-12-06 17:49
ReporterBjarneBostrom Assigned Torandyarmstrong  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Summary0003515: Clarifications between 'not present' and 'NULL'
Description

Spec 1.03 Part 6 section 5.2.7 States "A union with no fields present has the same meaning as a NULL value." Also applies for Optional values in Structures.

The specification does not make a difference between the terms 'not present' i.e. "no value" and value set as 'NULL'. Some types have valid null encodings while some don't. This is important when making implementations because normally it would not make sense to have both conditions 'not-present' and 'null', but with the current spec both are valid and different values. For example consider the following cases.

Case 1. Union switch value encoded as 0 i.e. 'Null'
Case 2. Union switch value encoded as non-0 and having a value that is by itself 'NULL' e.g. a String with length of -1

Question 1. Is the situation in Case 2. allowed by the specification?
Question 2. If the answer of Question 1. is yes, is there a difference between the two i.e. is it allowed to encode the situation in Case 2. as being the same as in 1.

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

randyarmstrong

2016-12-04 23:57

administrator   ~0007412

Added clarification to 1.04 DRAFT 09.

Jim Luth

2016-12-06 17:49

administrator   ~0007450

Agreed to changes in telecon.

Issue History

Date Modified Username Field Change
2016-08-22 14:36 BjarneBostrom New Issue
2016-08-30 15:29 Jim Luth Assigned To => randyarmstrong
2016-08-30 15:29 Jim Luth Status new => assigned
2016-12-04 23:57 randyarmstrong Note Added: 0007412
2016-12-04 23:57 randyarmstrong Status assigned => resolved
2016-12-04 23:57 randyarmstrong Resolution open => fixed
2016-12-06 17:49 Jim Luth Note Added: 0007450
2016-12-06 17:49 Jim Luth Status resolved => closed
2016-12-06 17:49 Jim Luth Fixed in Version => 1.04