Re: [PATCH] Add schema and table names to partition error

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Chris Bandy <bandy(dot)chris(at)gmail(dot)com>
Cc: Amit Langote <amitlangote09(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [PATCH] Add schema and table names to partition error
Date: 2020-03-11 11:29:02
Message-ID: CAA4eK1JVBuudeCY-+n6u+chYY=cyAgj1kf21eNiTG3KzjkDApA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Mar 3, 2020 at 10:05 AM Chris Bandy <bandy(dot)chris(at)gmail(dot)com> wrote:
>
> On 3/1/20 10:09 PM, Amit Langote wrote:
> > Hi Chris,
> >
> > On Mon, Mar 2, 2020 at 8:51 AM Chris Bandy <bandy(dot)chris(at)gmail(dot)com> wrote:
> >> On 3/1/20 5:14 AM, Amit Kapila wrote:
> >>> On Sun, Mar 1, 2020 at 10:10 AM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> >>>>
> >>>> There are couple more instances in src/backend/command/tablecmds.c
> >>>> where partition constraint is checked:
> >>>>
> >>>> Maybe, better fix these too for completeness.
> >>>
> >>> Another thing we might need to see is which of these can be
> >>> back-patched. We should also try to write the tests for cases we are
> >>> changing even if we don't want to commit those.
> >>
> >> I don't have any opinion on back-patching. Existing tests pass. I wasn't
> >> able to find another test that checks the constraint field of errors.
> >> There's a little bit in the tests for psql, but that is about the the
> >> \errverbose functionality rather than specific errors and their fields.
> >
> > Actually, it's not a bad idea to use \errverbose to test this.
> >
>
> I've added a second patch with tests that cover three of the five errors
> touched by the first patch. Rather than \errverbose, I simply \set
> VERBOSITY verbose. I could not find a way to exclude the location field
> from the output, so those lines will be likely be out of date soon--if
> not already.
>
> I couldn't find a way to exercise the errors in tablecmds.c. Does anyone
> know how to instigate a table rewrite that would violate partition
> constraints? I tried:
>

When I tried to apply your patch on HEAD with patch -p1 <
<path_to_patch>, I am getting below errors

(Stripping trailing CRs from patch; use --binary to disable.)
can't find file to patch at input line 17
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
..

I have tried with git am as well, but it failed. I am not sure what
is the reason. Can you please once check at your end? Also, see, if
it applies till 9.5 as I think we should backpatch this.

IIUC, this patch is mainly to get the table name, schema name in case
of the error paths, so that your application can handle errors in case
partition constraint violation, right?

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Georgios Kokolatos 2020-03-11 12:31:19 Re: Refactor compile-time assertion checks for C/C++
Previous Message Justin Pryzby 2020-03-11 11:19:21 Re: pg11+: pg_ls_*dir LIMIT 1: temporary files .. not closed at end-of-transaction