فهرست منبع

HUE-1763 [dbquery] Autocomplete doesn't work for a new dbquery setup

MySQL requires a database to be selected. In APIs, calling db.use now.
Also, fixed SHOW COLUMNS query for MySQL.
Abraham Elmahrek 12 سال پیش
والد
کامیت
e454e451d6
2فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 2 0
      apps/rdbms/src/rdbms/api.py
  2. 1 1
      apps/rdbms/src/rdbms/server/mysql_lib.py

+ 2 - 0
apps/rdbms/src/rdbms/api.py

@@ -77,6 +77,7 @@ def tables(request, server, database):
     raise Http404
 
   db = dbms.get(request.user, query_server)
+  db.use(database)
 
   response = {
     'tables': db.get_tables(database)
@@ -92,6 +93,7 @@ def columns(request, server, database, table):
     raise Http404
 
   db = dbms.get(request.user, query_server)
+  db.use(database)
 
   response = {
     'columns': db.get_columns(database, table)

+ 1 - 1
apps/rdbms/src/rdbms/server/mysql_lib.py

@@ -106,6 +106,6 @@ class MySQLClient(BaseRDMSClient):
 
   def get_columns(self, database, table):
     cursor = self.connection.cursor()
-    cursor.execute("SHOW COLUMNS %s.%s" % (database, table))
+    cursor.execute("SHOW COLUMNS FROM %s.%s" % (database, table))
     self.connection.commit()
     return [row[0] for row in cursor.fetchall()]