bug in (plpgsql) parser?
Hello world,
I am using "PostgreSQL 7.1.2 on i386-unknown-freebsd4.2, compiled by GCC
2.95.2" (according to version()). I suspect that there is a parser bug in
the handling of '--' comments:
radius=# create function test() returns integer as '
radius'# begin
radius'# -- comment without quotes
radius'# return 0;
radius'# end;
radius'# ' language 'plpgsql';
CREATE
This works OK
radius=#
radius=# create function test2() returns integer as '
radius'# begin
radius'# -- comment 'with' quotes
radius'# return 0;
radius'# end;
radius'# ' language 'plpgsql';
ERROR: parser: parse error at or near "with"
It seems that the parser does not ignore the rest of the line after the '--
', as I would suspect...
Reinoud van Leeuwen
(switched from Sybase to Postgresql two weeks ago and has no regrets! :-)
Hello world,
I am using "PostgreSQL 7.1.2 on i386-unknown-freebsd4.2, compiled by GCC
2.95.2" (according to version()). I suspect that there is a parser bug in
the handling of '--' comments:radius=# create function test() returns integer as '
radius'# begin
radius'# -- comment without quotes
radius'# return 0;
radius'# end;
radius'# ' language 'plpgsql';
CREATEThis works OK
radius=#
radius=# create function test2() returns integer as '
radius'# begin
radius'# -- comment 'with' quotes
radius'# return 0;
radius'# end;
radius'# ' language 'plpgsql';
ERROR: parser: parse error at or near "with"It seems that the parser does not ignore the rest of the line after the '--
', as I would suspect...Reinoud van Leeuwen
(switched from Sybase to Postgresql two weeks ago and has no regrets! :-)
My question is whether you think "--" _inside_ quotes should be a
comment. I don't think it should be.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Bruce Momjian <pgman@candle.pha.pa.us> writes:
My question is whether you think "--" _inside_ quotes should be a
comment. I don't think it should be.
It should be if plpgsql thinks it is. But that's not the problem here.
Doubling the quote marks would help...
regards, tom lane