diff options
author | Robert Haas <rhaas@postgresql.org> | 2017-01-24 16:53:56 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2017-01-24 16:53:56 -0500 |
commit | a84069d9350400c860d5e932b50dfd337aa407b0 (patch) | |
tree | ac278978c902539d065211f2fb47c4a04d4b40f3 /src/include/access/printsimple.h | |
parent | 7b4ac19982a77a1a2a6f096c4a11ee7325a14d2c (diff) |
Add a new DestReceiver for printing tuples without catalog access.
If you create a DestReciver of type DestRemote and try to use it from
a replication connection that is not bound to a specific daabase, or
any other hypothetical type of backend that is not bound to a specific
database, it will fail because it doesn't have a pg_proc catalog to
look up properties of the types being printed. In general, that's
an unavoidable problem, but we can hardwire the properties of a few
builtin types in order to support utility commands. This new
DestReceiver of type DestRemoteSimple does just that.
Patch by me, reviewed by Michael Paquier.
Discussion: http://postgr.es/m/CA+TgmobNo4qz06wHEmy9DszAre3dYx-WNhHSCbU9SAwf+9Ft6g@mail.gmail.com
Diffstat (limited to 'src/include/access/printsimple.h')
-rw-r--r-- | src/include/access/printsimple.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/include/access/printsimple.h b/src/include/access/printsimple.h new file mode 100644 index 00000000000..3f3e7a38400 --- /dev/null +++ b/src/include/access/printsimple.h @@ -0,0 +1,23 @@ +/*------------------------------------------------------------------------- + * + * printsimple.h + * print simple tuples without catalog access + * + * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/access/printsimple.h + * + *------------------------------------------------------------------------- + */ + +#ifndef PRINTSIMPLE_H +#define PRINTSIMPLE_H + +#include "tcop/dest.h" + +extern bool printsimple(TupleTableSlot *slot, DestReceiver *self); +extern void printsimple_startup(DestReceiver *self, int operation, + TupleDesc tupdesc); + +#endif /* PRINTSIMPLE_H */ |