Re: BUG #15666: Seemingly incorrect error reporting/logging for violation of non-null constraint - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #15666: Seemingly incorrect error reporting/logging for violation of non-null constraint
Date
Msg-id 32405.1551709663@sss.pgh.pa.us
Whole thread Raw
In response to BUG #15666: Seemingly incorrect error reporting/logging for violation of non-null constraint  (PG Bug reporting form <noreply@postgresql.org>)
Responses Re: BUG #15666: Seemingly incorrect error reporting/logging forviolation of non-null constraint
List pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> I'm modifying the data model for the application I work on, and in the
> process of doing so, I'm seeing this error:

> db         | 2019-03-04 09:48:54.485 UTC [198] ERROR:  null value in column
> "accountid" violates not-null constraint
> db         | 2019-03-04 09:48:54.485 UTC [198] DETAIL:  Failing row contains
> (14, 138962.38, 0, null, 13).
> db         | 2019-03-04 09:48:54.485 UTC [198] STATEMENT:  insert into
> JournalEntryRecord (accountId, amount, journalEntryId, type, id) values ($1,
> $2, $3, $4, $5)

> This is very confusing to me because the tuple from the "Failing row"
> message clearly has the `null` in fourth position, but the error message
> reports that the column "accountid" (or "accountId" -- but I understand
> column names are casefolded) is the problem, which should ostensibly be the
> first value from the failing row tuple (if that tuple is ordered the same
> way as the statement suggests).

Well, maybe it isn't.  That DETAIL line would report all the columns of the
table, in their physical order.  That doesn't necessarily have anything to
do with the original INSERT, which --- if it has a column list, as this
does --- can choose to target any subset of the columns in any order.

We can't very well order the DETAIL to match the original INSERT, since
it's entirely possible that the complaint is about a column not even
mentioned in the INSERT.

            regards, tom lane


pgsql-bugs by date:

Previous
From: Derek Hans
Date:
Subject: Re: BUG #15662: Row update in foreign partition does not move rowbased on partition key
Next
From: Jeremy Finzel
Date:
Subject: Re: Segmentation Fault in logical decoding get/peek API