﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
32693	case sensitive issue on subquery aliases generated	ecogels	Hasan Ramezani	"When generating aliases for subqueries, django uses 2 different cases:
'Col%d' https://github.com/django/django/blob/187118203197801c6cb72dc8b06b714b23b6dd3d/django/db/models/sql/compiler.py#L557

and 'col%d' https://github.com/django/django/blob/187118203197801c6cb72dc8b06b714b23b6dd3d/django/db/models/sql/compiler.py#L651

Here is a concrete example, using  --v 2 --debug-sql queries.tests.Queries6Tests.test_distinct_ordered_sliced_subquery_aggregation.


SELECT COUNT(*) FROM (SELECT ""subquery"".**""col1""**, ""subquery"".""col2"", ""subquery"".""col3"", ""subquery"".""col4"" FROM (SELECT DISTINCT ""queries_tag"".""id"" AS **Col1**, ""queries_tag"".""name"" AS Col2, ""queries_tag"".""parent_id"" AS Col3, ""queries_tag"".""category_id"" AS Col4, ""queries_namedcategory"".""name"" AS Col5 FROM ""queries_tag"" LEFT OUTER JOIN ""queries_namedcategory"" ON (""queries_tag"".""category_id"" = ""queries_namedcategory"".""dumbcategory_ptr_id"") ORDER BY ""queries_namedcategory"".""name"" ASC LIMIT 3) subquery) subquery;

This would fail on a database with case sensitive column names.

It will be trivial to fix if deemed necessary."	Cleanup/optimization	closed	Database layer (models, ORM)	3.2	Normal	fixed	subquery		Ready for checkin	1	0	0	0	1	0
