Re: BackendKeyData is mandatory?

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: BackendKeyData is mandatory?
Дата
Msg-id 6c6958d0-e27b-4c63-9465-4b6f894d35ee@iki.fi
обсуждение исходный текст
Ответ на Re: BackendKeyData is mandatory?  (Jacob Champion <jacob.champion@enterprisedb.com>)
Ответы Re: BackendKeyData is mandatory?
Список pgsql-hackers
(reviewing patch 2 now)

On 03/07/2025 09:13, Jelte Fennema-Nio wrote:
> On Thu Jul 3, 2025 at 2:03 AM CEST, Jacob Champion wrote:
>> On Wed, Jul 2, 2025 at 3:18 PM Jelte Fennema-Nio <postgres@jeltef.nl> 
>> wrote:
>> I will hold off on detailed review until Heikki gives an opinion on
>> the design (or we get closer to the end of the month), to avoid making
>> busy work for you -- but I will say that I think you need to prove
>> that the new `failure:` case in getBackendKeyData() is safe, because I
>> don't think any of the other failure modes behave that way inside
>> pqParseInput3().
> 
> I changed it slightly now to align with the handleSyncLoss function its
> implementation.

That seems good, except maybe the copy-pasted comments could be adjusted 
a bit. But I wonder why you added this:

--- a/src/interfaces/libpq/fe-connect.c 

+++ b/src/interfaces/libpq/fe-connect.c 

@@ -4322,6 +4322,9 @@ keep_going: 
       \
  /* We will come back to here until there is 

                                 if (PQisBusy(conn)) 

                                         return PGRES_POLLING_READING; 

  

+                               if (conn->status == CONNECTION_BAD) 

+                                       goto error_return; 

+ 

                                 res = PQgetResult(conn); 

  

                                 /*

That was not necessary for handleSyncLoss() to work, or for any other 
errors. If an error has occurred, PQgetResult() returns an error result, 
which is handled here.

It's not necessarily a bad idea. It saves some effort, as PQgetResult() 
doesn't need to construct the result object, which we will just 
immediately free again. But we have been doing fine without it.

- Heikki




В списке pgsql-hackers по дате отправления: