Jelajahi Sumber

HUE-9117 [editor] Add config option to set default limit for SELECT statements

Johan Ahlen 5 tahun lalu
induk
melakukan
d1fc1e032c

+ 3 - 0
desktop/conf.dist/hue.ini

@@ -903,6 +903,9 @@
   ## order in which the interpreter entries appear. Only the first 5 interpreters will appear on the wheel.
   # interpreters_shown_on_wheel=
 
+  # ## Default limit to use in SELECT statements if not present (optional).
+  # default_limit=100
+
   # One entry for each type of snippet.
   [[interpreters]]
     # Define the name and how to connect and execute the language.

+ 3 - 0
desktop/conf/pseudo-distributed.ini.tmpl

@@ -887,6 +887,9 @@
   ## order in which the interpreter entries appear. Only the first 5 interpreters will appear on the wheel.
   # interpreters_shown_on_wheel=
 
+  # ## Default limit to use in SELECT statements if not present (optional).
+  # default_limit=
+
   # One entry for each type of snippet.
   [[interpreters]]
     # Define the name and how to connect and execute the language.

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

@@ -42,7 +42,7 @@ from django.utils.translation import ugettext as _, ugettext_lazy as _t
 
 from dashboard.conf import get_engines, HAS_REPORT_ENABLED
 from kafka.conf import has_kafka
-from notebook.conf import SHOW_NOTEBOOKS, get_ordered_interpreters
+from notebook.conf import DEFAULT_LIMIT, SHOW_NOTEBOOKS, get_ordered_interpreters
 from useradmin.models import User, Group, get_organization
 
 from desktop import appmanager
@@ -1767,6 +1767,7 @@ class ClusterConfig(object):
         'displayName': _('Editor'),
         'buttonName': _('Query'),
         'interpreters': interpreters,
+        'default_limit': DEFAULT_LIMIT.get(),
         'interpreter_names': [interpreter['type'] for interpreter in interpreters],
         'page': interpreters[0]['page'],
         'default_sql_interpreter': next((interpreter['type'] for interpreter in interpreters if interpreter.get('is_sql')), 'hive')

+ 7 - 0
desktop/libs/notebook/src/notebook/conf.py

@@ -149,6 +149,13 @@ INTERPRETERS_SHOWN_ON_WHEEL = Config(
   default=[]
 )
 
+DEFAULT_LIMIT = Config(
+  "default_limit",
+  help="Default limit to use in SELECT statements if not present (optional).",
+  default=None,
+  type=int
+)
+
 ENABLE_DBPROXY_SERVER = Config(
   key="enable_dbproxy_server",
   help=_t("Main flag to override the automatic starting of the DBProxy server."),