regressiontests.queries.tests.ConditionalTests.test_ticket14244 breaks mssql due to arbitrary maximum parameters
|Reported by:||manfre||Owned by:||manfre|
|Component:||Database layer (models, ORM)||Version:||master|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
supports_1000_query_parameters is a feature that was added (#14244) for the sake of sqlite3 to prevent running the test regressiontests.queries.tests.ConditionalTests.test_ticket14244. This test asserts that a progressively larger number of parameters (1000-2500)can be used.
Another purpose of the test appears to be a way of checking the behavior of max_in_list_size(), which was added with ticket #14244 to fix Oracle's limitation of at most 1000 values in an "IN" list.
Django-mssql, due to a driver limitation, supports a maximum of 2100 parameters for the entire query, not just the IN clause. I'd like to propose lowering the final assert of 2500 to 2001 to still test a third IN clause (for Oracle) while lowering the limit below what the mssql driver can handle.
Change History (4)
comment:1 Changed 4 years ago by manfre
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset
comment:3 Changed 3 years ago by Anssi Kääriäinen <akaariai@…>
- Resolution set to fixed
- Status changed from new to closed