Lexer defended us against overlength plain identifiers, but not against

overlength quoted identifiers.  Death and destruction ensue...
REL7_0_PATCHES
Tom Lane 26 years ago
parent 490c151237
commit 30d17f3195
  1. 9
      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;
}

Loading…
Cancel
Save