Fix parsing quoted strings with leading spaces
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Parser / MySQL.pm
index 4b1fcec..8cdd794 100644 (file)
@@ -853,14 +853,14 @@ QUOTED_NAME : BQSTRING
 
 # MySQL strings, unlike common SQL strings, can have the delmiters
 # escaped either by doubling or by backslashing.
-BQSTRING: BACKTICK /(?:[^\\`]|``|\\.)*/ BACKTICK
-    { ($return = $item[2]) =~ s/(\\[\\`]|``)/substr($1,1)/ge }
+BQSTRING: BACKTICK <skip: ''> /(?:[^\\`]|``|\\.)*/ BACKTICK
+    { ($return = $item[3]) =~ s/(\\[\\`]|``)/substr($1,1)/ge }
 
-DQSTRING: DOUBLE_QUOTE /(?:[^\\"]|""|\\.)*/ DOUBLE_QUOTE
-    { ($return = $item[2]) =~ s/(\\[\\"]|"")/substr($1,1)/ge }
+DQSTRING: DOUBLE_QUOTE <skip: ''> /(?:[^\\"]|""|\\.)*/ DOUBLE_QUOTE
+    { ($return = $item[3]) =~ s/(\\[\\"]|"")/substr($1,1)/ge }
 
-SQSTRING: SINGLE_QUOTE /(?:[^\\']|''|\\.)*/ SINGLE_QUOTE
-    { ($return = $item[2]) =~ s/(\\[\\']|'')/substr($1,1)/ge }
+SQSTRING: SINGLE_QUOTE <skip: ''> /(?:[^\\']|''|\\.)*/ SINGLE_QUOTE
+    { ($return = $item[3]) =~ s/(\\[\\']|'')/substr($1,1)/ge }
 
 
 NAME: QUOTED_NAME