Re: Bug in AbstracJdbc2Statement.replaceProcessing when using dollar quoting?
От | David Johnston |
---|---|
Тема | Re: Bug in AbstracJdbc2Statement.replaceProcessing when using dollar quoting? |
Дата | |
Msg-id | 8F5F935B-AA2A-4973-9C5E-CB6CD6038854@yahoo.com обсуждение исходный текст |
Ответ на | Re: Bug in AbstracJdbc2Statement.replaceProcessing when using dollar quoting? (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-jdbc |
On Sep 24, 2012, at 14:33, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Maciek Sakrejda <m.sakrejda@gmail.com> writes: >> On Mon, Sep 24, 2012 at 6:54 AM, David Johnston <polobo@yahoo.com> wrote: >>> Is there any SQL syntax that allows for a dollar-sign outside of a string >>> literal? If not then if we are not in a string and we encounter a >>> dollar-sign we could assume that we are dealing with a PostgreSQL string and >>> immediately return the original input unchanged. > >> Identifiers can also contain "$" when quoted: > > Identifiers can contain "$" even when not quoted ... > > regression=# create table foo$ (bar$ int); > CREATE TABLE > > I don't think that's per SQL spec, but PG allows it, mainly because some > other databases do. > > regards, tom lane > This is true but I just realized that for dollar-quoting the dollar sign must start the character sequence while for an unquotedidentifier it must not begin the character sequence. Since we know whether our current position qualifies for start-of-sequenceupon encountering a valid dollar sign we should know whether we are continuing an identifier or startinga string literal. David J.
В списке pgsql-jdbc по дате отправления: