plpgsql.h defines a number of enums, but most of the code passes them around as ints. The attached patch updates structs and function prototypes to take enum types instead. This clarifies the struct definitions in plpgsql.h in particular.
I am sending review of this trivial patch.
1. No problems with patching, compiling
2. all regress tests passed
3. There are not any visible change, so tests, docs are not necessary
4. Using enum instead int is generally good idea
I will mark this patch as ready for commiters.
I didn't deal with the PLPGSQL_RC_* symbols, since they are only used in pl_exec.c (could be moved there?), and it would bloat this patch.
It is good idea. PLPGSQL_RC_* should be private in pl_exec.c
Regards
Pavel
-- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services