'Needs cache for data engine' default in Kepler? report very slow. [message #1392244] |
Tue, 01 July 2014 23:47  |
Eclipse User |
|
|
|
I have a report with one table nested inside another, the outer table sets
a global variable with the value of a column in the OnCreate script; the
inner table is based on a dataset with a this.queryText based on the global
variable.
With helios the report displays different (correct) data in each row in
under a second.
With Kepler 4 .3.2 the report always displays the same value in each row as
in the first row.
I found that the dataset advanced property 'needs cache for data engine' is
defaulted to false in Helios, true in Kepler.
if I set it to false in Kepler the report gives the correct result, but
takes 10 seconds to run.
Is this a bug?
--
Colin Sutton
|
|
|
|
|
Re: 'Needs cache for dat a engine' default in Kepler? report very slow. [message #1401983 is a reply to message #1401876] |
Wed, 16 July 2014 06:37  |
Eclipse User |
|
|
|
Henning von Bargen <forums-noreply@xxxxxxxx> wrote:
> The dataset cache takes the result from the cache if the dataset is
> executed again with the same parameters.
> If I understand correctly, your outer DS writes a global variable. In the
> beforeOpen of the inner DS, you are using this variable to modify the SQL query.
>
> In this situation, you should add a parameter (say, param_XXX) to your DS
> and set its value to the global variable's value in the beforeOpen event
> or using the parameter binding button in the layout. Then you could add a
> line like this at the end of your SQL query:
>
> and ? is not null
>
> (well, this will only work if the value is actually not null, but you get the point).
>
> The query still works as before, but this way the cache knows that the
> query result depend on the global variable.
Yes, you understand correctly. If what you say is true, the cached query
result will always be used even if a global variable has changed. This is
not the behaviour in the Helios release - my case was based on a community
example using a global variable to change a beforeOpen statement - I think
it's a bug.
I will try using a hidden parameter instead of the global variable.
--
Colin Sutton
|
|
|
Powered by
FUDForum. Page generated in 0.07526 seconds