From: Tom Lane Date: Thu, 1 Jun 2000 22:23:10 +0000 (+0000) Subject: Lexer defended us against overlength plain identifiers, but not against X-Git-Tag: REL7_0_2~6 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=30d17f3195ca1c3f19ed0f59e3cb4f39efa992c9;p=postgresql.git Lexer defended us against overlength plain identifiers, but not against overlength quoted identifiers. Death and destruction ensue... --- 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 . } {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; }