diff options
| author | Tom Lane | 1999-10-17 22:15:09 +0000 |
|---|---|---|
| committer | Tom Lane | 1999-10-17 22:15:09 +0000 |
| commit | 26c48b5e8cffafaf3b8acf345ca9fd8a1e408a54 (patch) | |
| tree | cbcf32d78330eb3414abed1117b0a54090302a97 /src/include/nodes | |
| parent | 59ed74e60bb3c1ad2b83ebacbb49f74517d8764e (diff) | |
Final stage of psort reconstruction work: replace psort.c with
a generalized module 'tuplesort.c' that can sort either HeapTuples or
IndexTuples, and is not tied to execution of a Sort node. Clean up
memory leakages in sorting, and replace nbtsort.c's private implementation
of mergesorting with calls to tuplesort.c.
Diffstat (limited to 'src/include/nodes')
| -rw-r--r-- | src/include/nodes/execnodes.h | 20 | ||||
| -rw-r--r-- | src/include/nodes/plannodes.h | 4 |
2 files changed, 7 insertions, 17 deletions
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index 092fa57acb1..44aa8b8ace5 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: execnodes.h,v 1.36 1999/09/26 21:21:04 tgl Exp $ + * $Id: execnodes.h,v 1.37 1999/10/17 22:15:07 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -597,17 +597,9 @@ typedef struct GroupState /* ---------------- * SortState information * - *| sort nodes are really just a kind of a scan since - *| we implement sorts by retrieving the entire subplan - *| into a temp relation, sorting the temp relation into - *| another sorted relation, and then preforming a simple - *| unqualified sequential scan on the sorted relation.. - *| -cim 10/15/89 - * - * Flag indicated whether relation has been sorted - * Keys scan key structures used to keep info on sort keys - * TempRelation temporary relation containing result of executing - * the subplan. + * sort_Done indicates whether sort has been performed yet + * sort_Keys scan key structures describing the sort keys + * tuplesortstate private state of tuplesort.c * * CommonScanState information * @@ -628,9 +620,9 @@ typedef struct GroupState typedef struct SortState { CommonScanState csstate; /* its first field is NodeTag */ - bool sort_Flag; + bool sort_Done; ScanKey sort_Keys; - bool cleaned; + void *tuplesortstate; } SortState; /* ---------------- diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h index 095ee074d38..a03dacfb02b 100644 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: plannodes.h,v 1.30 1999/08/21 03:49:09 tgl Exp $ + * $Id: plannodes.h,v 1.31 1999/10/17 22:15:07 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -288,8 +288,6 @@ typedef struct Sort Oid nonameid; int keycount; SortState *sortstate; - void *psortstate; - bool cleaned; } Sort; /* ---------------- |
