bug in (plpgsql) parser?

Started by Reinoud van Leeuwenalmost 25 years ago3 messagesbugs
Jump to latest
#1Reinoud van Leeuwen
reinoud@xs4all.nl

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! :-)

#2Bruce Momjian
bruce@momjian.us
In reply to: Reinoud van Leeuwen (#1)
Re: 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! :-)

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
#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#2)
Re: bug in (plpgsql) parser?

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