Re: Improve error handling in pltcl

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Improve error handling in pltcl
Date: 2016-03-03 14:12:48
Message-ID: CAFj8pRC-ctCzs68kL-04PGNjuRKQ9yGJr_dTaOz4rD5OXXi0nw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi

2016-03-01 22:23 GMT+01:00 Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>:

> On 2/29/16 10:01 PM, Tom Lane wrote:
>
>> Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com> writes:
>>
>>> On 2/28/16 5:50 PM, Jim Nasby wrote:
>>>
>>>> Per discussion in [1], this patch improves error reporting in pltcl.
>>>>
>>>
>> I forgot to mention that this work is sponsored by Flight Aware
>>> (http://flightaware.com).
>>>
>>
>> Huh ... I use that site. There's PG and pltcl code behind it?
>> Cool!
>>
>
>
I didn't study this patch deeper yet. Just I am sending rebased code

I found one issue. The context

+ ERROR: relation "foo" does not exist
+ CONTEXT: relation "foo" does not exist
+ while executing
+ "spi_exec "select * from foo;""
+ ("eval" body line 1)
+ invoked from within
+ "eval $1"
+ (procedure "__PLTcl_proc_16461" line 3)
+ invoked from within
+ "__PLTcl_proc_16461 {spi_exec "select * from foo;"}"
+ in PL/Tcl function "tcl_eval"

is changed in any call - when I did "make installcheck"

*** 567,575 ****
("eval" body line 1)
invoked from within
"eval $1"
! (procedure "__PLTcl_proc_16461" line 3)
invoked from within
! "__PLTcl_proc_16461 {spi_exec "select * from foo;"}"
in PL/Tcl function "tcl_eval"
select pg_temp.tcl_eval($$
set list [lindex $::errorCode 0];
--- 567,575 ----
("eval" body line 1)
invoked from within
"eval $1"
! (procedure "__PLTcl_proc_16841" line 3) <<<<<====================
_PLTcl_proc_XXXX
invoked from within
! "__PLTcl_proc_16841 {spi_exec "select * from foo;"}"
in PL/Tcl function "tcl_eval"
select pg_temp.tcl_eval($$
set list [lindex $::errorCode 0];

I am not able to see, if this information is interesting or not. We can
hide context, but I have not a idea, if it is ok or not.

Regards

Pavel

Attachment Content-Type Size
pltcl_error_master-1.patch text/x-patch 12.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Teodor Sigaev 2016-03-03 14:15:07 Re: WIP: Upper planner pathification
Previous Message Michael Paquier 2016-03-03 14:02:51 VS 2015 support in src/tools/msvc