]> git.sur5r.net Git - openldap/commitdiff
SLAP_NVALUES: index normalized values
authorKurt Zeilenga <kurt@openldap.org>
Sat, 1 Mar 2003 05:17:44 +0000 (05:17 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Sat, 1 Mar 2003 05:17:44 +0000 (05:17 +0000)
servers/slapd/back-bdb/index.c
servers/slapd/back-bdb/modify.c

index dd695783df4706b21da174eaaa3087e693f7bb5a..1120054eb3f8b6a7c8f670fd4ccfa8cd43f8a6d1 100644 (file)
@@ -356,8 +356,14 @@ bdb_index_entry(
 
        /* add each attribute to the indexes */
        for ( ; ap != NULL; ap = ap->a_next ) {
-               rc = bdb_index_values( be, txn,
-                       ap->a_desc, ap->a_vals, e->e_id, op );
+#ifdef SLAP_NVALUES
+               rc = bdb_index_values( be, txn, ap->a_desc,
+                       ap->a_nvals ? ap->a_nvals : ap->a_vals,
+                       e->e_id, op );
+#else
+               rc = bdb_index_values( be, txn, ap->a_desc,
+                       ap->a_vals, e->e_id, op );
+#endif
 
                if( rc != LDAP_SUCCESS ) {
 #ifdef NEW_LOGGING
index 167938a9605af9f4c25798b9987c15019d418759..9fe2b47ef6db669143c937b13975bf6e3ca1e425 100644 (file)
@@ -209,7 +209,12 @@ int bdb_modify_internal(
        /* start with deleting the old index entries */
        for ( ap = save_attrs; ap != NULL; ap = ap->a_next ) {
                if ( ap->a_flags & SLAP_ATTR_IXDEL ) {
-                       rc = bdb_index_values( be, tid, ap->a_desc, ap->a_vals,
+                       rc = bdb_index_values( be, tid, ap->a_desc,
+#ifdef SLAP_NVALUES
+                               ap->a_nvals ? ap->a_nvals : ap->a_vals,
+#else
+                               ap->a_vals,
+#endif
                                e->e_id, SLAP_INDEX_DELETE_OP );
                        if ( rc != LDAP_SUCCESS ) {
                                attrs_free( e->e_attrs );
@@ -232,7 +237,12 @@ int bdb_modify_internal(
        /* add the new index entries */
        for ( ap = e->e_attrs; ap != NULL; ap = ap->a_next ) {
                if (ap->a_flags & SLAP_ATTR_IXADD) {
-                       rc = bdb_index_values( be, tid, ap->a_desc, ap->a_vals,
+                       rc = bdb_index_values( be, tid, ap->a_desc,
+#ifdef SLAP_NVALUES
+                               ap->a_nvals ? ap->a_nvals : ap->a_vals,
+#else
+                               ap->a_vals,
+#endif
                                e->e_id, SLAP_INDEX_ADD_OP );
                        if ( rc != LDAP_SUCCESS ) {
                                attrs_free( e->e_attrs );