Hi Daniel,
seems hard to reproduce. Could you tell me what you did step by step? This is what I tried:
1. I created a DB database. 2. I added the document <root id='id'/> to the database path /path/file.xml. 3. I replaced this document with the same document via the DBA. 4. Your query db:open('DB')/root[@id='id']/base-uri() returned a single string.
Thanks in advance, Christian
PS: The form parameter handling in 9.2 contains a little bug (as a result, I couldn’t invoke the replace functionality with the current version). I just uploaded a new snapshot. Both the current and the snapshot version should behave identically in terms of adding and replacing documents.
On Fri, Apr 26, 2019 at 4:45 PM Zimmel, Daniel D.Zimmel@esvmedien.de wrote:
Hello,
something has gone awry in my database after a db:replace():
query: db:open('DB','/path/file.xml')/base-uri()
result: /DB/path/file.xml
This is as expected. The result is the replaced file. But when I
query: db:open('DB')/root[@id='id']/base-uri()
result is a sequence: /DB/path/file.xml /DB/path/file.xml
The first result is the file before the db:replace(), the second after.
Can somebody explain why db:open() with path parameter is returning one result, but without parameter two results? Database statistics say there are indeed two documents. But when I export the database, only one gets exported.
This happens with db:replace() on 9.2 from the DBA browser interface. When I use the same db:replace() XQuery on 9.2 with my local database, all is well (document gets replaced, no duplicates). Settings should be the default ones.
Thanks, Daniel