Re: Replacement Selection - Mailing list pgsql-hackers

From
Subject Re: Replacement Selection
Date
Msg-id BAY132-DS29B97B01D7C8267DECC12E6720@phx.gbl
Whole thread Raw
In response to Autovacuum and OldestXmin  (Simon Riggs <simon@2ndquadrant.com>)
Responses Re: Replacement Selection
List pgsql-hackers
> in puttuple_common(), the transition from an internal to external sort is
> performed at the bottom of the TSS_INITIAL case in the main switch 
> statement.

The transition? Do we internal sort somewhere else and then external sort 
here in tuplesort.c?

> The function dumptuples() heapifies the in-core tuples (divides the 
> in-core tuples into initial runs and then advances the state to 
> TSS_BUILDRUNS).

Cannot see where dumptuples() "advances the state to TSS_BUILDRUNS".
I expected something like   state->status = TSS_BUILDRUNS;
executed through dumptuples()



>
> I recommend you run the code in the debugger on a external-sorting query: 
> watch two or three tuples go into the heap and you'll get the idea.
>
> The top of the heap is at state->memtuples[0] the heap goes down from 
> there. New tuples are added there and the heap is adjusted (Using the 
> tuplesort_heap_siftup() function).
>
> -Tim
> 


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Release Note Changes
Next
From: Gregory Stark
Date:
Subject: Re: Replacement Selection