<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Querying tasks for process variable values for single variable results in lots of joins in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/querying-tasks-for-process-variable-values-for-single-variable/m-p/172286#M125508</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using TaskQuery to find tasks which belong to processes having certain set of possible process variable values for a single variable&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For e.g.,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;TaskQuery query&amp;nbsp; = taskService.createTaskQuery();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;query.processVariableValueEquals("a1", "value1");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;query.processVariableValueEquals("a1", "value2");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;query.processVariableValueEquals("a1", "value3");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;query.processVariableValueEquals("a1", "value4");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;long count&amp;nbsp; = query.count();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This call results in following SQL &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;select count(distinct RES.ID_)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM ACT_RU_TASK RES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN ACT_RU_VARIABLE A0 on RES.PROC_INST_ID_ = A0.PROC_INST_ID_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN ACT_RU_VARIABLE A1 on RES.PROC_INST_ID_ = A1.PROC_INST_ID_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN ACT_RU_VARIABLE A2 on RES.PROC_INST_ID_ = A2.PROC_INST_ID_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN ACT_RU_VARIABLE A3 on RES.PROC_INST_ID_ = A3.PROC_INST_ID_&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE&amp;nbsp; A0.TASK_ID_ is null&amp;nbsp;&amp;nbsp; and A0.NAME_= 'a1' and A0.TYPE_ = 'string'&amp;nbsp; and A0.TEXT_='value1'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;A1.TASK_ID_ is null&amp;nbsp;&amp;nbsp; and A1.NAME_= 'a1'&amp;nbsp; and A1.TYPE_ = 'string'&amp;nbsp; and A1.TEXT_ = 'value1'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; A2.TASK_ID_ is null&amp;nbsp;&amp;nbsp; and A2.NAME_= 'a1'&amp;nbsp; and A2.TYPE_ = 'string'&amp;nbsp; and A2.TEXT_ = 'value1'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; A3.TASK_ID_ is null&amp;nbsp;&amp;nbsp; and A3.NAME_= 'a1'&amp;nbsp; and A3.TYPE_ = 'string' and A3.TEXT_&amp;nbsp; = 'value1';&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;As you can see that as the number of variables values increase, so does the number of joins.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;This results in huge time for the query so it won't be practical to use this method for many values.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Is there a better way of doing this ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 16 May 2014 09:23:37 GMT</pubDate>
    <dc:creator>shailendra1</dc:creator>
    <dc:date>2014-05-16T09:23:37Z</dc:date>
    <item>
      <title>Querying tasks for process variable values for single variable results in lots of joins</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/querying-tasks-for-process-variable-values-for-single-variable/m-p/172286#M125508</link>
      <description>Hi All,I am using TaskQuery to find tasks which belong to processes having certain set of possible process variable values for a single variableFor e.g.,TaskQuery query&amp;nbsp; = taskService.createTaskQuery();query.processVariableValueEquals("a1", "value1");query.processVariableValueEquals("a1", "value2");</description>
      <pubDate>Fri, 16 May 2014 09:23:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/querying-tasks-for-process-variable-values-for-single-variable/m-p/172286#M125508</guid>
      <dc:creator>shailendra1</dc:creator>
      <dc:date>2014-05-16T09:23:37Z</dc:date>
    </item>
    <item>
      <title>Re: Querying tasks for process variable values for single variable results in lots of joins</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/querying-tasks-for-process-variable-values-for-single-variable/m-p/172287#M125509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you can optimize the query by yourselves, you can use native query support.&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://www.activiti.org/userguide/#advanced.custom.sql.queries" rel="nofollow noopener noreferrer"&gt;http://www.activiti.org/userguide/#advanced.custom.sql.queries&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Martin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 May 2014 06:43:21 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/querying-tasks-for-process-variable-values-for-single-variable/m-p/172287#M125509</guid>
      <dc:creator>martin_grofcik</dc:creator>
      <dc:date>2014-05-19T06:43:21Z</dc:date>
    </item>
    <item>
      <title>Re: Querying tasks for process variable values for single variable results in lots of joins</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/querying-tasks-for-process-variable-values-for-single-variable/m-p/172288#M125510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Martin. As of now I will be using native query.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 May 2014 09:35:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/querying-tasks-for-process-variable-values-for-single-variable/m-p/172288#M125510</guid>
      <dc:creator>shailendra1</dc:creator>
      <dc:date>2014-05-21T09:35:16Z</dc:date>
    </item>
  </channel>
</rss>

