Skip to content

Commit 74440ae

Browse files
committed
save is_quoted info for double quoted identifier
1 parent 5885d02 commit 74440ae

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

mindsdb_sql_parser/parser.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1885,6 +1885,8 @@ def identifier(self, p):
18851885
@_('id', 'dquote_string')
18861886
def identifier(self, p):
18871887
value = p[0]
1888+
if hasattr(p, 'dquote_string'):
1889+
return Identifier(parts=[value], is_quoted=[True])
18881890
return Identifier(value)
18891891

18901892
@_('PARAMETER')

tests/test_base_sql/test_base_sql.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,17 @@ def test_quotes_identifier(self):
8686

8787
assert str(ast).lower() == str(expected_ast).lower()
8888
assert ast.to_tree() == expected_ast.to_tree()
89+
90+
def test_double_quoted_identifier(self):
91+
sql = 'select * from "table.name"'
92+
93+
expected_ast = Select(
94+
targets=[
95+
Star()
96+
],
97+
from_table=Identifier(parts=['table.name'], is_quoted=[True])
98+
)
99+
ast = parse_sql(sql)
100+
101+
assert str(ast).lower() == str(expected_ast).lower()
102+
assert ast.to_tree() == expected_ast.to_tree()

0 commit comments

Comments
 (0)