regressiontests.queries.tests.ConditionalTests.test_ticket14244 breaks mssql due to arbitrary maximum parameters
|Reported by:||Michael Manfre||Owned by:||Michael 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.