Peter and Harold (and all):
I just tried this with current CVS sources. While it _does_ allow one to
continue after SQL syntax errors, and 'relation not found' type errors,
it makes a mess if the error is caused by a constraint firing, such
as a unique column constraint. I ended up with the dead tuple going live,
with a duplicate field, after some NOTICES about buffer leaks.

Ross
-- 
Ross J. Reedstrom, Ph.D., <[EMAIL PROTECTED]> 
NSBRI Research Scientist/Programmer
Computer and Information Technology Institute
Rice University, 6100 S. Main St.,  Houston, TX 77005

On Sat, Apr 15, 2000 at 08:52:02PM +0200, Peter Eisentraut wrote:
> Haroldo Stenger writes:
> 
> > I seems that other DBMSs, don't care about erroneous statements within
> > a transaction. Now, I have several paths to follow: 1) Hacking the
> > backend ;-)
> 
> If you're really brave you can try this change in
> backend/tcop/postgres.c:
> 
>         if (sigsetjmp(Warn_restart, 1) != 0)
>         {
>                 time(&tim);
>  
>                 if (Verbose)
>                         TPRINTF(TRACE_VERBOSE, "AbortCurrentTransaction");
>  
> -               AbortCurrentTransaction();
>                 InError = false;
>                 if (ExitAfterAbort)
>                 {
>                         ProcReleaseLocks(); /* Just to be sure... */
>                         proc_exit(0);
>                 }
>         }
> 
> Absolutely no guarantee, there's probably more to it. Hmm, I wonder, maybe
> not.
> 
> > How can I motivate key developers to make their way into an action
> > plan?
> 
> Becoming one yourself or throwing large amounts of cash at the existing
> ones. :) Trying the above and tracing down any arising problems might be a
> start though.
> 

Reply via email to