Currently the retro changelog supports a set of additional attributes: * built-in attribute: isReplicated * any attributes stored in the changed entry: e.g. cn, uid, objectClass Adding nsUniqueId into the change log record is currently not possible because it requires calling the slapi_entry_get_uniqueid(). Also the additional attribute may conflict with the standard attributes in the change log record. To fix this problem the plugin should support the nsUniqueId as a built-in attribute and an alias for renaming each additional attribute. The alias should be specified after the attribute name in the nsslapd-attribute, separated by a colon. For example: nsslapd-attribute: nsUniqueId:changedUniqueId nsslapd-attribute: objectClass:changedObjectClass The change log record should look like the following: dn: changenumber=...,cn=changelog objectClass: top objectClass: changelogentry objectClass: extensibleObject changeNumber: ... changeTime: ... changeType: ... targetDn: ... changedUniqueId: <nsUniqueId of the changed entry> changedObjectClass: <objectClass of the changed entry>
Created attachment 383418 [details] Patch
To ssh://git.fedorahosted.org/git/389/ds.git cd1ab96..9f88491 master -> master commit 9f88491132cb2d1c5f11fd5475e1a6826e1dc7ee Author: Endi S. Dewata <endisd> Date: Tue Jan 12 14:43:08 2010 -0600 Pushed to master by rmeggins
ldapsearch -x -h localhost -p 1389 -D "cn=Directory Manager" -w Secret123 -b "cn=changelog" -s sub "(objectclass=*)" nsUniqueId # extended LDIF # # LDAPv3 # base <cn=changelog> with scope subtree # filter: (objectclass=*) # requesting: nsUniqueId # # changelog dn: cn=changelog nsUniqueId: a511a250-9bef11e0-8bc3f046-3ecc72f1 # 26, changelog dn: changenumber=26,cn=changelog nsUniqueId: d0f05e04-9ca711e0-8bc3f046-3ecc72f1 # 27, changelog dn: changenumber=27,cn=changelog nsUniqueId: cafb7d56-9ca911e0-8bc3f046-3ecc72f1 Hence Verified.