Skip to content

Commit 38a24be

Browse files
committed
minor fix: removing unused imports
1 parent 006c4e2 commit 38a24be

File tree

3 files changed

+35
-1
lines changed

3 files changed

+35
-1
lines changed

mindsdb_sql_parser/ast/mindsdb/knowledge_base.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,20 @@ def to_tree(self, *args, level=0, **kwargs):
105105
def get_string(self, *args, **kwargs):
106106
out_str = f'DROP KNOWLEDGE_BASE {"IF EXISTS " if self.if_exists else ""}{self.name.to_string()}'
107107
return out_str
108+
109+
class CreateKnowledgeBaseIndexBase(ASTNode):
110+
"""
111+
Create a new index in the knowledge base
112+
"""
113+
def __init__(self, name, *args, **kwargs):
114+
"""
115+
Args:
116+
name: Identifier -- name of the knowledge base
117+
"""
118+
super().__init__(*args, **kwargs)
119+
self.name = name
120+
121+
def to_tree(self, *args, level=0, **kwargs):
122+
ind = indent(level)
123+
out_str = f"{ind}CreateIndexBase(name={self.name.to_string()})"
124+
return out_str

mindsdb_sql_parser/parser.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
from mindsdb_sql_parser.ast.mindsdb.trigger import CreateTrigger, DropTrigger
1717
from mindsdb_sql_parser.ast.mindsdb.latest import Latest
1818
from mindsdb_sql_parser.ast.mindsdb.evaluate import Evaluate
19-
from mindsdb_sql_parser.ast.mindsdb.knowledge_base import CreateKnowledgeBase, DropKnowledgeBase
19+
from mindsdb_sql_parser.ast.mindsdb.knowledge_base import CreateKnowledgeBase, DropKnowledgeBase, \
20+
CreateKnowledgeBaseIndexBase
2021
from mindsdb_sql_parser.ast.mindsdb.skills import CreateSkill, DropSkill, UpdateSkill
2122
from mindsdb_sql_parser.exceptions import ParsingException
2223
from mindsdb_sql_parser.ast.mindsdb.retrain_predictor import RetrainPredictor
@@ -134,6 +135,10 @@ def create_kb(self, p):
134135
if_not_exists=if_not_exists
135136
)
136137

138+
@_("CREATE INDEX ON KNOWLEDGE_BASE if_exists_or_empty identifier")
139+
def create_index(self, p):
140+
return CreateKnowledgeBaseIndexBase(name=p.identifier)
141+
137142
@_('DROP KNOWLEDGE_BASE if_exists_or_empty identifier')
138143
def drop_kb(self, p):
139144
return DropKnowledgeBase(name=p.identifier, if_exists=p.if_exists_or_empty)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from mindsdb_sql_parser import parse_sql
2+
3+
4+
class TestKB:
5+
6+
def test_create_knowledge_base_index(self):
7+
# create without select
8+
sql = """
9+
CREATE INDEX ON KNOWLEDGE_BASE my_knowledge_base;
10+
"""
11+
ast = parse_sql(sql)
12+
print(ast)

0 commit comments

Comments
 (0)