From: Kurt Zeilenga Date: Sat, 29 Jan 2000 23:36:42 +0000 (+0000) Subject: Add matching rule function pointers for index generation and use with X-Git-Tag: LDBM_PRE_GIANT_RWLOCK~3213 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=e0f7614a11b3dbc8d0f790f0de2e1ab58ddf0763;p=openldap Add matching rule function pointers for index generation and use with filters. --- diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h index 6487727325..834006c5b9 100644 --- a/servers/slapd/slap.h +++ b/servers/slapd/slap.h @@ -178,12 +178,29 @@ typedef int slap_mr_match_func LDAP_P(( struct berval * value, struct berval * assertValue )); +/* Index generation function */ +typedef int slap_mr_indexer_func LDAP_P(( + struct slap_syntax *syntax, /* syntax of stored value */ + struct slap_matching_rule *mr, + struct berval **values, + struct berval **keys )); + +struct slap_filter; /* forward declaration */ +/* Filter index function */ +typedef int slap_mr_filter_func LDAP_P(( + struct slap_syntax *syntax, /* syntax of stored value */ + struct slap_matching_rule *mr, + struct slap_filter *filter, + struct berval **keys )); + typedef struct slap_matching_rule { LDAP_MATCHING_RULE smr_mrule; + Syntax *smr_syntax; slap_mr_convert_func *smr_convert; slap_mr_normalize_func *smr_normalize; slap_mr_match_func *smr_match; - Syntax *smr_syntax; + slap_mr_indexer_func *smr_indexer; + slap_mr_filter_func *smr_filter; struct slap_matching_rule *smr_next; #define smr_oid smr_mrule.mr_oid #define smr_names smr_mrule.mr_names