refreshInterval doesn't work when recordset has only one record |
Patrick |
2013-06-07 02:52:48 |
Hi,
It looks like refreshInterval doesn't work in this situation:
lockType=ACCESS
delayedClose=100
refreshInterval=5
A new record is created (INSERT INTO ..)
For 100 seconds, HXTT driver doesn't "see" the new record when calling a simple SELECT * where id=''. (Please note that an ACCESS client can access it without problem.)
The driver does see the new record with a simple SELECT *: it's in the recordset.
|
Re:refreshInterval doesn't work when recordset has only one record |
HXTT Support |
2013-06-07 21:31:38 |
2013-06-07 fixed an index cache content refresh bug for refreshInterval parameter since 2013-04-02.
|
Re:Re:refreshInterval doesn't work when recordset has only one record |
Patrick |
2013-06-09 08:47:11 |
Thanks a lot, I'll try the new version and get back to you.
|
Re:Re:Re:refreshInterval doesn't work when recordset has only one record |
Patrick |
2013-06-10 05:58:50 |
Sorry still same problem with version 5.1.147.
|
Re:Re:Re:Re:refreshInterval doesn't work when recordset has only one record |
HXTT Support |
2013-06-10 06:21:55 |
5.1.148 is released on June 08, 2013
|
Re:Re:Re:Re:Re:refreshInterval doesn't work when recordset has only one record |
Patrick |
2013-06-10 07:53:46 |
On this page:
http://www.hxtt.com/download.jsp?product=access
I get version 5.1.147.
|
Re:Re:Re:Re:Re:Re:refreshInterval doesn't work when recordset has only one record |
HXTT Support |
2013-06-10 17:42:14 |
>For 100 seconds, HXTT driver doesn't "see" the new record when calling a simple SELECT * where id=''.
Whether you have requeried that database, or use the older ResultSet object?
|
Re:Re:Re:Re:Re:Re:Re:refreshInterval doesn't work when recordset has only one record |
Patrick |
2013-06-11 08:46:16 |
Hi again,
>Whether you have requeried that database, or use the older ResultSet object?
I have re-queried the database.
Today I did more tests and debugging and can confirm that the driver gets called with a correct SELECT ... where id='...', and it still returns 0 record. If I wait for the connection to refresh, or simply purge() the connection pool, the same query will correctly return 1 record.
By the way I'm still using the latest version I can find on your website, which is 5.1.147.
Thanks for your help,
Patrick
|
Re:Re:Re:Re:Re:Re:Re:Re:refreshInterval doesn't work when recordset has only one record |
HXTT Support |
2013-06-11 16:52:32 |
>If I wait for the connection to refresh, or simply purge() the connection pool,
> the same query will correctly return 1 record.
Because HXTT Access will check whether that database need to refresh according to refreshInterval connection property. You can use refreshInterval=0 if you wish to see the modificaiton from MS Access at once.
|
Re:Re:Re:Re:Re:Re:Re:Re:refreshInterval doesn't work when recordset has only one record |
Patrick |
2013-06-12 09:09:29 |
Hi,
Good news. I could solve two problems with one stone..
Instead of using JPA's method javax.persistence.EntityManager.find(class, ID), I used a criteriabuilder. It had two effects:
- First, it's more tolerant with NULL fields where they shouldn't be null. With the find method, the hibernate implementation of JPA would simply return a null entity. See http://stackoverflow.com/questions/3205256/entitymanager-find-cant-find-entity-but-using-the-criteria-api-does
- Second, the generated SQLs don't have any INNER JOIN that make the whole thing slow (I posted another issue here about this).
Well, sorry about all this and thank you for your help.
Patrick
|
Re:Re:Re:Re:Re:Re:Re:Re:refreshInterval doesn't work when recordset has only one record |
HXTT Support |
2013-06-12 17:33:56 |
>First, it's more tolerant with NULL fields where they shouldn't be null.
If you won't to get a null value, you can set DEFAULT value for that column or use an autoincrement type.
|