mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-18 18:44:06 +08:00
Code review for 'at character n' patch --- point at proper end of
a token scanned by multiple lex rules.
This commit is contained in:
parent
2c6b34d959
commit
2efb8e8070
@ -9,7 +9,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.99 2002/08/17 13:06:50 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.100 2002/08/18 03:35:08 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -582,12 +582,13 @@ other .
|
|||||||
void
|
void
|
||||||
yyerror(const char *message)
|
yyerror(const char *message)
|
||||||
{
|
{
|
||||||
if(yyleng == 1 && *yytext == YY_END_OF_BUFFER_CHAR)
|
const char *loc = token_start ? token_start : yytext;
|
||||||
elog(ERROR, "parser: %s at end of input",message);
|
|
||||||
else
|
if (*loc == YY_END_OF_BUFFER_CHAR)
|
||||||
elog(ERROR, "parser: %s at or near \"%s\" at character %i",
|
elog(ERROR, "parser: %s at end of input", message);
|
||||||
message,token_start ? token_start : yytext,
|
else
|
||||||
(unsigned int)(yytext - scanbuf + 1));
|
elog(ERROR, "parser: %s at or near \"%s\" at character %d",
|
||||||
|
message, loc, (loc - scanbuf + 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ SELECT 'first line'
|
|||||||
' - next line' /* this comment is not allowed here */
|
' - next line' /* this comment is not allowed here */
|
||||||
' - third line'
|
' - third line'
|
||||||
AS "Illegal comment within continuation";
|
AS "Illegal comment within continuation";
|
||||||
ERROR: parser: parse error at or near "' - third line'" at character 89
|
ERROR: parser: parse error at or near "' - third line'" at character 75
|
||||||
--
|
--
|
||||||
-- test conversions between various string types
|
-- test conversions between various string types
|
||||||
-- E021-10 implicit casting among the character data types
|
-- E021-10 implicit casting among the character data types
|
||||||
|
Loading…
Reference in New Issue
Block a user