From b459e593940356fb08017ec1515f50bd8274657c Mon Sep 17 00:00:00 2001 From: Jong Hyuk Choi Date: Tue, 22 Jun 2004 23:22:16 +0000 Subject: [PATCH] patch for ITS#3173 - passing transaction ptr to psearch --- servers/slapd/back-bdb/proto-bdb.h | 10 +++++++++- servers/slapd/back-bdb/search.c | 8 ++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) 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. */ -- 2.39.5