summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2000-06-01 22:23:10 +0000
committerTom Lane2000-06-01 22:23:10 +0000
commit30d17f3195ca1c3f19ed0f59e3cb4f39efa992c9 (patch)
tree5358e48ce12cd41de0d5d833079c955c77aefd3b
parent490c1512379435594960baaf42bfb76dee61b42e (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.l9
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;
}