diff options
author | Tom Lane | 2000-06-01 22:23:10 +0000 |
---|---|---|
committer | Tom Lane | 2000-06-01 22:23:10 +0000 |
commit | 30d17f3195ca1c3f19ed0f59e3cb4f39efa992c9 (patch) | |
tree | 5358e48ce12cd41de0d5d833079c955c77aefd3b | |
parent | 490c1512379435594960baaf42bfb76dee61b42e (diff) |
Lexer defended us against overlength plain identifiers, but not against
overlength quoted identifiers. Death and destruction ensue...
-rw-r--r-- | src/backend/parser/scan.l | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index 64a389b7680..3934402888e 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.68 2000/03/18 18:03:09 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.68.2.1 2000/06/01 22:23:10 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -42,6 +42,7 @@ static char *parseCh; /* set up my input handler --- need one flavor for flex, one for lex */ #if defined(FLEX_SCANNER) +#define YY_NEVER_INTERACTIVE 1 #define YY_NO_UNPUT static int myinput(char* buf, int max); #undef YY_INPUT @@ -325,6 +326,12 @@ other . } <xd>{xdstop} { BEGIN(INITIAL); + if (strlen(literalbuf) >= NAMEDATALEN) + { + elog(NOTICE, "identifier \"%s\" will be truncated to \"%.*s\"", + literalbuf, NAMEDATALEN-1, literalbuf); + literalbuf[NAMEDATALEN-1] = '\0'; + } yylval.str = pstrdup(literalbuf); return IDENT; } |