Repository: kylin
Updated Branches:
  refs/heads/master f86d0678d -> 18ac702ad


minor, add project filter to saved query


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

Branch: refs/heads/master
Commit: 2ba22a9ce67b44db62897422e338b29522be67b7
Parents: f86d067
Author: lidongsjtu <lid...@apache.org>
Authored: Sat Jan 6 17:16:09 2018 +0800
Committer: chenzhx <c...@apache.org>
Committed: Sat Jan 6 17:17:19 2018 +0800

----------------------------------------------------------------------
 .../kylin/rest/controller/QueryController.java  |  5 +++--
 .../apache/kylin/rest/service/QueryService.java | 22 ++++++++++++--------
 2 files changed, 16 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/2ba22a9c/server-base/src/main/java/org/apache/kylin/rest/controller/QueryController.java
----------------------------------------------------------------------
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/controller/QueryController.java
 
b/server-base/src/main/java/org/apache/kylin/rest/controller/QueryController.java
index 4f83780..edb2dd5 100644
--- 
a/server-base/src/main/java/org/apache/kylin/rest/controller/QueryController.java
+++ 
b/server-base/src/main/java/org/apache/kylin/rest/controller/QueryController.java
@@ -54,6 +54,7 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.supercsv.io.CsvListWriter;
 import org.supercsv.io.ICsvListWriter;
@@ -114,9 +115,9 @@ public class QueryController extends BasicController {
 
     @RequestMapping(value = "/saved_queries", method = RequestMethod.GET, 
produces = { "application/json" })
     @ResponseBody
-    public List<Query> getQueries() throws IOException {
+    public List<Query> getQueries(@RequestParam(value = "project", required = 
false) String project) throws IOException {
         String creator = 
SecurityContextHolder.getContext().getAuthentication().getName();
-        return queryService.getQueries(creator);
+        return queryService.getQueries(creator, project);
     }
 
     @RequestMapping(value = "/query/format/{format}", method = 
RequestMethod.GET, produces = { "application/json" })

http://git-wip-us.apache.org/repos/asf/kylin/blob/2ba22a9c/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
----------------------------------------------------------------------
diff --git 
a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java 
b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
index 9789b70..311ad9c 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
@@ -254,15 +254,20 @@ public class QueryService extends BasicService {
     }
 
     public List<Query> getQueries(final String creator) throws IOException {
+        return getQueries(creator, null);
+    }
+
+    public List<Query> getQueries(final String creator, final String project) 
throws IOException {
         if (null == creator) {
             return null;
         }
-        List<Query> queries = new ArrayList<Query>();
+        List<Query> queries = new ArrayList<>();
         QueryRecord record = queryStore.getResource(getQueryKeyById(creator), 
QueryRecord.class,
                 QueryRecordSerializer.getInstance());
         if (record != null) {
             for (Query query : record.getQueries()) {
-                queries.add(query);
+                if (project == null || query.getProject().equals(project))
+                    queries.add(query);
             }
         }
         return queries;
@@ -414,7 +419,7 @@ public class QueryService extends BasicService {
 
         try (SetThreadName ignored = new SetThreadName("Query %s", 
queryContext.getQueryId())) {
             long startTime = System.currentTimeMillis();
-            
+
             SQLResponse sqlResponse = null;
             String sql = sqlRequest.getSql();
             String project = sqlRequest.getProject();
@@ -433,16 +438,16 @@ public class QueryService extends BasicService {
             if (sqlResponse == null && isQueryInspect) {
                 sqlResponse = new SQLResponse(null, null, 0, false, 
sqlRequest.getSql());
             }
-            
+
             if (sqlResponse == null && isCreateTempStatement) {
                 sqlResponse = new SQLResponse(null, null, 0, false, null);
             }
-            
+
             if (sqlResponse == null && isQueryCacheEnabled) {
                 sqlResponse = searchQueryInCache(sqlRequest);
                 Trace.addTimelineAnnotation("query cache searched");
             }
-            
+
             // real execution if required
             if (sqlResponse == null) {
                 try (QueryRequestLimits limit = new 
QueryRequestLimits(sqlRequest.getProject())) {
@@ -481,7 +486,7 @@ public class QueryService extends BasicService {
     private SQLResponse queryAndUpdateCache(SQLRequest sqlRequest, long 
startTime, boolean queryCacheEnabled) {
         KylinConfig kylinConfig = KylinConfig.getInstanceFromEnv();
         Message msg = MsgPicker.getMsg();
-        
+
         SQLResponse sqlResponse = null;
         try {
             final boolean isSelect = 
QueryUtil.isSelectStatement(sqlRequest.getSql());
@@ -543,8 +548,7 @@ public class QueryService extends BasicService {
     }
 
     private boolean isQueryCacheEnabled(KylinConfig kylinConfig) {
-        return checkCondition(kylinConfig.isQueryCacheEnabled(),
-                "query cache disabled in KylinConfig") && //
+        return checkCondition(kylinConfig.isQueryCacheEnabled(), "query cache 
disabled in KylinConfig") && //
                 checkCondition(!BackdoorToggles.getDisableCache(), "query 
cache disabled in BackdoorToggles");
     }
 

Reply via email to