Обсуждение: bug in (plpgsql) parser?

Поиск
Список
Период
Сортировка

bug in (plpgsql) parser?

От
"Reinoud van Leeuwen"
Дата:
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! :-)

Re: bug in (plpgsql) parser?

От
Bruce Momjian
Дата:
> 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

Re: bug in (plpgsql) parser?

От
Tom Lane
Дата:
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