Pierangelo Masarati wrote:
I recall seeing some old specification (e.g. <draft-armijo-ldap-treedelete>, expired 2001).
I'm confused now. HEAD announces LDAP_SERVER_TREE_DELETE_OID (1.2.840.113556.1.4.805) in its rootDSE. So I thought this control is already implemented in HEAD (upcoming 2.4). Yes?
No. Some time ago, I was planning to implement it in back-sql, but never completed that work. So, yes, slapd recognizes this control (HEAD only), but no backend handles it.
A much better approach would be to use LDAP transactions (e.g. <draft-zeilenga-ldap-txn>) so that the operation either fails or succeeds atomically.
Hmm, but with this approach the client would still have to send all the delete requests for single entries. Yes? This is bad for performance (very chatty on the wire, many LDAP requests to process in the frontend of the server. etc.). I think subtree deletion could be handled on the server-side more efficiently. From the client's perspective it's atomic processing of a single delete request.
Well, I didn't mean it like that. I meant that along the lines of the implementation of txn, transactional multiple deletes could be performed. This would allow back-bdb and back-hdb to support that control (and ease many internal operations that would be much better with transactional semantics, think of slapo-refint and so).
p.
Ing. Pierangelo Masarati OpenLDAP Core Team
SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it --------------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Email: pierangelo.masarati@sys-net.it ---------------------------------------