Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-899

Unify NodeIdentifier and NodeIdentifierWithPredicates

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Medium Medium
    • 14.0.0
    • None
    • data-impl
    • None

      The dichotomy of these two PathArguments leads to keyed list items being addressed through two PathArguments. With YANGTOOLS-585 out of the way the presence of lists as  DataTree elements is an implementation detail, as they are completely transparent to datastore operations.

      Considering filtering requirements coming from RFC6241, there really are four levels of NodeIdentifier when we are considering lists:

      • NodeIdentifier: select all members
      • NodeIdentifierWithPredicates: select a single (keyed) list entry
      • NodeIdentifier + NodePredicates: select all nodes matching predicates
      • if NodePredicates is a superset of key predicates: select single entry if it is matching additional predicates

      This has interplay with other types like containers, where predicates must match leaves – hence having a read() of a container using NodeIdentifier + NodePredicates would a well-defined filtering operation. We also need to consider implementation complexity and usefulness in face of the fact we want to support XPath queries at some point.

            Unassigned Unassigned
            rovarga Robert Varga
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: