I wrote: > "Kurt Harriman" <[EMAIL PROTECTED]> writes: >> Just noticed buffile.c:292 doesn't look quite right where >> BufFileDumpBuffer calls FileWrite: >> bytestowrite = FileWrite(thisfile, file->buffer, bytestowrite); >> It looks as though it would write the same data each time the >> loop is iterated. Would this be better? >> bytestowrite = FileWrite(thisfile, file->buffer + wpos, bytestowrite);
> Yeah, I think you're right. FYI, I was able to exercise the bug by changing RELSEG_SIZE to 2 within buffile.c and then running this script in the regression database: set work_mem = '64kB'; begin; declare c scroll cursor for select * from tenk1 a join tenk1 b using(two); fetch 1 from c; fetch 100 from c; fetch backward 10 from c; fetch 100 from c; fetch backward 10 from c; fetch 100 from c; fetch backward 100 from c; commit; It doesn't crash with the fix applied. Thanks for spotting it. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match