Skip to content

RecordType updates#2590

Open
GuntherRademacher wants to merge 3 commits intoBaseXdb:mainfrom
GuntherRademacher:record-type
Open

RecordType updates#2590
GuntherRademacher wants to merge 3 commits intoBaseXdb:mainfrom
GuntherRademacher:record-type

Conversation

@GuntherRademacher
Copy link
Member

This PR consists of three commits:

  • bc3ad9f: fixes instance of for maps vs. records: maps are no longer treated as instances of record types without validating required fields and their types. This fixes an incorrect result for cases like:
    map:entries({ 'x': 1 }) instance of record(a)
  • f7073c5: implements the previously missing intersection between records and maps, fixing the wrong result that occurred for
    let $map := (
      {'x':5, 'y':6}
      => map:put(xs:NCName('x'), true())
      => map:put(xs:NCName('y'), (false(), false()))
    )
    return (
      $map instance of map(xs:NCName, xs:boolean+) or
      $map instance of map(xs:string, xs:boolean+)
    )
  • f191685: removes the extensible flag from records and adapts record coercion to drop excess fields.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant