Skip to content

Commit 3d0c043

Browse files
authored
Support CREATE TEMPORARY TABLE queries (#582)
Resolves #538
1 parent e5b97f1 commit 3d0c043

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

sql_metadata/keywords_lists.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ class TokenType(str, Enum):
107107
"DELETE": QueryType.DELETE,
108108
"WITH": QueryType.SELECT,
109109
"CREATETABLE": QueryType.CREATE,
110+
"CREATETEMPORARY": QueryType.CREATE,
110111
"ALTERTABLE": QueryType.ALTER,
111112
"DROPTABLE": QueryType.DROP,
112113
"CREATEFUNCTION": QueryType.CREATE,

test/test_create_table.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,3 +164,15 @@ def test_create_if_not_exists_simple_name():
164164
assert parser.query_type == QueryType.CREATE
165165
assert parser.tables == ["analytics_table"]
166166
assert parser.columns == ["version", "created_date"]
167+
168+
169+
def test_create_temporary_table():
170+
# https://dev.mysql.com/doc/refman/8.4/en/create-temporary-table.html
171+
parser = Parser(
172+
"""
173+
CREATE TEMPORARY TABLE new_tbl SELECT * FROM orig_tbl LIMIT 0;;
174+
"""
175+
)
176+
assert parser.query_type == QueryType.CREATE
177+
assert parser.tables == ["new_tbl", "orig_tbl"]
178+
assert parser.columns == ["*"]

0 commit comments

Comments
 (0)