Re: NOT NULL violation error handling in file_fdw - Mailing list pgsql-hackers

From Etsuro Fujita
Subject Re: NOT NULL violation error handling in file_fdw
Date
Msg-id 4F5F0FA4.60006@lab.ntt.co.jp
Whole thread Raw
In response to Re: NOT NULL violation error handling in file_fdw  (Shigeru HANADA <shigeru.hanada@gmail.com>)
List pgsql-hackers
(2012/03/13 15:53), Shigeru HANADA wrote:
> (2012/03/12 19:21), Etsuro Fujita wrote:
>> According to the following documentation on IterateForeignScan() in
>> 50.2. Foreign Data Wrapper Callback Routines, I have created a patch to
>> support the error handling in file_fdw.  Please find attached a patch.

> Interesting.  This patch could be applied cleanly, and it catches first
> record which violates NOT NULL constraint.  I have some comments for the
> patch.

Thank you for the review.

> I worry performance degradation caused by checking NOT NULL constraints
> for every row, though such overhead might be hidden by disk I/O.  Do you
> have any result of performance testing?  Users might want to disable NOT
> NULL checking for already-validated files.

I don't have any numbers for now.  OK I'll check it.

> In addition to performance issue, IMHO exporting
> ExecBuildSlotValueDescription needs more consideration.  Have you
> examined calling ExecConstraints instead of copying NOT NULL check
> codes?  It requires fully-built ResultRelInfo, and it also checks CHECK
> constraints which have not been supported on foreign tables, but it
> seems the standard way to apply constraints on a tuple.

Yes, I thought the use of ExecConstraints().  But I feel that it is an
overkill.

> If you don't
> want to check CHECK constraints, another possible idea is to add new
> external function ExecNotNull (or something) and move NOT NULL checking
> codes from ExecConstraints, and call it from fileIterateForeignScan and
> ExecConstraints.

I think that it is a good idea.  I'll do it at the next version of the
patch.

> Anyway, please add this patch to Commit Fest App for tracking.
> https://commitfest.postgresql.org/action/commitfest_view?id=14

Done.

Best regards,
Etsuro Fujita


pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: wal_buffers, redux
Next
From: Andres Freund
Date:
Subject: Re: Command Triggers, patch v11