Attached is next revision of the connection manager, this is now nearly
feature complete -- the syntax is there, privileges are implemented.
Should apply cleanly to HEAD and pass regression. There are some usage
examples at: http://wiki.postgresql.org/wiki/SqlMedConnectionManager#Examples
Some issues that come to mind:
- Object naming: probably should drop "foreign_" prefix from user mapping
and server. This would leave us with pg_user_mapping and pg_server.
Maybe add a _shadow suffix to the hidden version of pg_user_mapping.
- MAPPING became a reserved keyword, this is not good (unreserved causes
shift/reduce conflicts).
- There is some more grammar hacking to be done - ALTER handling is not
complete (allows nop statements, impossible to reset options, cannot use
default as FDW name, ...).
- System catalog and connection lookup function privileges are revoked from
public in system_views.sql, is there an alternative?
- Worry about FDW library function pointers getting stale (library reloads)
- Do we need to support copyObject/equal for the fdw/server/user mapping
parse nodes?
Things to do:
- internal cleanup - add verbose commentary where needed, cleanup error
reporting.
- documentation
- more thorough regression tests
- psql support (tab completion, help, \dX commands)
- pg_dump support
- ecpg support?
regards,
Martin