﻿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
12583	Postgresql backend uses implicit text casts for case insensitive operators	Ubercore	Ubercore	"In django.db.backends.postgresql.operations.DatabaseOperations, a case insensitive lookup produces

{{{
UPPER(%s::text)
}}}

as the lookup cast sql.

In django.db.backends.postgresql.DatabaseWrapper.operators, a case insensitive lookup produces

{{{
UPPER(%s)
}}}

Since Postgres 8.3 removed implicit casts, all operators should use ::text. Not doing so breaks lookups that use a type other than text:

{{{
AModel.objects.filter(col1__iexact=4)
}}}
"	Bug	closed	Database layer (models, ORM)	dev	Normal	worksforme	postgresql cast case-insensitive	kwadrat	Accepted	1	0	0	1	0	0
