- }
-
- /*
- * Get the parent
- */
- bsi.bsi_e = &p;
- rs->sr_err = backsql_init_search( &bsi, &pdn,
- LDAP_SCOPE_BASE,
- SLAP_NO_LIMIT, SLAP_NO_LIMIT,
- (time_t)(-1), NULL, dbh, op, rs, slap_anlist_no_attrs,
- ( BACKSQL_ISF_MATCHED | BACKSQL_ISF_GET_ENTRY ) );
- if ( rs->sr_err != LDAP_SUCCESS ) {
- Debug( LDAP_DEBUG_TRACE, "backsql_add(): "
- "could not retrieve addDN parent "
- "\"%s\" ID - %s matched=\"%s\"\n",
- pdn.bv_val,
- rs->sr_err == LDAP_REFERRAL ? "referral" : "no such entry",
- rs->sr_matched ? rs->sr_matched : "(null)" );
- e = &p;
- goto done;
- }
-
- /* check "children" pseudo-attribute access to parent */
- if ( !access_allowed( op, &p, slap_schema.si_ad_children,
- NULL, ACL_WADD, NULL ) )
- {
- rs->sr_err = LDAP_INSUFFICIENT_ACCESS;
- e = &p;
- goto done;
- }