aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/utils/sort/tuplesort.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/backend/utils/sort/tuplesort.c b/src/backend/utils/sort/tuplesort.c
index af0109fda65..80a027d4a7a 100644
--- a/src/backend/utils/sort/tuplesort.c
+++ b/src/backend/utils/sort/tuplesort.c
@@ -91,7 +91,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/sort/tuplesort.c,v 1.63 2006/03/07 19:06:50 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/sort/tuplesort.c,v 1.64 2006/03/08 16:59:03 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -296,6 +296,7 @@ struct Tuplesortstate
int *tp_runs; /* # of real runs on each tape */
int *tp_dummy; /* # of dummy runs for each tape (D[]) */
int *tp_tapenum; /* Actual tape numbers (TAPE[]) */
+ int activeTapes; /* # of active input tapes in merge pass */
/*
* These variables are used after completion of sorting to keep track of
@@ -943,9 +944,15 @@ tuplesort_performsort(Tuplesortstate *state)
#ifdef TRACE_SORT
if (trace_sort)
- elog(LOG, "performsort done%s: %s",
- (state->status == TSS_FINALMERGE) ? " (except final merge)" : "",
- pg_rusage_show(&state->ru_start));
+ {
+ if (state->status == TSS_FINALMERGE)
+ elog(LOG, "performsort done (except %d-way final merge): %s",
+ state->activeTapes,
+ pg_rusage_show(&state->ru_start));
+ else
+ elog(LOG, "performsort done: %s",
+ pg_rusage_show(&state->ru_start));
+ }
#endif
MemoryContextSwitchTo(oldcontext);
@@ -1566,7 +1573,7 @@ mergeonerun(Tuplesortstate *state)
#ifdef TRACE_SORT
if (trace_sort)
- elog(LOG, "finished merge step: %s",
+ elog(LOG, "finished %d-way merge step: %s", state->activeTapes,
pg_rusage_show(&state->ru_start));
#endif
}
@@ -1614,6 +1621,7 @@ beginmerge(Tuplesortstate *state)
activeTapes++;
}
}
+ state->activeTapes = activeTapes;
/*
* Initialize space allocation to let each active input tape have an equal