In memory datasources and sort,find

Hi,

Servoy 8 and NG clients scenario.

When we use a dataset to create a custom datasource or foundset, Find and Sort operations still can be performed on that foundset.
In the server-log, we see that the Sort and Find instructions are executed on a MEM_… table. (not the same name as the in memory datasource which always start with ‘mem:…’)

Now we are wondering if this is a temporary table on the Sql-backend and if so, if the data is pushed to the sql again in order to fill the temptable,
or if this Sort and Find is taking place in local storage ?
Or stil lanother mechanism maybe?

We would like to know because if the data is pushed to the server again each time, this could take to much time ?
Thank you

Hi,

It’s not exactly clear is your concern here ? Performance of the mem data source ? Did you experienece a problem? Is so, can you elaborate ?
The table is truly in-memory, there is no paging or I/O going on here.
The runtime name of the table is not the same as the URI for the data source as it’s shown in the IDE.

Hi Sean,

Our concern was that the data was pushed back to a ‘real’ temptable on the sqlserver where the sort and find were performed after which the data is queried back to the client.
But I understand from yoru answer this is not the case?
So which mechanism does the Find and Sort in memory then, the incorporated Hibernate ?

Thx

Hi,

It’s using HSQLDB, a pure java, in-mem database

Thank you ;-)

Forgot to ask, is the HSQLDB executed server side or client side?

As far as I know it’s all server side but it’s divided PER session. So you can’t share tables between sessions.

Hope this helps.