KYLIN-1472 encode sql for special character issue

Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/5f8ab074
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/5f8ab074
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/5f8ab074

Branch: refs/heads/master
Commit: 5f8ab074f716bd16dd9197711dbead5d74dffb93
Parents: c50bca7
Author: Jason <[email protected]>
Authored: Fri Mar 18 11:42:54 2016 +0800
Committer: Jason <[email protected]>
Committed: Fri Mar 18 11:42:54 2016 +0800

----------------------------------------------------------------------
 webapp/app/js/controllers/query.js          | 4 +++-
 webapp/app/partials/query/query_detail.html | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/5f8ab074/webapp/app/js/controllers/query.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/query.js 
b/webapp/app/js/controllers/query.js
index 16dffe3..dede294 100644
--- a/webapp/app/js/controllers/query.js
+++ b/webapp/app/js/controllers/query.js
@@ -26,6 +26,7 @@ KylinApp
         $scope.queryString = "";
         $scope.queries = [];
         $scope.curQuery = null;
+        $scope.exportSql = null;
         $scope.dateTypes = [91, 92, 93];
         $scope.stringTypes = [-1, 1, 12];
         $scope.numberTypes = [-7, -6, -5, 3, 4, 5, 6, 7, 8];
@@ -230,7 +231,7 @@ KylinApp
         }
 
         $scope.sanitate = function (sql) {
-            return sql.replace(/\n/g, " ");
+            return encodeURIComponent(sql.replace(/\n/g, " "));
         }
 
         $scope.query = function (query) {
@@ -262,6 +263,7 @@ KylinApp
             $scope.curQuery = newQuery;
             $scope.query($scope.curQuery);
             $scope.cacheQuery($scope.curQuery);
+            $scope.exportSql = $scope.sanitate(sql);
         }
 
         $scope.reset = function (query) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/5f8ab074/webapp/app/partials/query/query_detail.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/query/query_detail.html 
b/webapp/app/partials/query/query_detail.html
index c06bf0f..ccb4267 100644
--- a/webapp/app/partials/query/query_detail.html
+++ b/webapp/app/partials/query/query_detail.html
@@ -86,7 +86,7 @@
             <span ng-if="!curQuery.graph.show"><i class="fa 
fa-bar-chart-o"></i> Visualization</span>
             <span ng-if="curQuery.graph.show"><i class="fa fa-list-ul"></i> 
Grid</span>
         </button>
-        <a class="btn btn-default btn-xs" 
href="{{config.service.url}}query/format/csv?sql={{sanitate(curQuery.sql)}}&project={{curQuery.project}}"
 target="_blank">
+        <a class="btn btn-default btn-xs" 
href="{{config.service.url}}query/format/csv?sql={{exportSql}}&project={{curQuery.project}}"
 target="_blank">
             <i class="fa fa-cloud-download"></i> Export</a>
         <a class="btn btn-default btn-xs" ng-click="refreshUi();">
             <i ng-class="{true: 'fa fa-compress', false: 'fa 
fa-expand'}[ui.fullScreen]"></i>

Reply via email to