Browse Source

[metastore] Add more database metadata

Romain Rigaux 10 years ago
parent
commit
8787f6e

+ 1 - 1
apps/beeswax/src/beeswax/server/hive_server2_lib.py

@@ -660,7 +660,7 @@ class HiveServerClient:
     (desc_results, desc_schema), operation_handle = self.execute_statement(query, max_rows=5000, orientation=TFetchOrientation.FETCH_NEXT)
     self.close_operation(operation_handle)
 
-    cols = ('db_name', 'comment', 'location')
+    cols = ('db_name', 'comment', 'location','owner_name', 'owner_type', 'parameters')
 
     if len(HiveServerTRowSet(desc_results.results, desc_schema.schema).cols(cols)) != 1:
       raise ValueError(_("%(query)s returned more than 1 row") % {'query': query})

+ 8 - 0
apps/metastore/src/metastore/templates/tables.mako

@@ -53,6 +53,14 @@ ${ components.menubar() }
         <h1 class="card-heading simple">${ components.breadcrumbs(breadcrumbs) }</h1>
         <%actionbar:render>
           <%def name="search()">
+            <div>
+              ## Also available in Ajax, so ko-ifable
+              ${ database_meta.get('comment') }
+              ${ database_meta.get('location') }
+              ${ database_meta.get('owner_name') }
+              ${ database_meta.get('owner_type') }
+              ${ database_meta.get('parameters') }
+            </div>
             <form id="searchQueryForm" action="${ url('metastore:show_tables') }" method="GET" class="inline">
               <input id="filterInput" type="text" name="filter" class="input-xlarge search-query" value="${ search_filter }" placeholder="${_('Search for table name')}" />
             </form>

+ 4 - 0
apps/metastore/src/metastore/views.py

@@ -162,9 +162,12 @@ def show_tables(request, database=None):
   except Exception, e:
     raise PopupException(_('Failed to retrieve tables for database: %s' % database), detail=e)
 
+  database_meta = db.get_database(database)
+
   if request.REQUEST.get("format", "html") == "json":
     resp = JsonResponse({
         'status': 0,
+        'database_meta': database_meta,
         'tables': tables,
         'table_names': table_names,
         'search_filter': search_filter
@@ -177,6 +180,7 @@ def show_tables(request, database=None):
           'url': reverse('metastore:show_tables', kwargs={'database': database})
         }
       ],
+      'database_meta': database_meta,
       'tables': tables,
       'db_form': db_form,
       'search_filter': search_filter,