Pārlūkot izejas kodu

[editor] Fix issue of query-10 vs query-hive in samples

Should be in document:

- dialect: hive
- type: query-hive
- FK to Connector
Romain Rigaux 4 gadi atpakaļ
vecāks
revīzija
c85c4139d9

+ 4 - 2
apps/beeswax/src/beeswax/management/commands/beeswax_install_examples.py

@@ -423,7 +423,7 @@ class SampleQuery(object):
     if USE_NEW_EDITOR.get():
       examples_dir = _get_example_directory(django_user)
 
-      document_type = self._document_type(self.type, interpreter)  # Issue of query-10 vs query-hive-10
+      document_type = self._document_type(self.type, interpreter)
       notebook = import_saved_beeswax_query(query, interpreter=interpreter)
 
       try:
@@ -456,6 +456,8 @@ class SampleQuery(object):
           data=data
         )
 
+        # TODO: FK to connector object
+
       # Share with default group
       examples_dir.share(django_user, Document2Permission.READ_PERM, groups=[get_default_user_group()])
       LOG.info('Successfully installed sample query: %s' % doc2)
@@ -467,6 +469,6 @@ class SampleQuery(object):
     elif type == IMPALA:
       return 'query-impala'
     elif interpreter:
-      return 'query-%(type)s' % interpreter
+      return 'query-%(dialect)s' % interpreter
     else:
       return None

+ 2 - 2
apps/beeswax/src/beeswax/management/commands/beeswax_install_examples_tests.py

@@ -64,7 +64,7 @@ class TestStandardTables():
         "settings": []
       }
     }
-    interpreter = {'type': 'mysql'}
+    interpreter = {'type': 'mysql', 'dialect': 'mysql'}
 
     design = SampleQuery(design_dict)
     assert_false(Document2.objects.filter(name='TestStandardTables Query').exists())
@@ -102,7 +102,7 @@ class TestHiveServer2():
         "settings": []
       }
     }
-    interpreter = {'type': 'hive'}
+    interpreter = {'type': 'hive', 'dialect': 'hive'}
 
     design = SampleQuery(design_dict)
     assert_false(Document2.objects.filter(name='TestBeswaxHiveTables Query').exists())

+ 1 - 1
desktop/core/src/desktop/models.py

@@ -1150,7 +1150,7 @@ class Document2(models.Model):
   )
   connector = models.ForeignKey(
       Connector,
-      on_delete=models.CASCADE,
+      on_delete=models.CASCADE,  # /!\ Deleting a connector delete all its queries currently
       verbose_name=_t('Connector'),
       help_text=_t('Connector.'),
       blank=True,

+ 1 - 1
desktop/libs/notebook/src/notebook/models.py

@@ -295,7 +295,7 @@ def import_saved_beeswax_query(bquery, interpreter=None):
   return make_notebook(
       name=bquery.name,
       description=bquery.desc,
-      editor_type=interpreter['type'] if interpreter else _convert_type(bquery.type, bquery.data),
+      editor_type=interpreter['dialect'] if interpreter else _convert_type(bquery.type, bquery.data),
       statement=design.hql_query,
       status='ready',
       files=design.file_resources,