Re: Unable to handle error in plperl

From: Ming Lai <mlai(at)sesda3(dot)com>
To: Alex Hunsaker <badalex(at)gmail(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: Unable to handle error in plperl
Date: 2013-07-15 11:56:08
Message-ID: 2094773092.6107517.1373889368214.JavaMail.root@sesda3.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

I know how elog works. elog only show the status, but it does not allow me to execute another query when the current query fails because one of the invalid column was specified.

Alex Lai

----- Original Message -----
From: "Alex Hunsaker" <badalex(at)gmail(dot)com>
To: "Alex Lai" <mlai(at)sesda3(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Sent: Thursday, July 11, 2013 11:47:04 AM
Subject: Re: [BUGS] Unable to handle error in plperl

On Wed, Jul 10, 2013 at 2:36 PM, Alex Lai <mlai(at)sesda3(dot)com> wrote:
> Dear all,
>
> I have a situation. I am unable to pass control back to the function once
> it hit the "undefined_column" error code.
> I am not sure there's a way to return '123' instead exit from the function.
>
> Here is my code
>
> CREATE OR REPLACE FUNCTION foo() RETURNS text as $$
> my $sql = "";
> my $status = "";
> my $r = "";
> $sql = 'SELECT non_exist_column from a_table limit 1';
> eval { spi_exec_query($sql);};
> if ($@) {
> $status = 'invalid: '.$@;
> elog(ERROR, $status);

Its this bit here that is tripping you up. Perhaps you meant
elog(INFO, ...) or something?

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Alex Hunsaker 2013-07-15 19:22:35 Re: Unable to handle error in plperl
Previous Message ssuna 2013-07-15 06:43:29 BUG #8306: Error in dbcreate comman