Re: plpgsql redesign (related to plpgsql check function)

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: plpgsql redesign (related to plpgsql check function)
Дата
Msg-id 51A492E7.5070204@vmware.com
обсуждение исходный текст
Ответ на plpgsql redesign (related to plpgsql check function)  (Pavel Stehule <pavel.stehule@gmail.com>)
Ответы Re: plpgsql redesign (related to plpgsql check function)
Список pgsql-hackers
On 28.05.2013 11:00, Pavel Stehule wrote:
> Hello all
>
> I am searching way how to push our plpgsql_check_function to upstream.
> One possibility is redesign of plpgsql architecture.
>
> Now, we have two stages ->  compilation and execution, and almost all
> compilation logic is in gram file. If I understand to this design
> well, then a reason for it is a possibility to raise user friendly
> error messages with location specification. Now, we are able to raise
> messages with location info outside gram file, so we can little bit
> cleanup architecture by dividing current compilation to parsing and
> compilation stage (recursive).
>
> A new compilation stage can be good place for placing current checks
> and deep (sql semantic) check.
>
> This redesign contains lot of work, so I would to know all opinions
> and I would to know, if this idea is acceptable.

+1 for a redesign along those lines. I'm not sure what the rationale 
behind the current design is. I'd guess it has just grown that way over 
time really, without any grand design.

While we're at it, it would be nice if the new design would make it 
easier to add an optimization step. I'm just waving hands here, I don't 
know what optimizations we might want to do, but maybe it would make 
sense to have a new intermediate language representation that would be 
executed by the executor, to replace the PLpgSQL_stmt_* structs. OTOH, 
perhaps it's better to not conflate that with the redesign of the 
grammar / compiler part, and keep the executor and PLpgSQL_stmt* structs 
unchanged for now.

- Heikki



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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: commit fest schedule for 9.4
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: plpgsql redesign (related to plpgsql check function)