提交 85712da9 编写于 作者: T Tom Lane

Mike Ansley's fixes for long queries. This change just

corrects flex myinput() routine so that it doesn't assume there is only
one bufferload of data.  We still have the issue of getting rid of
YY_USES_REJECT so that the scanner can cope with tokens larger than its
initial buffer size.
上级 f1de4f95
......@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.52 1999/07/17 20:17:26 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.53 1999/09/07 00:13:27 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -491,11 +491,8 @@ int
input()
{
if (parseCh == NULL)
{
parseCh = parseString;
return(*parseCh++);
}
else if (*parseCh == '\0')
if (*parseCh == '\0')
return(0);
else
return(*parseCh++);
......@@ -520,20 +517,17 @@ myinput(char* buf, int max)
int len, copylen;
if (parseCh == NULL)
{
len = strlen(parseString);
if (len >= max)
copylen = max - 1;
else
copylen = len;
if (copylen > 0)
memcpy(buf, parseString, copylen);
buf[copylen] = '\0';
parseCh = parseString;
return copylen;
}
len = strlen(parseCh); /* remaining data available */
if (len >= max)
copylen = max - 1;
else
return 0; /* end of string */
copylen = len;
if (copylen > 0)
memcpy(buf, parseCh, copylen);
buf[copylen] = '\0';
parseCh += copylen;
return copylen;
}
#endif /* FLEX_SCANNER */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册