From 47692f39b1b3b5c589bfb63a6968aaf9f9af70c4 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 28 May 2009 16:11:45 +1000 Subject: a useful debugging tool When looking at performance problems with ldb it can be useful to see which searches causes unindexed full searches. This makes it easy to enable that. --- source4/lib/ldb/ldb_tdb/ldb_search.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'source4/lib/ldb/ldb_tdb') diff --git a/source4/lib/ldb/ldb_tdb/ldb_search.c b/source4/lib/ldb/ldb_tdb/ldb_search.c index d395c28f28..b307c5fb2f 100644 --- a/source4/lib/ldb/ldb_tdb/ldb_search.c +++ b/source4/lib/ldb/ldb_tdb/ldb_search.c @@ -546,6 +546,13 @@ int ltdb_search(struct ltdb_context *ctx) * callback error */ if ( ! ctx->request_terminated && ret != LDB_SUCCESS) { /* Not indexed, so we need to do a full scan */ +#if 0 + /* useful for debugging when slow performance + * is caused by unindexed searches */ + char *expression = ldb_filter_from_tree(ctx, ctx->tree); + printf("FULL SEARCH: %s\n", expression); + talloc_free(expression); +#endif ret = ltdb_search_full(ctx); if (ret != LDB_SUCCESS) { ldb_set_errstring(ldb, "Indexed and full searches both failed!\n"); -- cgit