summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/pblock.c
diff options
context:
space:
mode:
authorNoriko Hosoi <nhosoi@redhat.com>2008-07-15 16:49:43 +0000
committerNoriko Hosoi <nhosoi@redhat.com>2008-07-15 16:49:43 +0000
commitcaf70cef506b2e85b9df86ecbba5de5ec1b4ee1e (patch)
tree2810263ae3abb9ffe21a4bc3d7ae80a42fea3634 /ldap/servers/slapd/pblock.c
parent0bcf4f075f6ac857d60464f4d259374a9929ab2b (diff)
downloadds-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.c18
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: