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