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 по дате отправления: