]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-sql/entry-id.c
slapi_ch_bvdup() should be implemented in terms of ber_dupbv()
[openldap] / servers / slapd / back-sql / entry-id.c
index 9d33b9df729ef27ff0800eeb7d25603e819ac5e5..0e17f1c1f860e0cceaa3306c7e816458e6ce68d3 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1999-2005 The OpenLDAP Foundation.
+ * Copyright 1999-2006 The OpenLDAP Foundation.
  * Portions Copyright 1999 Dmitry Kovalev.
  * Portions Copyright 2002 Pierangelo Masarati.
  * Portions Copyright 2004 Mark Adamson.
@@ -648,6 +648,11 @@ backsql_get_attr_vals( void *v_at, void *v_bsi )
                Debug( LDAP_DEBUG_TRACE, "backsql_get_attr_vals(): "
                        "error preparing query: %s\n", at->bam_query, 0, 0 );
                backsql_PrintErrors( bi->sql_db_env, bsi->bsi_dbh, sth, rc );
+#ifdef BACKSQL_COUNTQUERY
+               if ( append ) {
+                       attr_free( attr );
+               }
+#endif /* BACKSQL_COUNTQUERY */
                return 1;
        }
 
@@ -656,6 +661,11 @@ backsql_get_attr_vals( void *v_at, void *v_bsi )
        if ( rc != SQL_SUCCESS ) {
                Debug( LDAP_DEBUG_TRACE, "backsql_get_attr_vals(): "
                        "error binding key value parameter\n", 0, 0, 0 );
+#ifdef BACKSQL_COUNTQUERY
+               if ( append ) {
+                       attr_free( attr );
+               }
+#endif /* BACKSQL_COUNTQUERY */
                return 1;
        }
 
@@ -678,6 +688,11 @@ backsql_get_attr_vals( void *v_at, void *v_bsi )
                        at->bam_query, 0, 0 );
                backsql_PrintErrors( bi->sql_db_env, bsi->bsi_dbh, sth, rc );
                SQLFreeStmt( sth, SQL_DROP );
+#ifdef BACKSQL_COUNTQUERY
+               if ( append ) {
+                       attr_free( attr );
+               }
+#endif /* BACKSQL_COUNTQUERY */
                return 1;
        }