From: Jong Hyuk Choi Date: Tue, 22 Jun 2004 23:22:16 +0000 (+0000) Subject: patch for ITS#3173 X-Git-Tag: OPENDLAP_REL_ENG_2_2_MP~191 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b459e593940356fb08017ec1515f50bd8274657c;p=openldap patch for ITS#3173 - passing transaction ptr to psearch --- diff --git a/servers/slapd/back-bdb/proto-bdb.h b/servers/slapd/back-bdb/proto-bdb.h index 8561e1ca5d..40a9f5a867 100644 --- a/servers/slapd/back-bdb/proto-bdb.h +++ b/servers/slapd/back-bdb/proto-bdb.h @@ -537,10 +537,19 @@ int bdb_locker_id( Operation *op, DB_ENV *env, int *locker ); #define bdb_abandon BDB_SYMBOL(abandon) #define bdb_cancel BDB_SYMBOL(cancel) #define bdb_do_search BDB_SYMBOL(do_search) +#define bdb_psearch BDB_SYMBOL(psearch) BI_op_abandon bdb_abandon; BI_op_cancel bdb_cancel; +int bdb_psearch( + Operation *op, + SlapReply *rs, + Operation *ps_op, + Entry *entry, + int psearch_type +); + int bdb_do_search( Operation *op, SlapReply *rs, @@ -548,7 +557,6 @@ int bdb_do_search( Entry *entry, int psearch_type ); -#define bdb_psearch(op, rs, sop, e, ps_type) bdb_do_search(op, rs, sop, e, ps_type) /* * trans.c diff --git a/servers/slapd/back-bdb/search.c b/servers/slapd/back-bdb/search.c index 9bdf1799c0..f93dfad268 100644 --- a/servers/slapd/back-bdb/search.c +++ b/servers/slapd/back-bdb/search.c @@ -361,6 +361,14 @@ int bdb_search( Operation *op, SlapReply *rs ) return bdb_do_search( op, rs, op, NULL, 0 ); } +int bdb_psearch( Operation *op, SlapReply *rs, Operation *sop, + Entry *ps_e, int ps_type ) +{ + sop->o_private = op->o_private; + bdb_do_search( op, rs, sop, ps_e, ps_type ); + sop->o_private = NULL; +} + /* For persistent searches, op is the currently executing operation, * sop is the persistent search. For regular searches, sop = op. */