Re: BUG #5732: parsing of: "WHERE mycol=123AND ..."

Поиск
Список
Период
Сортировка
От Greg Stark
Тема Re: BUG #5732: parsing of: "WHERE mycol=123AND ..."
Дата
Msg-id AANLkTin-5hUogycbPmivrkfU-uUx2cbocT7U9XtrKY-J@mail.gmail.com
обсуждение исходный текст
Ответ на Re: BUG #5732: parsing of: "WHERE mycol=123AND ..."  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: BUG #5732: parsing of: "WHERE mycol=123AND ..."
Список pgsql-bugs
On Thu, Oct 28, 2010 at 5:20 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> I experimented a bit with mysql's behavior, and it seems that (at least
> in 5.1.51) what they do is treat "1and" or "2or" as if it were an
> identifier. =A0They're definitely not throwing an error, at least not on
>

I guess the eleant question is what the lexical elements section of
the standard says about identifiers. It pretty clearly declares that
they can't start with digits:

<identifier body>    ::=3D  <identifier start> [ <identifier part>... ]
<identifier part>      ::=3D   <identifier start>  | <identifier extend>
<identifier start>     ::=3D !! See the Syntax Rules
<identifier extend> ::=3D !! See the Syntax Rules

1) An <identifier start> is any character in the Unicode General
Category classes =93Lu=94, =93Ll=94, =93Lt=94, =93Lm=94, =93Lo=94, or =93Nl=
=94.
NOTE 70 =97 The Unicode General Category classes =93Lu=94, =93Ll=94, =93Lt=
=94, =93Lm=94,
=93Lo=94, and =93Nl=94 are assigned to Unicode characters that are,
respectively, upper-case letters, lower-case letters, title-case
letters, modifier letters, other letters, and letter numbers.

2) An <identifier extend> is U+00B7, =93Middle Dot=94, or any character in
the Unicode General Category classes =93Mn=94, =93Mc=94, =93Nd=94, =93Pc=94=
, or =93Cf=94.
NOTE 71 =97 The Unicode General Category classes =93Mn=94, =93Mc=94, =93Nd=
=94, =93Pc=94,
and =93Cf=94 are assigned to Unicode characters that are, respectively,
nonspacing marks, spacing combining marks, decimal numbers, connector
punctuations, and formatting codes.


--=20
greg

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Dave Page
Дата:
Сообщение: Re: BUG #5735: pg_upgrade thinks that it did not start the old server
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #5732: parsing of: "WHERE mycol=123AND ..."