[parser] parse until eof (#367)
This commit is contained in:
@ -211,9 +211,11 @@ func (s *Scanner) Lex(v *yySymType) int {
|
||||
case quotedIdentifier:
|
||||
tok = identifier
|
||||
}
|
||||
if tok == unicode.ReplacementChar && s.r.eof() {
|
||||
return 0
|
||||
|
||||
if tok == unicode.ReplacementChar {
|
||||
return invalid
|
||||
}
|
||||
|
||||
return tok
|
||||
}
|
||||
|
||||
|
||||
@ -356,18 +356,18 @@ func (s *testLexerSuite) TestSQLModeANSIQuotes(c *C) {
|
||||
|
||||
func (s *testLexerSuite) TestIllegal(c *C) {
|
||||
table := []testCaseItem{
|
||||
{"'", 0},
|
||||
{"'fu", 0},
|
||||
{"'\\n", 0},
|
||||
{"'\\", 0},
|
||||
{"'", invalid},
|
||||
{"'fu", invalid},
|
||||
{"'\\n", invalid},
|
||||
{"'\\", invalid},
|
||||
{fmt.Sprintf("%c", 0), invalid},
|
||||
{"`", 0},
|
||||
{`"`, 0},
|
||||
{"@`", 0},
|
||||
{"@'", 0},
|
||||
{`@"`, 0},
|
||||
{"@@`", 0},
|
||||
{"@@global.`", 0},
|
||||
{"`", invalid},
|
||||
{`"`, invalid},
|
||||
{"@`", invalid},
|
||||
{"@'", invalid},
|
||||
{`@"`, invalid},
|
||||
{"@@`", invalid},
|
||||
{"@@global.`", invalid},
|
||||
}
|
||||
runTest(c, table)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user