Re: Question on EQUALITY on index and schema definition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On 4 Aug 2019, at 23:55, Lutz Berger <lutz.berger@xxxxxxxxxxxx> wrote:
> 
> Hello,
> 
> I've come across a web site 
> that claims that an "equality index" is only allowed for attributes
> that have "EQUALITY" in their description, "otherwise terrible things
> will happen".
> 
> For example
> >> attributeTypes: ( 1.3.6.1.4.1.13299.2.3.7.xxx NAME 'abCLZ'  EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'user defined' )
> 
> For the sake of correctness, I've tried to build an equality-index for an attribute missing such description, e.g.
> 
> >> attributeTypes: ( 1.3.6.1.4.1.13299.2.3.7.xyz NAME 'abID'  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'user defined' )
>       
> 
> Withour EQ-Index:
> [root@ur1 slapd-ur1devims]# fgrep "conn=34" access
> [03/Aug/2019:14:21:00 +0200] conn=34 fd=65 slot=65 connection from 192.168.69.152 to 192.168.69.152
> [03/Aug/2019:14:21:00 +0200] conn=34 op=0 BIND dn="cn=Directory Manager" method=128 version=3
> [03/Aug/2019:14:21:00 +0200] conn=34 op=0 RESULT err=0 tag=97 nentries=0 etime=0 dn="cn=directory manager"
> [03/Aug/2019:14:21:00 +0200] conn=34 op=1 SRCH base="ou=users,c=de,o=creditreform" scope=2 filter="(abID=777777777022544)" attrs=ALL
> [03/Aug/2019:14:21:26 +0200] conn=34 op=1 RESULT err=0 tag=101 nentries=1 etime=26 notes=A
> [03/Aug/2019:14:21:26 +0200] conn=34 op=2 UNBIND
> [03/Aug/2019:14:21:26 +0200] conn=34 op=2 fd=65 closed - U1
> [root@ur1 slapd-ur1devims]# 
> 
> With EQ-Index:
> [root@ur1 slapd-ur1devims]# fgrep "conn=35" access
> [03/Aug/2019:14:24:18 +0200] conn=35 fd=65 slot=65 connection from 192.168.69.152 to 192.168.69.152
> [03/Aug/2019:14:24:18 +0200] conn=35 op=0 BIND dn="cn=Directory Manager" method=128 version=3
> [03/Aug/2019:14:24:18 +0200] conn=35 op=0 RESULT err=0 tag=97 nentries=0 etime=0 dn="cn=directory manager"
> [03/Aug/2019:14:24:18 +0200] conn=35 op=1 SRCH base="ou=users,c=de,o=creditreform" scope=2 filter="(abID=777777777022544)" attrs=ALL
> [03/Aug/2019:14:24:18 +0200] conn=35 op=1 RESULT err=0 tag=101 nentries=1 etime=0
> [03/Aug/2019:14:24:18 +0200] conn=35 op=2 UNBIND
> [03/Aug/2019:14:24:18 +0200] conn=35 op=2 fd=65 closed - U1
> 
> My question is now, is the EQUALITY part of the schema description really necessary
> for building equality-indexes on attributes, since I couldn't reproduce any obvious 
> problem.
> 
> From the access pattern I see in the access log, building such an index is
> definitely beneficial in sense of performance.

I think that without the equality syntax defined, you will fall back on a literal memcmp between the two values as byte arrays. This of course has lots of issues with UTF8 and many other types. 

Generally if possible, it's *always* best to give a proper equality type to ensure that types will compare in an expected manner, rather than giving surprising results. Be explicit :) 

I hope that helps,

> 
> Thanks for your efforts!
> 

You are most welcome, and thanks for your question! 

> Best regards,
>   Lutz
> 
> 
> -- 
> Dipl.-Inform. Univ. Lutz Berger
> Email: lutz.berger@xxxxxxxxxxxx
> 
>  
> _______________________________________________
> 389-users mailing list -- 389-users@xxxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe send an email to 389-users-leave@xxxxxxxxxxxxxxxxxxxxxxx
> 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-users@xxxxxxxxxxxxxxxxxxxxxxx

—
Sincerely,

William Brown

Senior Software Engineer, 389 Directory Server
SUSE Labs
_______________________________________________
389-users mailing list -- 389-users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to 389-users-leave@xxxxxxxxxxxxxxxxxxxxxxx
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-users@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora User Discussion]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora News]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora QA]     [Fedora Triage]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Yosemite Photos]     [Linux Apps]     [Maemo Users]     [Gnome Users]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Maemo Users]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Fedora ARM]

  Powered by Linux