diff options
author | Noriko Hosoi <nhosoi@redhat.com> | 2008-07-15 16:49:43 +0000 |
---|---|---|
committer | Noriko Hosoi <nhosoi@redhat.com> | 2008-07-15 16:49:43 +0000 |
commit | caf70cef506b2e85b9df86ecbba5de5ec1b4ee1e (patch) | |
tree | 2810263ae3abb9ffe21a4bc3d7ae80a42fea3634 /ldap/servers/slapd/pblock.c | |
parent | 0bcf4f075f6ac857d60464f4d259374a9929ab2b (diff) | |
download | ds-caf70cef506b2e85b9df86ecbba5de5ec1b4ee1e.tar.gz ds-caf70cef506b2e85b9df86ecbba5de5ec1b4ee1e.tar.xz ds-caf70cef506b2e85b9df86ecbba5de5ec1b4ee1e.zip |
Resolves: #447353
Summary: RFE: search optimization and single character substring searches
Description: extended the substring key to have 3 types:
* begin (e.g., *^a)
* middle (e.g., *abc)
* end (e.g., *xy$)
* Usage: turn an index object to extensibleobject and set an integer value as
follows:
* dn: cn=sn, cn=index, cn=userRoot, cn=ldbm database, cn=plugins, cn=config
* objectClass: extensibleObject
* nsSubStrBegin: 2
* nsSubStrMiddle: 3
* nsSubStrEnd: 2
* [...]
Diffstat (limited to 'ldap/servers/slapd/pblock.c')
-rw-r--r-- | ldap/servers/slapd/pblock.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/ldap/servers/slapd/pblock.c b/ldap/servers/slapd/pblock.c index 987b2476..b6076b35 100644 --- a/ldap/servers/slapd/pblock.c +++ b/ldap/servers/slapd/pblock.c @@ -1059,6 +1059,9 @@ slapi_pblock_get( Slapi_PBlock *pblock, int arg, void *value ) } (*(IFP *)value) = pblock->pb_plugin->plg_syntax_compare; break; + case SLAPI_SYNTAX_SUBSTRLENS: + (*(int **)value) = pblock->pb_substrlens; + break; /* controls we know about */ case SLAPI_MANAGEDSAIT: @@ -2298,12 +2301,15 @@ slapi_pblock_set( Slapi_PBlock *pblock, int arg, void *value ) } pblock->pb_plugin->plg_syntax_compare = (IFP) value; break; - case SLAPI_ENTRY_PRE_OP: - pblock->pb_pre_op_entry = (Slapi_Entry *) value; - break; - case SLAPI_ENTRY_POST_OP: - pblock->pb_post_op_entry = (Slapi_Entry *) value; - break; + case SLAPI_SYNTAX_SUBSTRLENS: + pblock->pb_substrlens = (int *) value; + break; + case SLAPI_ENTRY_PRE_OP: + pblock->pb_pre_op_entry = (Slapi_Entry *) value; + break; + case SLAPI_ENTRY_POST_OP: + pblock->pb_post_op_entry = (Slapi_Entry *) value; + break; /* target address for all operations */ case SLAPI_TARGET_ADDRESS: |