aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/common/printsimple.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2017-02-01 13:42:41 -0500
committerRobert Haas <rhaas@postgresql.org>2017-02-01 13:42:41 -0500
commitbbd8550bce146f86e5e883f1232292a975c314fb (patch)
tree6a656f1a6c3d130b36c26e08f4880edd368e287f /src/backend/access/common/printsimple.c
parentc3e3844a92fe42109e4106314f7d229f784a7d0a (diff)
downloadpostgresql-bbd8550bce146f86e5e883f1232292a975c314fb.tar.gz
postgresql-bbd8550bce146f86e5e883f1232292a975c314fb.zip
Refactor other replication commands to use DestRemoteSimple.
Commit a84069d9350400c860d5e932b50dfd337aa407b0 added a new type of DestReceiver to avoid duplicating the existing code for the SHOW command, but it turns out we can leverage that new DestReceiver type in a few more places, saving some code. Michael Paquier, reviewed by Andres Freund and by me. Discussion: http://postgr.es/m/CAB7nPqSdFOQC0evc0r1nJeQyGBqjBrR41MC4rcMqUUpoJaZbtQ%40mail.gmail.com Discussion: http://postgr.es/m/CAB7nPqT2K4XFT1JgqufFBjsOc-NUKXg5qBDucHPMbk6Xi1kYaA@mail.gmail.com
Diffstat (limited to 'src/backend/access/common/printsimple.c')
-rw-r--r--src/backend/access/common/printsimple.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/backend/access/common/printsimple.c b/src/backend/access/common/printsimple.c
index 420de65e207..5fe1c72da83 100644
--- a/src/backend/access/common/printsimple.c
+++ b/src/backend/access/common/printsimple.c
@@ -22,6 +22,7 @@
#include "catalog/pg_type.h"
#include "fmgr.h"
#include "libpq/pqformat.h"
+#include "utils/builtins.h"
/*
* At startup time, send a RowDescription message.
@@ -99,6 +100,26 @@ printsimple(TupleTableSlot *slot, DestReceiver *self)
}
break;
+ case INT4OID:
+ {
+ int32 num = DatumGetInt32(value);
+ char str[12]; /* sign, 10 digits and '\0' */
+
+ pg_ltoa(num, str);
+ pq_sendcountedtext(&buf, str, strlen(str), false);
+ }
+ break;
+
+ case INT8OID:
+ {
+ int64 num = DatumGetInt64(value);
+ char str[23]; /* sign, 21 digits and '\0' */
+
+ pg_lltoa(num, str);
+ pq_sendcountedtext(&buf, str, strlen(str), false);
+ }
+ break;
+
default:
elog(ERROR, "unsupported type OID: %u", attr->atttypid);
}