class ldapadvisorytxcon : ?connect_timeout:int -> ?referral_policy:[> `RETURN ] -> ?version:int -> string list -> string -> string -> string ->
object
.. end
A subclass of ldapcon which implements an experimental interface
to draft_zeilenga_ldap_txn. A draft standard for multi object
transactions over the ldap protocol. This class can only implement
advisory transactions because it must depend on the advisory
locking mechanisms for the transactions to be consistant. You use
this class by calling begin_txn to get a transaction id, and then
associating a set of ldapentry objects with the transaction by
calling associate_entry_with_txn. You are then free to modify
those entries in any way you like, and when you are done, you can
either call commit_txn, or rollback_txn. Commit will commit the
changes of all the entries associated with the transaction to the
database. For other writers which obey advisory locking the commit
operation is atomic. For readers which are willing to obey
advisory locking is atomic. If the commit fails, a full rollback
occurrs, including all changes made to the directory. For example
in a set of N entries in a transaction, if the modificiation of
the nth entry fails to commit, then the modifications to all the
previous entries, which have already been made in the directory,
are undone. It is important to note that if advisory locking is
not obeyed, rollback may not be successful. Rollback undoes all
the changes you've made in memory, and unlocks all the objects in
the transaction. After a transaction object has been commited or
rolled back it is considered "dead", and cannot be used again.
method add : Ldap_ooclient.ldapentry -> unit
method bind : ?cred:string -> ?meth:Ldap_funclient.authmethod -> string -> unit
method delete : string -> unit
method modify : string -> (Ldap_types.modify_optype * string * string list) list -> unit
method modrdn : string -> ?deleteoldrdn:bool -> ?newsup:string option -> string -> unit
method rawschema : Ldap_ooclient.ldapentry
method schema : Ldap_schemaparser.schema
method search : ?scope:Ldap_types.search_scope ->
?attrs:string list ->
?attrsonly:bool -> ?base:string -> string -> Ldap_ooclient.ldapentry list
method search_a : ?scope:Ldap_types.search_scope ->
?attrs:string list ->
?attrsonly:bool ->
?base:string -> string -> ?abandon:bool -> unit -> Ldap_ooclient.ldapentry
method unbind : unit
method update_entry : Ldap_ooclient.ldapentry -> unit
method begin_txn : txn
method associate_entry : txn -> Ldap_ooclient.ldapentry_t -> unit
method associate_entries : txn -> Ldap_ooclient.ldapentry_t list -> unit
method disassociate_entry : txn -> Ldap_ooclient.ldapentry_t -> unit
method disassociate_entries : txn -> Ldap_ooclient.ldapentry_t list -> unit
method commit_txn : txn -> unit
method rollback_txn : txn -> unit