unpack_sql_state not called? - Mailing list pgsql-hackers

From Peter Smith
Subject unpack_sql_state not called?
Date
Msg-id CAHut+PuYituuD1-VVZUNcmCQuc3ZzZMPoO57POgm8tnXOkwJAA@mail.gmail.com
Whole thread Raw
Responses Re: unpack_sql_state not called?  (Michael Paquier <michael@paquier.xyz>)
List pgsql-hackers
Hi. I noticed some code that seems the same as the nearby function
unpack_sql_state, and I wondered why it is not just calling it?

For example,


diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index a3e1c59..d91ed98 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3313,7 +3313,7 @@ send_message_to_frontend(ErrorData *edata)
                const char *sev;
                char            tbuf[12];
                int                     ssval;
-               int                     i;
+               char       *ssbuf;

                /* 'N' (Notice) is for nonfatal conditions, 'E' is for errors */
                pq_beginmessage(&msgbuf, (edata->elevel < ERROR) ? 'N' : 'E');
@@ -3326,15 +3326,10 @@ send_message_to_frontend(ErrorData *edata)

                /* unpack MAKE_SQLSTATE code */
                ssval = edata->sqlerrcode;
-               for (i = 0; i < 5; i++)
-               {
-                       tbuf[i] = PGUNSIXBIT(ssval);
-                       ssval >>= 6;
-               }
-               tbuf[i] = '\0';
+               ssbuf = unpack_sql_state(ssval);

                pq_sendbyte(&msgbuf, PG_DIAG_SQLSTATE);
-               err_sendstring(&msgbuf, tbuf);
+               err_sendstring(&msgbuf, ssbuf);

                /* M field is required per protocol, so always send something */
                pq_sendbyte(&msgbuf, PG_DIAG_MESSAGE_PRIMARY);

------
Kind Regards,
Peter Smith.
Fujitsu Australia



pgsql-hackers by date:

Previous
From: Ranier Vilela
Date:
Subject: Re: Avoid choose invalid number of partitions (src/backend/executor/nodeAgg.c)
Next
From: Tom Lane
Date:
Subject: Re: Can we get rid of repeated queries from pg_dump?