Liran Zelkha has uploaded a new change for review.

Change subject: core: Fix templates search query
......................................................................

core: Fix templates search query

This patch improves the performance of the SearchQuery mechanism
for the vm_templates view

Change-Id: I0ef77348bc6126f5b038e40d949de6d5804def5f
Bug-Url: https://bugzilla.redhat.com/1057561
Signed-off-by: lzel...@redhat.com <lzel...@redhat.com>
---
M 
backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SyntaxChecker.java
M 
backend/manager/modules/searchbackend/src/test/java/org/ovirt/engine/core/searchbackend/SyntaxCheckerTest.java
2 files changed, 18 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/11/23811/1

diff --git 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SyntaxChecker.java
 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SyntaxChecker.java
index b977f5d..318a6cc 100644
--- 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SyntaxChecker.java
+++ 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SyntaxChecker.java
@@ -907,6 +907,10 @@
                                     tableNameWithOutTags, primeryKey,
                                     syntax.getSearchFrom(), innerQuery);
                 }
+            } else if (primeryKey.equals("vmt_guid") && wherePhrase.length() 
== 0) {
+                inQuery = StringFormat
+                        .format("(SELECT * FROM %1$s ",
+                                tableNameWithOutTags);
             } else if (primeryKey.equals("vmt_guid") && wherePhrase.length() > 0
                     && wherePhrase.toString().contains("storage_pool_name") && 
whereBuilder.size() == 1) {
                 inQuery = StringFormat
diff --git 
a/backend/manager/modules/searchbackend/src/test/java/org/ovirt/engine/core/searchbackend/SyntaxCheckerTest.java
 
b/backend/manager/modules/searchbackend/src/test/java/org/ovirt/engine/core/searchbackend/SyntaxCheckerTest.java
index f7f7bda..369ed65 100644
--- 
a/backend/manager/modules/searchbackend/src/test/java/org/ovirt/engine/core/searchbackend/SyntaxCheckerTest.java
+++ 
b/backend/manager/modules/searchbackend/src/test/java/org/ovirt/engine/core/searchbackend/SyntaxCheckerTest.java
@@ -4,6 +4,8 @@
 
 import java.util.Arrays;
 
+import junit.framework.Assert;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -108,4 +110,16 @@
                 query);
     }
 
+    @Test
+    public void testTemplates() {
+        SyntaxChecker chkr = new SyntaxChecker(100);
+
+        ISyntaxChecker curSyntaxChecker = 
SyntaxCheckerFactory.createBackendSyntaxChecker("foo");
+
+        SyntaxContainer res = curSyntaxChecker.analyzeSyntaxState("Templates: 
", true);
+        String query = chkr.generateQueryFromSyntaxContainer(res, true);
+        Assert.assertEquals(
+                "SELECT * FROM ((SELECT * FROM vm_templates_view )  ORDER BY 
name ASC ) as T1 OFFSET (1 -1) LIMIT 0",
+                query);
+    }
 }


-- 
To view, visit http://gerrit.ovirt.org/23811
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0ef77348bc6126f5b038e40d949de6d5804def5f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Liran Zelkha <liran.zel...@gmail.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to