diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index 882e081aae2..1638ae834cf 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -398,12 +398,12 @@ decimalfail {digit}+\.\. real ({integer}|{decimal})[Ee][-+]?{digit}+ realfail ({integer}|{decimal})[Ee][-+] -integer_junk {integer}{ident_start} -decimal_junk {decimal}{ident_start} -real_junk {real}{ident_start} +integer_junk {integer}{identifier} +decimal_junk {decimal}{identifier} +real_junk {real}{identifier} param \${integer} -param_junk \${integer}{ident_start} +param_junk \${integer}{identifier} other . diff --git a/src/fe_utils/psqlscan.l b/src/fe_utils/psqlscan.l index ae531ec2407..6c603f6e7a0 100644 --- a/src/fe_utils/psqlscan.l +++ b/src/fe_utils/psqlscan.l @@ -336,12 +336,12 @@ decimalfail {digit}+\.\. real ({integer}|{decimal})[Ee][-+]?{digit}+ realfail ({integer}|{decimal})[Ee][-+] -integer_junk {integer}{ident_start} -decimal_junk {decimal}{ident_start} -real_junk {real}{ident_start} +integer_junk {integer}{identifier} +decimal_junk {decimal}{identifier} +real_junk {real}{identifier} param \${integer} -param_junk \${integer}{ident_start} +param_junk \${integer}{identifier} /* psql-specific: characters allowed in variable names */ variable_char [A-Za-z\200-\377_0-9] diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index c06b2d6f51e..3b16c70bce0 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -369,12 +369,12 @@ decimalfail {digit}+\.\. real ({integer}|{decimal})[Ee][-+]?{digit}+ realfail ({integer}|{decimal})[Ee][-+] -integer_junk {integer}{ident_start} -decimal_junk {decimal}{ident_start} -real_junk {real}{ident_start} +integer_junk {integer}{identifier} +decimal_junk {decimal}{identifier} +real_junk {real}{identifier} param \${integer} -param_junk \${integer}{ident_start} +param_junk \${integer}{identifier} /* special characters for other dbms */ /* we have to react differently in compat mode */ diff --git a/src/test/regress/expected/numerology.out b/src/test/regress/expected/numerology.out index 77d48434173..c369e5ff738 100644 --- a/src/test/regress/expected/numerology.out +++ b/src/test/regress/expected/numerology.out @@ -6,15 +6,15 @@ -- Trailing junk in numeric literals -- SELECT 123abc; -ERROR: trailing junk after numeric literal at or near "123a" +ERROR: trailing junk after numeric literal at or near "123abc" LINE 1: SELECT 123abc; ^ SELECT 0x0o; -ERROR: trailing junk after numeric literal at or near "0x" +ERROR: trailing junk after numeric literal at or near "0x0o" LINE 1: SELECT 0x0o; ^ SELECT 1_2_3; -ERROR: trailing junk after numeric literal at or near "1_" +ERROR: trailing junk after numeric literal at or near "1_2_3" LINE 1: SELECT 1_2_3; ^ SELECT 0.a;