Browse Source

[editor] Switch to table meta endpoint for sql autocomplete

Johan Ahlen 10 years ago
parent
commit
3776c76

+ 6 - 6
apps/security/src/security/static/security/js/hive.ko.js

@@ -458,7 +458,7 @@ var Assist = function (vm, initial) {
     }
   }
 
-  self.addTables = function (path, tables, skipLoading) {
+  self.addTables = function (path, tablesMeta, skipLoading) {
     var _branch = self.growingTree().nodes[0];
     _branch.nodes.forEach(function (node) {
       if (node.path == path) {
@@ -466,9 +466,9 @@ var Assist = function (vm, initial) {
       }
     });
 
-    tables.forEach(function (table) {
+    tablesMeta.forEach(function (tableMeta) {
       var _mainFound = false;
-      var _path = path + "." + table;
+      var _path = path + "." + tableMeta.name;
       _branch.nodes.forEach(function (node) {
         if (node.path == _path) {
           _mainFound = true;
@@ -477,7 +477,7 @@ var Assist = function (vm, initial) {
       if (!_mainFound) {
         var _item = {
           path: _path,
-          name: table,
+          name: tableMeta.name,
           withPrivileges: false,
           isServer: false,
           isDb: false,
@@ -770,8 +770,8 @@ var Assist = function (vm, initial) {
               self.setPath(self.treeData().nodes()[0], false, true);
             }
           }
-          else if (data.tables && data.tables.length > 0) {
-            self.addTables(_originalPath, data.tables, _hasCallback);
+          else if (data.tables_meta && data.tables_meta.length > 0) {
+            self.addTables(_originalPath, data.tables_meta, _hasCallback);
           }
           else if (data.columns && data.columns.length > 0) {
             self.addColumns(_originalPath, data.columns, _hasCallback);

+ 4 - 2
desktop/core/src/desktop/static/desktop/js/jquery.hiveautocomplete.js

@@ -228,8 +228,10 @@
             _iterable = data.databases;
             _ico = "fa-database";
           }
-          else if (data.tables != null) { // it's a table
-            _iterable = data.tables;
+          else if (data.tables_meta != null) { // it's a table
+            _iterable = $.map(data.tables_meta, function (tablesMeta) {
+              return tablesMeta.name;
+            });
             _ico = "fa-table";
           }
           else {

+ 2 - 2
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -1914,8 +1914,8 @@
             sourceType: snippet.type(),
             databaseName: snippet.database(),
             successCallback: function(data) {
-              $.each(data.tables, function(index, table) {
-                currentAssistTables[table] = true;
+              $.each(data.tables_meta, function(index, tableMeta) {
+                currentAssistTables[tableMeta.name] = true;
               });
             },
             errorCallback: $.noop

+ 3 - 3
desktop/core/src/desktop/static/desktop/js/sqlAutocompleter.js

@@ -288,10 +288,10 @@
       if (includeStar) {
         result.push({value: '*', score: 10000, meta: "column"});
       }
-    } else if (typeof data.tables != "undefined") {
-      fields = $.map(data.tables, function(table) {
+    } else if (typeof data.tables_meta != "undefined") {
+      fields = $.map(data.tables_meta, function(tableMeta) {
         return {
-          name: table,
+          name: tableMeta.name,
           type: "table"
         }
       });

+ 10 - 10
desktop/core/src/desktop/static/desktop/spec/sqlAutocompleterSpec.js

@@ -134,7 +134,7 @@ define([
         assertAutoComplete({
           serverResponses: {
             "/notebook/api/autocomplete/database_two" : {
-              tables: ["otherTable1", "otherTable2"]
+              tables_meta: [{ name: "otherTable1" }, { name: "otherTable2" }]
             }
           },
           beforeCursor: "USE database_two; \n\tSELECT ",
@@ -147,7 +147,7 @@ define([
         assertAutoComplete({
           serverResponses: {
             "/notebook/api/autocomplete/closest_db" : {
-              tables: ["otherTable1", "otherTable2"]
+              tables_meta: [{ name: "otherTable1" }, { name:  "otherTable2" }]
             }
           },
           beforeCursor: "USE other_db; USE closest_db; \n\tSELECT ",
@@ -160,7 +160,7 @@ define([
         assertAutoComplete({
           serverResponses: {
             "/notebook/api/autocomplete/closest_db" : {
-              tables: ["otherTable1", "otherTable2"]
+              tables_meta: [{ name: "otherTable1" }, { name: "otherTable2" }]
             }
           },
           beforeCursor: "USE other_db; USE closest_db; \n\tSELECT ",
@@ -175,7 +175,7 @@ define([
         assertAutoComplete({
           serverResponses: {
             "/notebook/api/autocomplete/database_one" : {
-              tables: ["testTable1", "testTable2"]
+              tables_meta: [{ name: "testTable1" }, { name: "testTable2" }]
             }
           },
           beforeCursor: "SELECT ",
@@ -188,7 +188,7 @@ define([
         assertAutoComplete({
           serverResponses: {
             "/notebook/api/autocomplete/database_one" : {
-              tables: ["testTable1", "testTable2"]
+              tables_meta: [{ name: "testTable1" }, { name: "testTable2" }]
             }
           },
           beforeCursor: "select ",
@@ -201,7 +201,7 @@ define([
         assertAutoComplete({
           serverResponses: {
             "/notebook/api/autocomplete/database_one" : {
-              tables: ["testTable1", "testTable2"]
+              tables_meta: [{ name: "testTable1" }, { name: "testTable2" }]
             }
           },
           beforeCursor: "SELECT *",
@@ -214,7 +214,7 @@ define([
         assertAutoComplete({
           serverResponses: {
             "/notebook/api/autocomplete/database_one" : {
-              tables: ["testTable1", "testTable2"]
+              tables_meta: [{ name: "testTable1" }, { name: "testTable2" }]
             }
           },
           beforeCursor: "SELECT * fr",
@@ -227,7 +227,7 @@ define([
         assertAutoComplete({
           serverResponses: {
             "/notebook/api/autocomplete/database_one" : {
-              tables: ["testTable1", "testTable2"]
+              tables_meta: [{ name: "testTable1" }, { name: "testTable2" }]
             }
           },
           beforeCursor: "SELECT * FROM ",
@@ -240,7 +240,7 @@ define([
         assertAutoComplete({
           serverResponses: {
             "/notebook/api/autocomplete/database_two" : {
-              tables: ["testTable3", "testTable4"]
+              tables_meta: [{ name: "testTable3" }, { name: "testTable4" }]
             }
           },
           beforeCursor: "SELECT * FROM database_two.",
@@ -1163,7 +1163,7 @@ define([
         assertAutoComplete({
           serverResponses: {
             "/notebook/api/autocomplete/database_one" : {
-              tables: ["testTable1", "testTable2"]
+              tables_meta: [{ name: "testTable1" }, { name: "testTable2" }]
             }
           },
           beforeCursor: "SELECT * FROM testTable1 JOIN ",