- parent_is_glue = is_entry_glue(p);
- rs->sr_err = mdb_dn2id_children( op, txn, p );
- if ( rs->sr_err != MDB_NOTFOUND ) {
- switch( rs->sr_err ) {
- case 0:
- break;
- default:
- Debug(LDAP_DEBUG_ARGS,
- "<=- " LDAP_XSTRING(mdb_modrdn)
- ": has_children failed: %s (%d)\n",
- mdb_strerror(rs->sr_err), rs->sr_err, 0 );
- rs->sr_err = LDAP_OTHER;
- rs->sr_text = "internal error";
- goto return_results;
+ if ((parent_is_glue = is_entry_glue(p))) {
+ rs->sr_err = mdb_dn2id_children( op, txn, p );
+ if ( rs->sr_err != MDB_NOTFOUND ) {
+ switch( rs->sr_err ) {
+ case 0:
+ break;
+ default:
+ Debug(LDAP_DEBUG_ARGS,
+ "<=- " LDAP_XSTRING(mdb_modrdn)
+ ": has_children failed: %s (%d)\n",
+ mdb_strerror(rs->sr_err), rs->sr_err, 0 );
+ rs->sr_err = LDAP_OTHER;
+ rs->sr_text = "internal error";
+ goto return_results;
+ }
+ } else {
+ parent_is_leaf = 1;