Re: pgsql: Change timeline field of IDENTIFY_SYSTEM to int8 - Mailing list pgsql-hackers

From Tom Lane
Subject Re: pgsql: Change timeline field of IDENTIFY_SYSTEM to int8
Date
Msg-id 1598591.1656955963@sss.pgh.pa.us
Whole thread Raw
In response to Re: pgsql: Change timeline field of IDENTIFY_SYSTEM to int8  (Peter Eisentraut <peter.eisentraut@enterprisedb.com>)
Responses Re: pgsql: Change timeline field of IDENTIFY_SYSTEM to int8
List pgsql-hackers
Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes:
> On 04.07.22 07:55, Tom Lane wrote:
>> But what about whatever code is reading the output?  And what if
>> that code isn't v16?  I can't believe that we can make a wire
>> protocol change as summarily as this.

> I think a client will either just read the string value and convert it 
> to some numeric type without checking what type was actually sent, or if 
> the client API is type-aware and automatically converts to a native type 
> of some sort, then it will probably already support 64-bit ints.  Do you 
> see some problem scenario?

If the result of IDENTIFY_SYSTEM is always sent in text format, then
I agree that this isn't very problematic.  If there are any clients
that fetch it in binary mode, though, this is absolutely a wire
protocol break for them ... and no, I don't believe an unsupported
claim that they'd adapt automatically.

> I'm seeing a bigger problem now, which is that our client code doesn't 
> parse bigger-than-int32 timeline IDs correctly.

Yup.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Gaddam Sai Ram
Date:
Subject: make install-world fails sometimes in Mac M1
Next
From: "Euler Taveira"
Date:
Subject: Re: logical replication restrictions