pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Hiroshi Inoue <Inoue@tpf.co.jp>
To: mascarm@mascari.com <mascarm@mascari.com>
Cc: 'Tom Lane' <tgl@sss.pgh.pa.us>
Cc: 'Tom Ivar Helbekkmo' <tih@kpnQwest.no>
Cc: Stephan Szabo <sszabo@megazone23.bigpanda.com>
Cc: Mark Stosberg <mark@summersault.com>
Cc: pgsql-hackers@postgresql.org <pgsql-hackers@postgresql.org>
Subject: Re: Re: [SQL] behavior of ' = NULL' vs. MySQL vs. Standards
Date: Thu, 14 Jun 2001 17:01:00 +0900
Message-ID: <3B286F3C.1F31F39F@tpf.co.jp> (raw)
References: <01C0F00D.8A800260.mascarm@mascari.com>

Mike Mascari wrote:
> 
> > > The best solution would be to have the ODBC translate instances
> of '=
> > > NULL' into IS NULL before submitting the query to PostgreSQL.
> 
> Tom Lane wrote:
> 
> > Does Access only talk to Postgres via ODBC?  (Seems plausible, but
> I
> > don't know.)  What about people copying-and-pasting queries
> generated
> > by Access; is it even possible?
> 
> 1. Yes, Access only talkes to Postgres via ODBC.
> 
> 2. The queries generate by Access which use the '= NULL' vs. 'IS
> NULL' language are only generated through the use of Access Forms,
> when some attempts to fetch a record through the forms interface
> where the key of the linked table is an empty edit control. When
> access generates queries, it correctly generates 'IS NULL' language.
> It is a *very specific problem* WRT the user of Access Forms.
> 

Could you send me an example using Access Forms ?
DAO seems to translate '= NULL' into 'IS NULL' properly.
Hmm parameter bindings( expr = ? ) could be the cause.

> > I doubt that this'd really help much, in any case; it merely moves
> the
> > necessary switch from the backend to ODBC.
> 
> It seems to me that is where it belongs. The ODBC driver is already
> doing translation of some Access functions not found in PostgreSQL
> such as LCASE->lower, etc.

It doesn't seem that easy.
Detecting '= NULL' isn't sufficient.
'SET .. expr = NULL' mustn't be tranlated into
'SET .. expr IS NULL'. The '= NULL' must be inside
a where clause.
Unfortunately the current psqlodbc driver parses
little.

regards,
Hiroshi Inoue



view thread (19+ messages)

Message-ID: <3B286F3C.1F31F39F@tpf.co.jp>
Permalink:  ../3B286F3C.1F31F39F@tpf.co.jp/
Also on:    postgresql.org/message-id/3B286F3C.1F31F39F@tpf.co.jp

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: Inoue@tpf.co.jp, mascarm@mascari.com, tgl@sss.pgh.pa.us, tih@kpnQwest.no, sszabo@megazone23.bigpanda.com, mark@summersault.com
  Subject: Re: Re: [SQL] behavior of ' = NULL' vs. MySQL vs. Standards
  In-Reply-To: <3B286F3C.1F31F39F@tpf.co.jp>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox