Suggestions for the best strategy to emulate returning multiple sets of results

Поиск
Список
Период
Сортировка
От Seref Arikan
Тема Suggestions for the best strategy to emulate returning multiple sets of results
Дата
Msg-id CA+4ThdozNHwcjyJTC4ehQqZ+GVU4FdOSyj2d63WSdLtpu6OzeQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: Suggestions for the best strategy to emulate returning multiple sets of results  (Merlin Moncure <mmoncure@gmail.com>)
Список pgsql-general
Greetings,
I have a binary blog which is passed to a plpython function by a plpgsql function. plpython is used to create 2 different transformations of this binary blob to sets of postgresql type instances.
The flow is:  blob -> plpython -> canonical python based data model ->  (set of db_type_As + set of db_type_Bs)
The problem is, transforming the binary blob to postgresql is expensive, and a single binary blob is the source of two transformations. I have not found a way of returning to sets of data form the plpython function.
At the moment, I have two options:
1) calling two functions in plpython that use the same blob and return different sets of postgresql types (heavyweight transformation will happen twice: bad)
2) creating two temp tables and calling the plpython function which in turn writes to these temp tables, and then using the temp tables from plpgsql.

Do you think there are any other options that I might be missing? What would be the most efficient way of passing temp tables to plpython function?

Kind regards
Seref

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

Предыдущее
От: Scott Marlowe
Дата:
Сообщение: Re: server process (PID 1304) was terminated by exception 0xC0000142
Следующее
От: Merlin Moncure
Дата:
Сообщение: Re: Suggestions for the best strategy to emulate returning multiple sets of results