Local variable based on queryEntity not refreshing

Hi,

I have a CDT based on a view I built on the Appian MariaDB database.
An expression rule (say, rule!GetAllData) pulls from the corresponding DSE through a simple queryEntity, retrieving all results.

In an interface, I have a local variable defined as the rule result:

local!data: rule!GetAllData()


I also have a refresh button, with a dynamic link supposed to refresh the content of the variable, via

a!save(local!data, rule!GetAllData())


The weirdest problem happens: when clicking the link, nothing changes. Appian seems to somehow cache the results of the rule. Note that the records in the query differ between refreshes, so Appian maintains cached records that do not exist in the view anymore!
I have verified this from the interface designer, inspecting the value of local!data.

Even this does not solve the problem:

{
  a!save(local!data, null),
  a!save(local!data, rule!GetAllData())
}

Even if I comment out the second line, click the link, verify that local!data is set to null, decomment the second line, click the link, the old "cached" data reappears.
Of course, performing a refresh of the page from the browser works just fine, the new values are pulled from the database.

a!refreshVariable does nothing.

Any ideas for debugging this?
My only "reasonable" guess is that somehow the fact that the CDT is mapped to a manually-defined view messes up the Appian-Hibernate mappings, and Appian is unable to determine that a change has occurred on the DB side, thus thinking it's OK to cache the result. I think and hope that I am mistaken, though.


Thanks in advance.

  Discussion posts and replies are publicly visible