Friday, March 20, 2020

[389-devel] Re: Adding new syntaxes

Hi William,

I only have a vague knowledge of syntaxes/MR.

Each syntax is a plugin. Its init function registers for a given set of
OIDs the matching rules (compare, order, substring) than handle that
syntax (calls slapi_matchingrule_register).
There is a special collation plugin that does the same for supported
language.
So a entryUUID syntax should define its matching rules callbacks and
register them for supported OID.

The MR are called during filter evaluation, both at candidate list built
and at filter match.
On write path, they are called to generate the index keys.

I think there is a slight difference between syntaxes plugins and
collation plugin in the way they are selected to apply for a given
attribute.
syntaxes provide the set of supported OIDs while for collation you need
to call the index to know if it supports the OID.

All of this are general ideas around syntax/MR and I think they are
quite correct.

best regards
thierry


On 3/20/20 4:37 AM, William Brown wrote:
> Hi there,
>
> I'm looking to add the syntaxes to handle entryUUID properly, because they have a different format to nsUniqueId. Thinking that I need to look at the plugins under ldap/servers/plugins/syntaxes/, but it would be good to have some extra insight about the plugin hooks. Should I look at the old plugin guide? Or is there some extra info I can get from somewhere?
>
> Thanks!
>
> —
> Sincerely,
>
> William Brown
>
> Senior Software Engineer, 389 Directory Server
> SUSE Labs
> _______________________________________________
> 389-devel mailing list -- 389-devel@lists.fedoraproject.org
> To unsubscribe send an email to 389-devel-leave@lists.fedoraproject.org
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/389-devel@lists.fedoraproject.org
_______________________________________________
389-devel mailing list -- 389-devel@lists.fedoraproject.org
To unsubscribe send an email to 389-devel-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/389-devel@lists.fedoraproject.org

No comments:

Post a Comment