From c5d85043b83d17eb114d7978cefcf6abff890cb8 Mon Sep 17 00:00:00 2001 From: Mahdi Dibaiee Date: Tue, 23 Jul 2024 11:47:51 +0330 Subject: [PATCH] sqlparser: fix double single-quote escaping in string literals Signed-off-by: Mahdi Dibaiee --- go/vt/sqlparser/token.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/go/vt/sqlparser/token.go b/go/vt/sqlparser/token.go index 3a1fdaffff2..eca9b83343a 100644 --- a/go/vt/sqlparser/token.go +++ b/go/vt/sqlparser/token.go @@ -284,7 +284,8 @@ func (tkn *Tokenizer) Scan() (int, string) { } return int(ch), "" case '\'': - return tkn.scanString(ch, STRING) + var t, s = tkn.scanString(ch, STRING) + return t, s case '"': return tkn.scanLiteralIdentifier() default: @@ -551,8 +552,9 @@ func (tkn *Tokenizer) scanString(delim uint16, typ int) (int, string) { if tkn.peek(1) != delim { tkn.skip(1) return typ, tkn.buf[start : tkn.Pos-1] + } else { + tkn.skip(1) } - fallthrough case eofChar: return LEX_ERROR, tkn.buf[start:tkn.Pos]