Diff for /servers/slapd/back-bdb/modrdn.c between versions 1.116 and 1.117

version 1.116, 2003/07/14 22:43:39 version 1.117, 2003/08/25 20:23:49
Line 1 Line 1
 /* modrdn.c - bdb backend modrdn routine */  /* modrdn.c - bdb backend modrdn routine */
 /* $OpenLDAP: pkg/ldap/servers/slapd/back-bdb/modrdn.c,v 1.115 2003/07/02 12:51:23 jongchoi Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/back-bdb/modrdn.c,v 1.116 2003/07/14 22:43:39 jongchoi Exp $ */
 /*  /*
  * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.   * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file   * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
Line 54  bdb_modrdn( Operation *op, SlapReply *rs Line 54  bdb_modrdn( Operation *op, SlapReply *rs
         int             num_retries = 0;          int             num_retries = 0;
   
 #ifdef LDAP_SYNC  #ifdef LDAP_SYNC
         Operation *ps_list;          Operation *ps_list;
         struct psid_entry *pm_list, *pm_prev;          struct psid_entry *pm_list, *pm_prev;
           int     rc;
           EntryInfo       *suffix_ei;
           Entry           *ctxcsn_e;
           int                     ctxcsn_added = 0;
 #endif  #endif
   
 #ifdef NEW_LOGGING  #ifdef NEW_LOGGING
Line 89  retry: /* transaction retry */ Line 93  retry: /* transaction retry */
 #endif  #endif
   
 #ifdef LDAP_SYNC  #ifdef LDAP_SYNC
                 pm_list = LDAP_LIST_FIRST(&op->o_pm_list);                  pm_list = LDAP_LIST_FIRST(&op->o_pm_list);
                 while ( pm_list != NULL ) {                  while ( pm_list != NULL ) {
                         LDAP_LIST_REMOVE ( pm_list, ps_link );                          LDAP_LIST_REMOVE ( pm_list, ps_link );
                         pm_prev = pm_list;                          pm_prev = pm_list;
                         pm_list = LDAP_LIST_NEXT ( pm_list, ps_link );                          pm_list = LDAP_LIST_NEXT ( pm_list, ps_link );
                         ch_free( pm_prev );                          ch_free( pm_prev );
                 }                  }
 #endif  #endif
   
                 rs->sr_err = TXN_ABORT( ltid );                  rs->sr_err = TXN_ABORT( ltid );
Line 911  retry: /* transaction retry */ Line 915  retry: /* transaction retry */
                 goto return_results;                  goto return_results;
         }          }
   
   #ifdef LDAP_SYNC
           rc = bdb_csn_commit( op, rs, ltid, ei, &suffix_ei, &ctxcsn_e, &ctxcsn_added, locker );
           switch ( rc ) {
           case BDB_CSN_ABORT :
                   goto return_results;
           case BDB_CSN_RETRY :
                   goto retry;
           }
   #endif
   
         if( op->o_noop ) {          if( op->o_noop ) {
                 if(( rs->sr_err=TXN_ABORT( ltid )) != 0 ) {                  if(( rs->sr_err=TXN_ABORT( ltid )) != 0 ) {
                         rs->sr_text = "txn_abort (no-op) failed";                          rs->sr_text = "txn_abort (no-op) failed";
Line 928  retry: /* transaction retry */ Line 942  retry: /* transaction retry */
                 if(( rs->sr_err=TXN_PREPARE( ltid, gid )) != 0 ) {                  if(( rs->sr_err=TXN_PREPARE( ltid, gid )) != 0 ) {
                         rs->sr_text = "txn_prepare failed";                          rs->sr_text = "txn_prepare failed";
                 } else {                  } else {
   #ifdef LDAP_SYNC
                           struct berval ctx_nrdn;
   #endif
   
                         bdb_cache_modrdn( save, &op->orr_nnewrdn, e, neip,                          bdb_cache_modrdn( save, &op->orr_nnewrdn, e, neip,
                                 bdb->bi_dbenv, locker, &lock );                                  bdb->bi_dbenv, locker, &lock );
   
   #ifdef LDAP_SYNC
                           if ( ctxcsn_added ) {
                                   ctx_nrdn.bv_val = "cn=ldapsync";
                                   ctx_nrdn.bv_len = strlen( ctx_nrdn.bv_val );
                                   bdb_cache_add( bdb, suffix_ei, ctxcsn_e, &ctx_nrdn, locker );
                           }
   #endif
   
                         if(( rs->sr_err=TXN_COMMIT( ltid, 0 )) != 0 ) {                          if(( rs->sr_err=TXN_COMMIT( ltid, 0 )) != 0 ) {
                                 rs->sr_text = "txn_commit failed";                                  rs->sr_text = "txn_commit failed";
                         } else {                          } else {

Removed from v.1.116  
changed lines
  Added in v.1.117


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org