Subject | IN clause limitation |
---|---|
Author | G. Plante |
Post date | 2008-06-27T01:00:52Z |
Hi,
I have to generate queries with IN clause that looks like something
like:
SELECT * FROM CUSTOMERS WHERE CUSTOMER_CODE IN ('CUS-0000001','CUS-
0000666','CUS-0000888', ... );
My problem is the limitation of 1499 items of the IN clause.
Since my program has a very complex security and also since reports
are generated using an external report generator (so I do not have
complete control on queries of the report generator), I cannot use
temporary tables or view or any other work arround. Unfortunately, I
have to use an IN clause.
For example, it can have 200 000 customers in the CUSTOMERS table.
The user (according to his security level) can access only 10 000
customers. And when this same user run the report, he could decide to
print report only for 5000 customers he selected. So, without telling
you all details, the only way for the moment I have is to use the IN
clause.
Now my question is:
Since computers now have a lot of memory and since computers are now
faster than ever, why there is still a 1499 limitation in the IN
clause? Is Firebird is planning to increase or illiminate this
limitation?
Thanks in advance for your answers.
G. Plante
I have to generate queries with IN clause that looks like something
like:
SELECT * FROM CUSTOMERS WHERE CUSTOMER_CODE IN ('CUS-0000001','CUS-
0000666','CUS-0000888', ... );
My problem is the limitation of 1499 items of the IN clause.
Since my program has a very complex security and also since reports
are generated using an external report generator (so I do not have
complete control on queries of the report generator), I cannot use
temporary tables or view or any other work arround. Unfortunately, I
have to use an IN clause.
For example, it can have 200 000 customers in the CUSTOMERS table.
The user (according to his security level) can access only 10 000
customers. And when this same user run the report, he could decide to
print report only for 5000 customers he selected. So, without telling
you all details, the only way for the moment I have is to use the IN
clause.
Now my question is:
Since computers now have a lot of memory and since computers are now
faster than ever, why there is still a 1499 limitation in the IN
clause? Is Firebird is planning to increase or illiminate this
limitation?
Thanks in advance for your answers.
G. Plante