Quellcode durchsuchen

HUE-1463 [metastore] Do not assume default database when creating a table

Atupal vor 12 Jahren
Ursprung
Commit
3413f59
2 geänderte Dateien mit 4 neuen und 3 gelöschten Zeilen
  1. 1 0
      apps/beeswax/src/beeswax/create_table.py
  2. 3 3
      apps/beeswax/src/beeswax/forms.py

+ 1 - 0
apps/beeswax/src/beeswax/create_table.py

@@ -56,6 +56,7 @@ def create_table(request, database='default'):
   if request.method == "POST":
     form.bind(request.POST)
     form.table.db = db  # curry is invalid
+    form.table.database = database
 
     if request.POST.get('create'):
       if form.is_valid():

+ 3 - 3
apps/beeswax/src/beeswax/forms.py

@@ -246,12 +246,12 @@ class CreateTableForm(DependencyAwareForm):
     return _clean_terminator(self.cleaned_data.get('map_key_terminator'))
 
   def clean_name(self):
-    return _clean_tablename(self.db, self.cleaned_data['name'])
+    return _clean_tablename(self.db, self.cleaned_data['name'], self.database)
 
 
-def _clean_tablename(db, name):
+def _clean_tablename(db, name, database='default'):
   try:
-    table = db.get_table("default", name)
+    table = db.get_table(database, name)
     if table.name:
       raise forms.ValidationError(_('Table "%(name)s" already exists.') % {'name': name})
   except Exception: