From: | Abel Abraham Camarillo Ojeda <acamari(at)verlet(dot)org> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Difference in postgres9.0.4 and postgres9.1beta1 when displaying error lines in functions with comments |
Date: | 2011-06-10 01:58:48 |
Message-ID: | BANLkTinsH_+nuy9kbfca5u1-2XTWpbE_zw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
Postgres 9.0.4 and postgres9.1beta1 give different line of error numbers on
functions that raise runtime errors (it seems).
How to reproduce, given the next SQL file:
$ cat /tmp/sql
begin;
CREATE FUNCTION pg_temp.commchecksql() returns boolean strict language
plpgsql as
$$
begin
-- SQL comment
perform 'aoeuaoeuaeou'::regclass;
return true;
end;
$$;
select pg_temp.commchecksql();
rollback;
begin;
CREATE FUNCTION pg_temp.commcheckC() returns boolean strict language plpgsql as
$$
begin
/* C-like comment */
perform 'aoeuaoeuaeou'::regclass;
return true;
end;
$$;
select pg_temp.commcheckC();
rollback;
------------------
If I run it on postgres9.0.4:
$ psql -U postgres template1 -f/tmp/sql
SET
BEGIN
CREATE FUNCTION
psql:/tmp/sql:12: ERROR: relation "aoeuaoeuaeou" does not exist
LINE 1: SELECT 'aoeuaoeuaeou'::regclass
^
QUERY: SELECT 'aoeuaoeuaeou'::regclass
CONTEXT: PL/pgSQL function "commchecksql" line 4 at PERFORM
ROLLBACK
BEGIN
CREATE FUNCTION
psql:/tmp/sql:26: ERROR: relation "aoeuaoeuaeou" does not exist
LINE 1: SELECT 'aoeuaoeuaeou'::regclass
^
QUERY: SELECT 'aoeuaoeuaeou'::regclass
CONTEXT: PL/pgSQL function "commcheckc" line 4 at PERFORM
ROLLBACK
--------------------
On postgres9.1beta1:
$ psql -U postgres template1 -f/tmp/sql
SET
BEGIN
CREATE FUNCTION
psql:/tmp/sql:12: ERROR: relation "aoeuaoeuaeou" does not exist
LINE 1: SELECT 'aoeuaoeuaeou'::regclass
^
QUERY: SELECT 'aoeuaoeuaeou'::regclass
CONTEXT: PL/pgSQL function "commchecksql" line 5 at PERFORM
ROLLBACK
BEGIN
CREATE FUNCTION
psql:/tmp/sql:26: ERROR: relation "aoeuaoeuaeou" does not exist
LINE 1: SELECT 'aoeuaoeuaeou'::regclass
^
QUERY: SELECT 'aoeuaoeuaeou'::regclass
CONTEXT: PL/pgSQL function "commcheckc" line 5 at PERFORM
ROLLBACK
--------------------
The line numbers of where the error is have changed:
--- /tmp/out9.0.4 Thu Jun 9 20:47:45 2011
+++ /tmp/out9.1beta1 Thu Jun 9 20:49:02 2011
@@ -5,7 +5,7 @@
LINE 1: SELECT 'aoeuaoeuaeou'::regclass
^
QUERY: SELECT 'aoeuaoeuaeou'::regclass
-CONTEXT: PL/pgSQL function "commchecksql" line 4 at PERFORM
+CONTEXT: PL/pgSQL function "commchecksql" line 5 at PERFORM
ROLLBACK
BEGIN
CREATE FUNCTION
@@ -13,5 +13,5 @@
LINE 1: SELECT 'aoeuaoeuaeou'::regclass
^
QUERY: SELECT 'aoeuaoeuaeou'::regclass
-CONTEXT: PL/pgSQL function "commcheckc" line 4 at PERFORM
+CONTEXT: PL/pgSQL function "commcheckc" line 5 at PERFORM
ROLLBACK
---------------------
I care about this because I have some custom regression tests that check the
failing of functions coded like this... and they suddenly failed with that
difference when I checked them against postgres9.0.4.
Is this an intended behaviour?
Thank you.
From | Date | Subject | |
---|---|---|---|
Next Message | Abel Abraham Camarillo Ojeda | 2011-06-10 02:17:16 | Fwd: Difference in postgres9.0.4 and postgres9.1beta1 when displaying error lines in functions with comments |
Previous Message | Bruce Momjian | 2011-06-09 23:59:50 | Re: BUG #6050: Dump and restore of view after a schema change: can't restore the view |
From | Date | Subject | |
---|---|---|---|
Next Message | Abel Abraham Camarillo Ojeda | 2011-06-10 02:17:16 | Fwd: Difference in postgres9.0.4 and postgres9.1beta1 when displaying error lines in functions with comments |
Previous Message | Tom Lane | 2011-06-10 00:59:04 | Re: [v9.2] Start new timeline for PITR |