The question is still valid, though it's better put in your words - do we want to refactor the existing compiler or write a separate one ?

So, for now I went with the path of custom compiler and current executor.

I attached current version of the patch. I don't expect this to get
committed or anything, but I'd like other eyes to take a look at it.

What it does:
Adds laninline Oid which points to function handling inline code (aka
anonymous code block).
Adds DO $$some code$$ [ LANGUAGE lanname ] syntax which sends the source
code to that laninline function of the specified language (or language
set by default_do_language guc).
There is implementation for plpgsql with simpler compiler which still
creates function struct for the executor (I believe there is no harm in
adjusting executor later, when current one works, just does unnecessary
There is doc and a simple regression test for plpgsql implementation.

Petr Jelinek (PJMODOS)

Attachment: inlinepl-2009-08-28.diff.gz
Description: Unix tar archive

Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to