Bug: citext not working in non-public schema

From: Anders Steinlein <anders(at)steinlein(dot)no>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Bug: citext not working in non-public schema
Date: 2010-10-25 19:46:02
Message-ID: 4CC5DE7A.5050103@steinlein.no
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Researching a nasty bug discovered in our application led me to this bug
report and its follow-ups:
http://archives.postgresql.org/pgsql-bugs/2010-03/msg00058.php

This bit us hard (on PostgreSQL 8.4.4). We have a custom domain for
email addresses based on citext, placed in the public schema, while each
user of our application has their own private schemas. The search path
is set to their private schemas, and the few queries which required
explicit access to the type prefixes the type with the public schema,
i.e. WHERE 'text(at)example(dot)com'::public.email = email_column.

This *seems* to work, in that no error or warning is thrown, but
comparisons are simply silently wrong. This led to a nasty bug in our
application as it broke our expectation that the database should enforce
this case-insensitive checks.

Any possibility of getting this fixed? Obliviously I would prefer citext
to work as advertised across schemas. If not, an out-right error thrown
would be much better and consistent than the current situation.

Regards,
-- anders

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2010-10-25 19:46:19 Re: add label to enum syntax
Previous Message Robert Haas 2010-10-25 19:43:05 Re: foreign keys for array/period contains relationships