aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/parser/scan.l22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l
index 2701479313c..f5597d1593e 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.75 2000/08/12 05:15:21 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.76 2000/08/22 13:01:20 ishii Exp $
*
*-------------------------------------------------------------------------
*/
@@ -31,6 +31,10 @@
#include "parser/scansup.h"
#include "utils/builtins.h"
+#ifdef MULTIBYTE
+#include "mb/pg_wchar.h"
+#endif
+
extern char *parseString;
static char *parseCh;
@@ -345,9 +349,17 @@ other .
BEGIN(INITIAL);
if (strlen(literalbuf) >= NAMEDATALEN)
{
+#ifdef MULTIBYTE
+ int len;
+ len = pg_mbcliplen(literalbuf,strlen(literalbuf),NAMEDATALEN-1);
+ elog(NOTICE, "identifier \"%s\" will be truncated to \"%.*s\"",
+ literalbuf, len, literalbuf);
+ literalbuf[len] = '\0';
+#else
elog(NOTICE, "identifier \"%s\" will be truncated to \"%.*s\"",
literalbuf, NAMEDATALEN-1, literalbuf);
literalbuf[NAMEDATALEN-1] = '\0';
+#endif
}
yylval.str = pstrdup(literalbuf);
return IDENT;
@@ -471,9 +483,17 @@ other .
yytext[i] = tolower(yytext[i]);
if (i >= NAMEDATALEN)
{
+#ifdef MULTIBYTE
+ int len;
+ len = pg_mbcliplen(yytext,i,NAMEDATALEN-1);
+ elog(NOTICE, "identifier \"%s\" will be truncated to \"%.*s\"",
+ yytext, len, yytext);
+ yytext[len] = '\0';
+#else
elog(NOTICE, "identifier \"%s\" will be truncated to \"%.*s\"",
yytext, NAMEDATALEN-1, yytext);
yytext[NAMEDATALEN-1] = '\0';
+#endif
}
keyword = ScanKeywordLookup((char*)yytext);
if (keyword != NULL) {