Revise backend libpq interfaces so that messages to the frontend
Tom Lane <tgl@sss.pgh.pa.us>
Revise backend libpq interfaces so that messages to the frontend can be generated in a buffer and then sent to the frontend in a single libpq call. This solves problems with NOTICE and ERROR messages generated in the middle of a data message or COPY OUT operation.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/common/printtup.c | modified | +39 −29 |
| src/backend/commands/async.c | modified | +8 −4 |
| src/backend/commands/copy.c | modified | +25 −9 |
| src/backend/commands/explain.c | modified | +7 −12 |
| src/backend/libpq/portal.c | modified | +1 −86 |
| src/backend/libpq/pqcomm.c | modified | +357 −422 |
| src/backend/libpq/pqcomprim.c | deleted | +0 −220 |
| src/backend/libpq/pqformat.c | added | +293 −0 |
| src/backend/lib/stringinfo.c | modified | +131 −85 |
| src/backend/nodes/outfuncs.c | modified | +7 −13 |
| src/backend/tcop/dest.c | modified | +24 −17 |
| src/backend/tcop/fastpath.c | modified | +24 −16 |
| src/backend/tcop/postgres.c | modified | +15 −11 |
| src/backend/utils/error/elog.c | modified | +14 −5 |
| src/include/libpq/libpq.h | modified | +12 −60 |
| src/include/libpq/pqcomm.h | modified | +5 −17 |
| src/include/libpq/pqformat.h | added | +31 −0 |
| src/include/lib/stringinfo.h | modified | +71 −15 |