pg.ddx.io pgsql-sql@postgresql.org mailing list archive
help / color / mirror / Atom feedpl/pgsql errors
3+ messages / 2 participants
[nested] [flat]
* pl/pgsql errors
@ 2003-03-03 11:32 Tomasz Myrta <jasiek@klaster.net>
2003-03-03 11:45 ` Re: pl/pgsql errors Tambet Matiisen <t.matiisen@aprote.ee>
0 siblings, 1 reply; 3+ messages in thread
From: Tomasz Myrta @ 2003-03-03 11:32 UTC (permalink / raw)
To: pgsql-sql
Hi
create function....
declare
some_field integer;
begin
some_field=1;
insert into some_table (some_field) values (some_field);
end;
When we try to execute such function, we get:
"ERROR: parser: parse error at or near "$1" at character..."
Well, example above is clear enough to find, that I declared field with
the same name as in a table. I lost a lot of time trying to find mistake
inside long functions until I remembered, what this strange error mean.
Would it be difficult to add special ERROR for this case? It annoyed me
so many times...
Regards,
Tomasz Myrta
^ permalink raw reply [nested|flat] 3+ messages in thread
* Re: pl/pgsql errors
2003-03-03 11:32 pl/pgsql errors Tomasz Myrta <jasiek@klaster.net>
@ 2003-03-03 11:45 ` Tambet Matiisen <t.matiisen@aprote.ee>
2003-03-03 12:32 ` Re: pl/pgsql errors Tomasz Myrta <jasiek@klaster.net>
0 siblings, 1 reply; 3+ messages in thread
From: Tambet Matiisen @ 2003-03-03 11:45 UTC (permalink / raw)
To: Tomasz Myrta <jasiek@klaster.net>; pgsql-sql
----- Original Message -----
From: "Tomasz Myrta" <jasiek@klaster.net>
To: <pgsql-sql@postgresql.org>
Sent: Monday, March 03, 2003 1:32 PM
Subject: [SQL] pl/pgsql errors
> Hi
>
> create function....
> declare
> some_field integer;
> begin
> some_field=1;
> insert into some_table (some_field) values (some_field);
> end;
>
> When we try to execute such function, we get:
> "ERROR: parser: parse error at or near "$1" at character..."
> Well, example above is clear enough to find, that I declared field with
> the same name as in a table. I lost a lot of time trying to find mistake
> inside long functions until I remembered, what this strange error mean.
>
> Would it be difficult to add special ERROR for this case? It annoyed me
> so many times...
>
Probably some_field was declared as alias for $1. I think plpgsql does
simple find&replace for aliases, that's how $1 appeared in wrong place. I
usually prefix all procedure parameters with p_, this guards me against this
situation and also makes code more clear.
Tambet
^ permalink raw reply [nested|flat] 3+ messages in thread
* Re: pl/pgsql errors
2003-03-03 11:32 pl/pgsql errors Tomasz Myrta <jasiek@klaster.net>
2003-03-03 11:45 ` Re: pl/pgsql errors Tambet Matiisen <t.matiisen@aprote.ee>
@ 2003-03-03 12:32 ` Tomasz Myrta <jasiek@klaster.net>
0 siblings, 0 replies; 3+ messages in thread
From: Tomasz Myrta @ 2003-03-03 12:32 UTC (permalink / raw)
To: Tambet Matiisen <t.matiisen@aprote.ee>; +Cc: pgsql-sql
> Probably some_field was declared as alias for $1. I think plpgsql does
> simple find&replace for aliases, that's how $1 appeared in wrong place. I
> usually prefix all procedure parameters with p_, this guards me against this
> situation and also makes code more clear.
>
> Tambet
No, no no
I always get this error where table column name equals to declared field
name. I've just made a special test to check if it has something to
aliases. Function below doesn't use any arguments nor aliases:
create or replace function test() returns integer as'
declare
id_miasta integer;
begin
insert into miasta(id_miasta,nazwa) values (id_miasta,null);
return 1;
end;
' language 'plpgsql';
Error message is the same. I know this error very well, I know how to
avoid it, but I'm just asking if it is difficult to change strange error
message.
Regards,
Tomasz Myrta
^ permalink raw reply [nested|flat] 3+ messages in thread
end of thread, other threads:[~2003-03-03 12:32 UTC | newest]
Thread overview: 3+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2003-03-03 11:32 pl/pgsql errors Tomasz Myrta <jasiek@klaster.net>
2003-03-03 11:45 ` Tambet Matiisen <t.matiisen@aprote.ee>
2003-03-03 12:32 ` Tomasz Myrta <jasiek@klaster.net>
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox