From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | Mark Dilger <hornschnorter(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Checking return value of SPI_execute |
Date: | 2019-11-06 05:54:16 |
Message-ID: | CAFj8pRAuzJNOCm3SCu2oZBMKKN0A8KaRhk+Sn2jUeYo_LDpE_g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
st 6. 11. 2019 v 5:28 odesílatel Michael Paquier <michael(at)paquier(dot)xyz>
napsal:
> On Tue, Nov 05, 2019 at 05:21:25PM -0800, Mark Dilger wrote:
> > please find attached a patch fixing a problem previously discussed [1]
> about
> > the code inappropriately ignoring the return value from SPI_execute.
> >
> > I will be adding this to https://commitfest.postgresql.org/26/
> > shortly.
>
> Yes, this should be fixed.
>
> > - SPI_execute(query, true, 0);
> > + spi_result = SPI_execute(query, true, 0);
> > + if (spi_result < 0)
> > + elog(ERROR, "SPI_execute returned %s",
> SPI_result_code_string(spi_result));
>
> Any queries processed in xml.c are plain SELECT queries, so it seems
> to me that you need to check after SPI_OK_SELECT as only valid
> result.
>
Is generic question if this exception should not be raised somewhere in
spi.c - maybe at SPI_execute
When you look to SPI_execute_plan, then checked errors has a character +/-
assertions. All SQL errors are ended by a exception. This API is not too
consistent after years what is used.
I agree so this result code should be tested for better code quality. But
this API is not consistent now, and should be refactored to use a
exceptions instead result codes. Or instead error checking, a assertions
should be used.
What do you think about it?
Pavel
--
> Michael
>
From | Date | Subject | |
---|---|---|---|
Next Message | vignesh C | 2019-11-06 06:03:43 | Re: PATCH: logical_work_mem and logical streaming of large in-progress transactions |
Previous Message | Tatsuro Yamada | 2019-11-06 05:49:49 | Re: progress report for ANALYZE |