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: [email protected] <[email protected]>
---
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, 16 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/50/24050/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 f0e77f7..da8be51 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
@@ -914,6 +914,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 aecc0ad..4a4cb4c 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
@@ -111,4 +111,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/24050
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0ef77348bc6126f5b038e40d949de6d5804def5f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.4
Gerrit-Owner: Liran Zelkha <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to