Răsfoiți Sursa

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 ani în urmă
părinte
comite
e454e451d6
2 a modificat fișierele cu 3 adăugiri și 1 ștergeri
  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()]