Re: Better support for whole-row operations and composite

Поиск
Список
Период
Сортировка
От Joe Conway
Тема Re: Better support for whole-row operations and composite
Дата
Msg-id 406E3D6D.6080902@joeconway.com
обсуждение исходный текст
Ответ на Re: Better support for whole-row operations and composite types  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Better support for whole-row operations and composite types  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> Joe Conway <mail@joeconway.com> writes:
>>Almost compatible. I found that, to my surprise, PL/R compiles with no 
>>changes after your commit. However it no segfaults (as I expected) on 
>>composite type arguments. Should be easy to fix though (I think, really 
>>haven't looked at it hard yet).
> 
> Let me know what you find out --- if I missed a trick on compatibility,
> there's still plenty of time to fix it.

I still haven't had time to look closely, and well may have been doing 
something non-standard all along, but in any case this is the current 
failing code:
  else if (function->arg_is_rel[i])  {    /* for tuple args, convert to a one row data.frame */    TupleTableSlot *slot
=(TupleTableSlot *) arg[i];    HeapTuple        tuples = slot->val;    TupleDesc        tupdesc =
slot->ttc_tupleDescriptor;
    PROTECT(el = pg_tuple_get_r_frame(1, &tuples, tupdesc));  }

The problem was (I think -- I'll check a little later) that 
slot->ttc_tupleDescriptor is now '\0'.

>>Hmmm. I had thought maybe we could use a single datatype (anyarray?) 
>>with in/out functions that would need to do the right thing based on the 
>>element type.
> 
> If we have just one datatype, how will the parser determine the type of
> a "foo[subscript]" expression?  After thinking a bit, I don't see how to
> do that except by adding an out-of-line decoration to the underlying
> type, somewhat like we do for "setof" or atttypmod.  This is doable as
> far as the backend itself is concerned, but the compatibility
> implications for clients and user-written extensions seem daunting :-(

I'll think-about/play-with this some more, hopefully this weekend.

Thanks,

Joe


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Function to kill backend
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Better support for whole-row operations and composite types