Adam Haberlach <adam@newsnipple.com> writes:
> When I do a query of the form
> SELECT a FROM tbl WHERE a IN ('frob');
> where a is an indexed text field containing 'frob', 'dingus', '', and
> NULL
> I get a set that includes rows both where
> a == 'frob'
> a == ''
> This happens when I use ODBC from Microsoft Access's pass-through, but
> does not seem to happen from the psql
> command-line. This seems to confuse my coworker who is more familiar
> with non-Postgres databases then I.
I'm confused too. Best theory I can think of is that Access is
transforming the query into something different before sending it to the
backend. That'd be incredibly braindead, but then this is M$ software
we're talking about. Anyway, the first thing to do is confirm or deny
that theory by looking at the exact query the backend is getting.
If you can't get Access to log what it sends, restart the postmaster
with "-d2" or higher, and see what gets logged...
regards, tom lane