Skip to content

Commit a2b697f

Browse files
authored
Merge pull request #60 from mindsdb/fix-raw-query-escape2
Fix raw query escaping
2 parents a188500 + bf6bb54 commit a2b697f

File tree

3 files changed

+4
-6
lines changed

3 files changed

+4
-6
lines changed

mindsdb_sql_parser/lexer.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,12 +346,10 @@ def INTEGER(self, t):
346346

347347
@_(r"'(?:\\.|[^'])*(?:''(?:\\.|[^'])*)*'")
348348
def QUOTE_STRING(self, t):
349-
t.value = t.value.replace('\\"', '"').replace("\\'", "'").replace("''", "'")
350349
return t
351350

352351
@_(r'"(?:\\.|[^"])*"')
353352
def DQUOTE_STRING(self, t):
354-
t.value = t.value.replace('\\"', '"').replace("\\'", "'")
355353
return t
356354

357355
@_(r'\n+')

mindsdb_sql_parser/parser.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2006,11 +2006,11 @@ def integer(self, p):
20062006

20072007
@_('QUOTE_STRING')
20082008
def quote_string(self, p):
2009-
return p[0].strip('\'')
2009+
return p[0].replace('\\"', '"').replace("\\'", "'").replace("''", "'").strip('\'')
20102010

20112011
@_('DQUOTE_STRING')
20122012
def dquote_string(self, p):
2013-
return p[0].strip('\"')
2013+
return p[0].replace('\\"', '"').replace("\\'", "'").strip('\"')
20142014

20152015
# for raw query
20162016

tests/test_mindsdb/test_selects.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def test_select_status_column(self):
4545
def test_native_query(self):
4646
sql = """
4747
SELECT status
48-
FROM int1 (select q from p from r)
48+
FROM int1 (select q from p from r where x = 'test''test')
4949
group by 1
5050
limit 1
5151
"""
@@ -54,7 +54,7 @@ def test_native_query(self):
5454
targets=[Identifier('status')],
5555
from_table=NativeQuery(
5656
integration=Identifier('int1'),
57-
query='select q from p from r'
57+
query="select q from p from r where x = 'test''test'"
5858
),
5959
limit=Constant(1),
6060
group_by=[Constant(1)]

0 commit comments

Comments
 (0)