Question to Gary or Patrick about DAOS

Where does DAOS store the ticket information? I traced file activity and I saw that when I delete a document with an attachment, only the NSF is modifed at a file-system level… does DAOS store the ticket information in each DB or there is a central repository?

Thanks

Subject: Re: Question to Gary or Patrick about DAOS

You might want to read my response to your other post (just finished it) but…

An attachment (object) is stored in the NSF file. Normally the attachment contents are stored in the object in the NSF. DAOS replaces the object contents with a ticket if the attachment is stored in DAOS instead. When you delete an attachment that is stored in DAOS, the object (ticket) will be deleted from the NSF file, and the count of references to that NLO file will be decremented in the daoscat.nsf. I could believe that you might not see that update to daoscat.nsf immediately due to caching, but…it’s there.

daoscat.nsf contains a list of NSF files that are holding tickets (DAOS Id Table), and a list of the NLO files and how many references there are to each (DAOS Object Index).

Subject: How do I read daoscat.nsf?

Thanks Patrick for your answer.However I didn’t find any way to read DaosCat.nsf by using the Notes C API.

I used notespeek to analyze this DB internally but it shows an empty DB (no docs) with no relevant design. I guess this is an NSF but to retrieve the internal DAOS content you use another set of APIs not documented.

Also you tell me that it is cached, is there any choice to read it from a workstation? I’ve seen that the ACL denies the default access.

It’s enough for me to know if a given object ID (RRV) is “DAOSized” and if when I delete this Object ID then the number of tickets is 0 or not… based on what you said, this information can be obtained since you know the # of tickets pointing to a .nlo.

So, based on an object ID I can obtain the nlo file name… based on this I can obtain (I didn’t find the way but you tell me that in DaosCat.nsf this information is stored) how many tickets a given NLO file has.

I need to know first how to traverse this DaosCat.nsf, and second how to see if a given Object ID (RRV) is DAOSized or not since as you told, it’s possible that the att is DAOSized but the flag is not set, or that the flag is set and the attachment is not DAOSized even if the .nlo exists (due to the same att in another DB).

I saw there is an API you use: DbGetObjectContextInfo but it contains 6 parameters and no information about them.

Thanks.

Subject: Re: How do I read daoscat.nsf?

Unfortunately…daoscat.nsf contents are subject to radical change, and are therefore not public, and the details of how and what is stored in there are not published. As a result, I don’t believe you will be able to get the information that you are looking for. I mentioned it to illustrate how the DAOS engine works, not as a suggested interface. The ACL restrictive and there are no views for a reason; there is nothing to see there.

The entry points that mention DAOS and are visible from the notes library are not published, and I would strongly advise against calling them. That can and will lead to data loss when used improperly, and in any case are not externally supported elements of the Domino API.

The only currently supported way of determining what NLO files are referenced by an NSF is by using the daosmgr LISTNLO command, and that will only list references by the NSF as a whole, not for an individual RRV.