From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Stepan <sndcppg(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: SPI_connect, SPI_connect_ext return type |
Date: | 2024-08-12 12:39:04 |
Message-ID: | a6fc9639-8f30-4b22-908e-77f415c8cebb@eisentraut.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 10.08.24 16:12, Tom Lane wrote:
> Stepan <sndcppg(at)gmail(dot)com> writes:
>> Hi, hackers! If you look at the code in the src/backend/executor/spi.c file,
>> you will see the SPI_connect function familiar to many there, which
>> internally simply calls SPI_connect_ext. The return type is int, at the end
>> it says return SPI_OK_CONNECT;
>> It confuses me that nothing but OK, judging by the code, can return.(I
>> understand that earlier, before 1833f1a1, it could also return
>> SPI_ERROR_CONNECT). Therefore, I suggest making the returned value void
>> instead of int and not checking the returned value. What do you think about
>> this?
>
> That would break a lot of code (much of it not under our control) to
> little purpose; it would also foreclose the option to return to using
> SPI_ERROR_CONNECT someday.
>
> We go to a lot of effort to keep the SPI API as stable as we can
> across major versions, so I don't see why we'd just randomly make
> an API-breaking change like this.
Here is a previous discussion:
https://www.postgresql.org/message-id/flat/1356682025.20017.4.camel%40vanquo.pezone.net
I like the idea that we would keep the API but convert most errors to
exceptions.
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Langote | 2024-08-12 12:54:16 | Re: generic plans and "initial" pruning |
Previous Message | Aleksander Alekseev | 2024-08-12 12:34:52 | Re: libpq minor TOCTOU violation |