Re: Question about todo item

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Question about todo item
Дата
Msg-id 4825.996981099@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Question about todo item  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: Question about todo item  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: Question about todo item  (Jan Wieck <JanWieck@Yahoo.com>)
Список pgsql-hackers
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> I keep bugging Jan about it, since pre-7.1 and no one has come up with
> an idea.

Well, if you want an idea:
BEGIN;
SELECT open_toast_object(toastable_column) FROM tab WHERE ...;
-- app checks that it got exactly one result back
-- app lo_reads and/or lo_writes using ID returned by SELECT
END;

Implementation is left as an exercise for the reader ;-).

Offhand this seems like it would be doable for a column-value that
was actually moved out-of-line by TOAST, since the open_toast_object
function could see and return the TOAST pointer, and then the read/
write operations just hack on rows in pg_largeobject.  The hard part
is how to provide equivalent functionality (transparent to the client
of course) when the particular value you select has *not* been moved
out-of-line.  Ideas anyone?
        regards, tom lane


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Question about todo item
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Question about todo item