Re: [HACKERS] TupleTableSlot API problem

2009-03-29 Thread Tom Lane
Andrew Gierth writes: > This one is simpler and works on 8.2 as well: Yeah, I had just finished making the same adjustment to get an 8.2-compatible test case. 8.1 and before should be okay because they haven't got the MinimalTuple business. regards, tom lane -- Sent vi

Re: [HACKERS] TupleTableSlot API problem

2009-03-29 Thread Andrew Gierth
> "Tom" == Tom Lane writes: >>> Yup, fails the same way on an --enable-cassert build of 8.3.7. And on 8.2.13. Tom> Do you have a quick test case? I just finished coding up my Tom> plan-C fix, and I need some test cases ... Andrew> This is the one I've been using: This one is simpler

Re: [HACKERS] TupleTableSlot API problem

2009-03-29 Thread Andrew Gierth
> "Tom" == Tom Lane writes: Tom> Andrew Gierth writes: >> Yup, fails the same way on an --enable-cassert build of 8.3.7. Tom> Do you have a quick test case? I just finished coding up my Tom> plan-C fix, and I need some test cases ... This is the one I've been using: create or replace

Re: [HACKERS] TupleTableSlot API problem

2009-03-29 Thread Tom Lane
Andrew Gierth writes: > Yup, fails the same way on an --enable-cassert build of 8.3.7. Do you have a quick test case? I just finished coding up my plan-C fix, and I need some test cases ... regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgre

Re: [HACKERS] TupleTableSlot API problem

2009-03-29 Thread Andrew Gierth
> "Tom" == Tom Lane writes: Tom> Yeah, good point. However I think that you could still get a Tom> failure. The cases where a slot might contain a minimal tuple Tom> are generally where we are reading out of a tuplestore or Tom> tuplesort object, and all you have to do to get it to be a

Re: [HACKERS] TupleTableSlot API problem

2009-03-29 Thread Andrew Gierth
> "Tom" == Tom Lane writes: >> For example, given some function foo(out a text, out b text) returning >> setof record, the query select t.a, t from foo() t; follows the >> sequence of events you describe, but it doesn't fail because >> slot-> tts_shouldFree is false, so the original minim

Re: [HACKERS] TupleTableSlot API problem

2009-03-29 Thread Tom Lane
Andrew Gierth writes: > "Tom" == Tom Lane writes: > Tom> In principle there ought to be a whole lot of bugs around this > Tom> area, because ExecFetchSlotTuple, ExecFetchSlotMinimalTuple, and > Tom> ExecFetchSlotTupleDatum all are potentially destructive of the > Tom> original slot contents;

Re: [HACKERS] TupleTableSlot API problem

2009-03-29 Thread Andrew Gierth
> "Tom" == Tom Lane writes: Tom> What is happening is that ExecProject fetches the Datum value of Tom> t2.path from a TupleTableSlot that contains a "minimal tuple" Tom> fetched from the tuplestore associated with the CTE "t". Then, Tom> it fetches the value of the whole-row variable t2.