]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-sql/delete.c
re-fix previus commit the other way 'round (rids are < 1000)
[openldap] / servers / slapd / back-sql / delete.c
index a6656a89844014fcd3221e2b21f3ff0d736dcaac..2bfddfda6cefb22a0ebafe900391aa60c402ae71 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1999-2006 The OpenLDAP Foundation.
+ * Copyright 1999-2007 The OpenLDAP Foundation.
  * Portions Copyright 1999 Dmitry Kovalev.
  * Portions Copyright 2002 Pierangelo Masarati.
  * All rights reserved.
@@ -441,6 +441,7 @@ backsql_delete( Operation *op, SlapReply *rs )
                SQLUSMALLINT    CompletionType = SQL_ROLLBACK;
        
                if ( rs->sr_err == LDAP_SUCCESS && !op->o_noop ) {
+                       assert( e == NULL );
                        CompletionType = SQL_COMMIT;
                }
 
@@ -462,6 +463,10 @@ done:;
                }
        }
 
+       if ( op->o_noop && rs->sr_err == LDAP_SUCCESS ) {
+               rs->sr_err = LDAP_X_NO_OPERATION;
+       }
+
        send_ldap_result( op, rs );
 
        Debug( LDAP_DEBUG_TRACE, "<==backsql_delete()\n", 0, 0, 0 );