Page 1 of 1

QBSelect isin limit

PostPosted: Thu Jun 14, 2018 3:53 pm
by ionelioras
In servoy 7.4.9 I see that the array given for isin in a QBSelect is limited at 200 values. When the length of the array is bigger, an error occurs: QueryFunction cannot be cast.

Re: QBSelect isin limit

PostPosted: Wed Jun 20, 2018 12:09 am
by joe26
I've used sub queries successfully in the past.

var q = databaseManager.createSelect(xxx)
q.result.add(q.column.name_column)

var r = databaseManager.createSelect(xxx)
q.result.add(q.column.other_column)
q.where.add(q.column.name_column.isin(q)

At least that's from memory... q should only return one row.

Re: QBSelect isin limit

PostPosted: Fri Jun 22, 2018 3:18 pm
by rgansevles
The number of values is not limited to 200, with many in-values Servoy will generate a different query but will still work.
The exception you see does not occur on the latest Servoy.

Rob

Re: QBSelect isin limit

PostPosted: Thu Jul 19, 2018 1:00 pm
by ionelioras
rgansevles wrote:The number of values is not limited to 200, with many in-values Servoy will generate a different query but will still work.
The exception you see does not occur on the latest Servoy.

Rob


So this behavior was present in previous versions of Servoy, like 7.4.9?
When I limited the length of array to 200 it didn't throw this exception anymore. So I used an sql string for the query and it worked.

Re: QBSelect isin limit

PostPosted: Thu Jul 19, 2018 1:04 pm
by ionelioras
joe26 wrote:I've used sub queries successfully in the past.

var q = databaseManager.createSelect(xxx)
q.result.add(q.column.name_column)

var r = databaseManager.createSelect(xxx)
q.result.add(q.column.other_column)
q.where.add(q.column.name_column.isin(q)

At least that's from memory... q should only return one row.


.isin can have as parameter a query or values. In my case are values as array and are more than 200.

Re: QBSelect isin limit

PostPosted: Fri Jul 20, 2018 11:55 am
by rgansevles
ionelioras wrote:So this behavior was present in previous versions of Servoy, like 7.4.9?

I don't know exactly in which version, but do try the latest and greatest.

Rob