Craig Ringer <cr...@2ndquadrant.com> writes: > On 3 March 2018 at 13:08, Peter Eisentraut <peter.eisentr...@2ndquadrant.com > wrote: >> I think one thing to try would to define a special kind of exception >> that can safely be caught and ignored. Then, input functions can >> communicate benign parse errors by doing their own cleanup first, then >> throwing this exception, and then the COPY subsystem can deal with it.
> That makes sense. We'd only use the error code range in question when it > was safe to catch without re-throw, and we'd have to enforce rules around > using a specific memory context. I don't think that can possibly work. It would only be safe if, between the thrower and the catcher, there were no other levels of control operating according to the normal error-handling rules. But input functions certainly cannot assume that they are only called by COPY, so how could they safely throw a "soft error"? regards, tom lane