Sfoglia il codice sorgente

HUE-8758 [connectors] Converting last SQL dialects to connector types

Romain 5 anni fa
parent
commit
84270c5352

+ 1 - 1
desktop/core/src/desktop/auth/backend.py

@@ -170,7 +170,7 @@ def create_user(username, password, is_superuser=True):
     user.set_password(password)
 
   if ENABLE_ORGANIZATIONS.get():
-    user.is_admin = is_superuser or not organization.organizationuser_set.exists()
+    user.is_admin = is_superuser or not organization.organizationuser_set.exists() or not organization.is_multi_user
     user.is_superuser = not User.objects.exists()
   else:
     user.is_superuser = is_superuser

+ 163 - 8
desktop/core/src/desktop/lib/connectors/types.py

@@ -315,15 +315,169 @@ CONNECTOR_TYPES = [
       'has_auto_limit': False,
     }
   },
-  {'nice_name': "Athena", 'dialect': 'athena', 'interface': 'sqlalchemy', 'settings': [], 'category': 'editor', 'description': '', 'properties': {'is_sql': True}},
-  {'nice_name': "Redshift", 'dialect': 'redshift', 'interface': 'sqlalchemy', 'settings': [], 'category': 'editor', 'description': '', 'properties': {'is_sql': True}},
-  {'nice_name': "Snowflake", 'dialect': 'snowflake', 'interface': 'sqlalchemy', 'settings': [], 'category': 'editor', 'description': '', 'properties': {'is_sql': True}},
-  {'nice_name': "Big Query", 'dialect': 'bigquery', 'interface': 'sqlalchemy', 'settings': [], 'category': 'editor', 'description': '', 'properties': {'is_sql': True}},
-  {'nice_name': "Oracle", 'dialect': 'oracle', 'interface': 'sqlalchemy', 'settings': [], 'category': 'editor', 'description': '', 'properties': {'is_sql': True}},
-  {'nice_name': "SQL Database", 'dialect': 'sql-alchemy', 'interface': 'sqlalchemy', 'settings': [], 'category': 'editor', 'description': '', 'properties': {'is_sql': True}},
-  {'nice_name': "SQL Database (JDBC)", 'dialect': 'sql-jdbc', 'interface': 'sqlalchemy', 'settings': [], 'category': 'editor', 'description': 'Deprecated: older way to connect to any database.', 'properties': {'is_sql': True}},
+  {
+    'nice_name': "Athena",
+    'dialect': 'athena',
+    'interface': 'sqlalchemy',
+    'settings': [],
+    'category': 'editor',
+    'description': '',
+    'properties': {
+      'is_sql': True,
+      'sql_identifier_quote': '"',
+      'sql_identifier_comment_single': '--',
+      'has_catalog': True,
+      'has_database': True,
+      'has_table': True,
+      'has_live_queries': False,
+      'has_optimizer_risks': False,
+      'has_optimizer_values': False,
+      'has_auto_limit': False,
+    }
+  },
+  {
+    'nice_name': "Redshift",
+    'dialect': 'redshift',
+    'interface': 'sqlalchemy',
+    'settings': [],
+    'category': 'editor',
+    'description': '',
+    'properties': {
+      'is_sql': True,
+      'sql_identifier_quote': '`',
+      'sql_identifier_comment_single': '--',
+      'has_catalog': True,
+      'has_database': True,
+      'has_table': True,
+      'has_live_queries': False,
+      'has_optimizer_risks': False,
+      'has_optimizer_values': False,
+      'has_auto_limit': False,
+    }
+  },
+  {
+    'nice_name': "Snowflake",
+    'dialect': 'snowflake',
+    'interface': 'sqlalchemy',
+    'settings': [],
+    'category': 'editor',
+    'description': '',
+    'properties': {
+      'is_sql': True,
+      'sql_identifier_quote': '`',
+      'sql_identifier_comment_single': '--',
+      'has_catalog': True,
+      'has_database': True,
+      'has_table': True,
+      'has_live_queries': False,
+      'has_optimizer_risks': False,
+      'has_optimizer_values': False,
+      'has_auto_limit': False,
+    }
+  },
+  {
+    'nice_name': "Big Query",
+    'dialect': 'bigquery',
+    'interface': 'sqlalchemy',
+    'settings': [],
+    'category': 'editor',
+    'description': '',
+    'properties': {
+      'is_sql': True,
+      'sql_identifier_quote': '`',
+      'sql_identifier_comment_single': '--',
+      'has_catalog': True,
+      'has_database': True,
+      'has_table': True,
+      'has_live_queries': False,
+      'has_optimizer_risks': False,
+      'has_optimizer_values': False,
+      'has_auto_limit': False,
+    }
+  },
+  {
+    'nice_name': "Oracle",
+    'dialect': 'oracle',
+    'interface': 'sqlalchemy',
+    'settings': [],
+    'category': 'editor',
+    'description': '',
+    'properties': {
+      'is_sql': True,
+      'sql_identifier_quote': '`',
+      'sql_identifier_comment_single': '--',
+      'has_catalog': True,
+      'has_database': True,
+      'has_table': True,
+      'has_live_queries': False,
+      'has_optimizer_risks': False,
+      'has_optimizer_values': False,
+      'has_auto_limit': False,
+    }
+  },
+  {
+    'nice_name': "Solr SQL",
+    'dialect': 'solr',
+    'interface': 'solr',
+    'settings': [],
+    'category': 'editor',
+    'description': '',
+    'properties': {
+      'is_sql': True,
+      'sql_identifier_quote': '`',
+      'sql_identifier_comment_single': '--',
+      'has_catalog': True,
+      'has_database': True,
+      'has_table': True,
+      'has_live_queries': False,
+      'has_optimizer_risks': False,
+      'has_optimizer_values': False,
+      'has_auto_limit': False,
+    }
+  },
+  {
+    'nice_name':
+    "SQL Database",
+    'dialect': 'sql',
+    'interface': 'sqlalchemy',
+    'settings': [],
+    'category': 'editor',
+    'description': '',
+    'properties': {
+      'is_sql': True,
+      'sql_identifier_quote': '`',
+      'sql_identifier_comment_single': '--',
+      'has_catalog': True,
+      'has_database': True,
+      'has_table': True,
+      'has_live_queries': False,
+      'has_optimizer_risks': False,
+      'has_optimizer_values': False,
+      'has_auto_limit': False,
+    }
+  },
+  {
+    'nice_name': "SQL Database (JDBC)",
+    'dialect': 'sql',
+    'interface': 'sqlalchemy',
+    'settings': [],
+    'category': 'editor',
+    'description': 'Deprecated: older way to connect to any database.',
+    'properties': {
+      'is_sql': True,
+      'sql_identifier_quote': '`',
+      'sql_identifier_comment_single': '--',
+      'has_catalog': True,
+      'has_database': True,
+      'has_table': True,
+      'has_live_queries': False,
+      'has_optimizer_risks': False,
+      'has_optimizer_values': False,
+      'has_auto_limit': False,
+    }
+  },
   # solr
-  # hbase
+
   {'nice_name': "PySpark", 'dialect': 'pyspark', 'settings': [], 'category': 'editor', 'description': '', 'properties': {}},
   {'nice_name': "Spark", 'dialect': 'spark', 'settings': [], 'category': 'editor', 'description': '', 'properties': {}},
   {'nice_name': "Pig", 'dialect': 'pig', 'settings': [], 'category': 'editor', 'description': '', 'properties': {}},
@@ -333,6 +487,7 @@ CONNECTOR_TYPES = [
   {'nice_name': "YARN", 'dialect': 'yarn', 'settings': [], 'category': 'browsers', 'description': '', 'properties': {}},
   {'nice_name': "S3", 'dialect': 's3', 'settings': [], 'category': 'browsers', 'description': '', 'properties': {}},
   {'nice_name': "ADLS", 'dialect': 'adls-v1', 'settings': [], 'category': 'browsers', 'description': '', 'properties': {}},
+  # HBase
 
   {
     'nice_name': "Hive Metastore",