Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
ResultSet Traversal Changes from 3.7.1 to 3.7.2?
Mike Reidy
Hello,<br />
<br />
I am have written an ODA extension for use within BIRT and I have noticed something a bit odd when we recently upgraded from BIRT 3.7.1 to BIRT 3.7.2 and I was wondering if anyone could enlighten me.<br />
<br />
In my report I have 2 data sets, data set 1 and data set 2. In my report I use data set 1 to populate rows of a table, data set 2 has a parameter that is bound to the row number of data set 1 and data set 2 in turn populates a table nested at the end of the row generated by data set 1. <br />
<br />
Note : In the following explanation the rendering of data set 1 causes generation of result set 1 and rendering data set 2 causes generation of result set 2<br />
<br />
With BIRT 3.7.1 I see the following when I do a preview : <br />
<br />
result set 1 next() is called followed by complete result set 2 iteration, then followed by subsequent result set 1 next() calls and their associated result set 2 iterations. So process one row of result 1 followed by all rows of data set 2 ie<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
result set 1 row 1 => result set 2 row 1 (passing row 1 as parameter)
=> result set 2 row 2 (passing row 1 as parameter)
=> result set 2 row 3 (passing row 1 as parameter)
result set 1 row 2 => result set 2 row 1 (passing row 2 as parameter)
=> result set 2 row 2 (passing row 2 as parameter)
=> result set 2 row 3 (passing row 2 as parameter)
result set 1 row 3 => result set 2 row 1 (passing row 3 as parameter)
=> result set 2 row 2 (passing row 3 as parameter)
=> result set 2 row 3 (passing row 3 as parameter)
</pre>
<br />
With BIRT 3.7.2 I see something different :<br />
<br />
result set 1 is completely iterated and each of the result set 2 result sets are then made ie.<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
result set 1 row 1
result set 1 row 2
result set 1 row 3
result set 2 row 1 (passing row 1 as parameter)
result set 2 row 2 (passing row 1 as parameter)
result set 2 row 3 (passing row 1 as parameter)
result set 2 row 1 (passing row 2 as parameter)
result set 2 row 2 (passing row 2 as parameter)
result set 2 row 3 (passing row 2 as parameter)
result set 2 row 1 (passing row 3 as parameter)
result set 2 row 2 (passing row 3 as parameter)
result set 2 row 3 (passing row 3 as parameter)
</pre>
<br />
Now my questions;<br />
<br />
1. which of these is this expected behavior? Are there any guarantees of the result set traversal behavior?<br />
2. is there a way to control this behavour?
Find more posts tagged with
Comments
There are no comments yet