]> git.sur5r.net Git - openldap/commitdiff
Added patch from Stuart Lynne to SYNC cache to disk on write.
authorKurt Zeilenga <kurt@openldap.org>
Tue, 18 Aug 1998 02:28:00 +0000 (02:28 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Tue, 18 Aug 1998 02:28:00 +0000 (02:28 +0000)
Ifdef'ed patch around LDBM_PESSIMISTIC as it causes slapd to sloowww down.

servers/slapd/back-ldbm/dn2id.c
servers/slapd/back-ldbm/idl.c

index c4116086b00d5aab3d143a14f045956a3737c51d..4ee592da0748a1909ecea750c47e93d617461a25 100644 (file)
@@ -41,7 +41,11 @@ dn2id_add(
        data.dptr = (char *) &id;
        data.dsize = sizeof(ID);
 
+#ifdef LDBM_PESSIMISTIC
+       rc = ldbm_cache_store( db, key, data, LDBM_INSERT | LDBM_SYNC );
+#else
        rc = ldbm_cache_store( db, key, data, LDBM_INSERT );
+#endif
 
        free( dn );
        ldbm_cache_close( be, db );
@@ -62,10 +66,10 @@ dn2id(
        ID              id;
        Datum           key, data;
 
-       Debug( LDAP_DEBUG_TRACE, "=> dn2id( \"%s\" )\n", dn, 0, 0 );
 
        dn = strdup( dn );
        dn_normalize_case( dn );
+       Debug( LDAP_DEBUG_TRACE, "=> dn2id( \"%s\" )\n", dn, 0, 0 );
 
        /* first check the cache */
        if ( (e = cache_find_entry_dn( &li->li_cache, dn )) != NULL ) {
index 60828a26101a23339b5e4807305aa0f9b9147f95..7646765a0287cdd8f9aac63212c3a0c0f7ac148f 100644 (file)
@@ -2,7 +2,6 @@
 
 #include <stdio.h>
 #include <sys/types.h>
-#include <sys/socket.h>
 #include "slap.h"
 #include "ldapconfig.h"
 #include "back-ldbm.h"
@@ -172,7 +171,11 @@ idl_store(
        data.dptr = (char *) idl;
        data.dsize = (2 + idl->b_nmax) * sizeof(ID);
 
+#ifdef LDBM_PESSIMISTIC
+       rc = ldbm_cache_store( db, key, data, LDBM_REPLACE | LDBM_SYNC );
+#else
        rc = ldbm_cache_store( db, key, data, LDBM_REPLACE );
+#endif
 
        /* Debug( LDAP_DEBUG_TRACE, "<= idl_store %d\n", rc, 0, 0 ); */
        return( rc );
@@ -726,12 +729,9 @@ idl_notin(
        if ( a == NULL ) {
                return( NULL );
        }
-       if ( b == NULL ) {
+       if ( b == NULL || ALLIDS( b )) {
                return( idl_dup( a ) );
        }
-       if ( ALLIDS( b ) ) {
-               return( NULL );
-       }
 
        if ( ALLIDS( a ) ) {
                n = idl_alloc( SLAPD_LDBM_MIN_MAXIDS );