View Issue Details

IDProjectCategoryView StatusLast Update
0005686Feature RequestsFeature Requestpublic2022-09-27 16:19
ReporterDavid Levine Assigned ToJim Luth  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Summary0005686: Ability to request a subset of fields from a structured data type.
Description

Goal: a client can specify the fields to read from a structured DataType. The request will either all succeed or all fail - partial success is not allowed. This provides a semblance of transaction semantics (how that is implemented between it and the data source is up to the server - it may not be supported).

Rationale: Currently a client can read a subset of array elements by specifying a NumericRange in a read request. Using a similar technique a client should be able to read a subset of fields from a structured data type.

Strawman proposal:

Consider a structure as an array of variants, where each field corresponds to an element in an array.
Define a StructuredRange object that specifies fields by position (0 based) within the structure, similar to a NumericRange.
Define a new Read request (or modify the existing) that takes a StructuredRange as an optional argument. A compatible server will respond with a reply that contains the value of the fields in by-position order they were specified in the request. Servers that are not compatible will respond with an error.

For embedded structures, extend the existing syntax of a NumericRange to include nesting levels.
e.g.
Struct with fields:
F0
F1
F1_0
F1_1
F1_2
F2
F3

To read F1_1 and F2_2 use range "1.1 : 1.2"
To read F1 thru F3, use "1:3" all embedded elements are included
All fields are part of the ordering, including optional fields. If an optional field is missing and the range specifies it, a null value is returned.

A new OperationCapability node to be defined that specifies the level of support for this request.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0005762 closedJeff Harding 10000-003: Address Space Create new service Read-Modify-Write (RMW) for integral values, arrays and fields in structs. 

Activities

Jim Luth

2022-09-27 16:19

administrator   ~0017855

We provide alternate ways to accomplish this.

Issue History

Date Modified Username Field Change
2020-06-04 14:16 David Levine New Issue
2020-08-25 16:33 Jim Luth Status new => acknowledged
2020-08-25 16:36 Jim Luth Relationship added related to 0005762
2022-09-27 16:19 Jim Luth Assigned To => Jim Luth
2022-09-27 16:19 Jim Luth Status acknowledged => closed
2022-09-27 16:19 Jim Luth Resolution open => fixed
2022-09-27 16:19 Jim Luth Note Added: 0017855