Re: pl/python improvements

Поиск
Список
Период
Сортировка
От Jan Urbański
Тема Re: pl/python improvements
Дата
Msg-id 4D12AF04.30405@wulczer.org
обсуждение исходный текст
Ответ на Re: pl/python improvements  (Peter Eisentraut <peter_e@gmx.net>)
Ответы Re: pl/python improvements  (Marti Raudsepp <marti@juffo.org>)
Список pgsql-hackers
On 08/12/10 22:41, Peter Eisentraut wrote:
> On tis, 2010-12-07 at 23:56 +0100, Jan Urbański wrote:
>> Peter suggested having a mail/patch per feature and the way I intend
>> to do that is instead of having a dozen branches, have one and after
>> I'm done rebase it interactively to produce incremental patches that
>> apply to master, each one implementing one feature.
> 
> Fair enough if you want to do it that way, but I'd encourage you to just
> send in any self-contained features/changes that you have finished.

I finished work on the PL/Python improvements. There 9 separate patches,
with some interdependencies.

The features implemented are:* general refactoring, dropping the global error state, using dynahash
instead of PyDicts for procedure caching, etc* a validator function* executing SPI calls in subtransactions* starting
explicitsubtransactions to have atomic behaviour of
 
multiple SPI calls* providing custom exceptions for SPI errors, so you can catch only
UniqueViolations and not have to muck around with SQLCODE* invalidate functions accepting composite types if the type
changes
after the functions has been defined* traceback support* table functions (ability to return RECORD and SETOF RECORD)*
usingcustom parsers for datatypes + an example application with
 
dict<->hstore parsing

The dependencies are:

refactor -> validator        -> SPI in subxacts             -> explicit subxacts                -> custom exceptions
forSPI        -> invalidate composites        -> tracebacks        -> table functions        -> custom parsers
 

so everything depends on the refactoring patch, and the SPI changes are
incremental.

I will generate these patches and send them in in separate threads/add
them to the commitfest app before Christmas (I hope). Meanwhile the code
is available at https://github.com/wulczer/postgres. You will find 10
branches there, 9 correspond to these features, and the "plpython"
branch is the sum of them all.

From now on I will stop rebasing these branches, and instead just commit
fixes to the appropriate branch and merge upwards (from refactor to
everything, from spi-in-subxacts to explicit-subxacts and to
custom-spi-exceptions, etc). I'll also try to independently maintain the
plpython branch with the sum to make sure nothing has been left out as
the feature branches get merged into mainline.

Here's to hoping that this will not turn into a conflict hell.

Cheers,
Jan


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Patch BUG #5103: "pg_ctl -w (re)start" fails with custom unix_socket_directory
Следующее
От: Robert Haas
Дата:
Сообщение: Re: knngist - 0.8