Skip to content

Commit 75fde49

Browse files
committed
HUE-9728 [sqlAlchemy] Add views to get_tables API
1 parent d8fae80 commit 75fde49

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

desktop/libs/notebook/src/notebook/connectors/sql_alchemy.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -536,9 +536,15 @@ def __init__(self, db, engine, backticks, api=None):
536536
def get_databases(self):
537537
return self.db.get_schema_names()
538538

539-
def get_tables(self, database, table_names=[]):
539+
def get_table_names(self, database, table_names=[]):
540540
return self.db.get_table_names(database)
541541

542+
def get_view_names(self, database, view_names=[]):
543+
return self.db.get_view_names(database)
544+
545+
def get_tables(self, database, table_names=[]):
546+
return self.get_table_names(database) + self.get_view_names(database)
547+
542548
def get_columns(self, database, table):
543549
return self.db.get_columns(table, database)
544550

desktop/libs/notebook/src/notebook/connectors/sql_alchemy_tests.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,22 @@ def test_get_sample_data(self):
273273
[{'name': 'col1', 'type': 'STRING_TYPE', 'comment': ''}]
274274
)
275275

276+
277+
def test_get_tables(self):
278+
snippet = MagicMock()
279+
280+
with patch('notebook.connectors.sql_alchemy.create_engine') as create_engine:
281+
with patch('notebook.connectors.sql_alchemy.inspect') as inspect:
282+
with patch('notebook.connectors.sql_alchemy.Assist.get_table_names') as get_table_names:
283+
with patch('notebook.connectors.sql_alchemy.Assist.get_view_names') as get_view_names:
284+
get_table_names.return_value = ['table1']
285+
get_view_names.return_value = ['view1']
286+
287+
response = SqlAlchemyApi(self.user, self.interpreter).autocomplete(snippet, database='database1')
288+
assert_equal(response['tables_meta'][0]['name'], 'table1')
289+
assert_equal(response['tables_meta'][1]['name'], 'view1')
290+
291+
276292
def test_get_sample_data_table(self):
277293
snippet = Mock()
278294

0 commit comments

Comments
 (0)