Skip to content

Commit 26b0557

Browse files
added the ast class for ALTER DATABASE
1 parent b214f65 commit 26b0557

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
from mindsdb_sql_parser.ast.base import ASTNode
2+
from mindsdb_sql_parser.ast.select import Identifier
3+
from mindsdb_sql_parser.utils import indent
4+
5+
6+
class AlterDatabase(ASTNode):
7+
"""
8+
Alter a database.
9+
"""
10+
def __init__(self, name: Identifier, altered_params: dict, *args, **kwargs):
11+
"""
12+
Args:
13+
name: Identifier -- name of the database to alter.
14+
altered_params: dict -- parameters to alter in the database.
15+
"""
16+
super().__init__(*args, **kwargs)
17+
self.name = name
18+
self.params = altered_params
19+
20+
def to_tree(self, *args, level=0, **kwargs):
21+
ind = indent(level)
22+
out_str = f'{ind}AlterDatabase(' \
23+
f'name={self.name.to_string()}, ' \
24+
f'altered_params={self.params})'
25+
return out_str
26+
27+
def get_string(self, *args, **kwargs):
28+
params = self.params.copy()
29+
30+
set_ar = [f'{k}={repr(v)}' for k, v in params.items()]
31+
set_str = ', '.join(set_ar)
32+
33+
out_str = f'ALTER DATABASE {self.name.to_string()} {set_str}'
34+
return out_str

0 commit comments

Comments
 (0)