BEGIN
r := f1(10);
RAISE NOTICE '>>%', r.c;
RAISE NOTICE '>>%', r.x; --<< BUG
* record type should be unnested sometimes, sometimes not
-- this is different, then in previous example
BEGIN
FOR r IN SELECT * FROM f1(10)
LOOP
...
Objections:
Current implementation copies a compiler structure and uses some runtime routines. It is about 45KB new code.
My plan:
* divide a current compiler to parser and compiler
* compiler is controlled by parsing AST trees and there are correct order of processing.
* modified compiler is good place for placing deep check routines. We can move dump routines there too.
It means significant plpgsql refactoring - and if this tassk should be done in 9.4, then it should be committed in some early commitfest. So I should to start work.
It is acceptable?
Objections, notes, ideas?
Regards
Pavel