Received: from bgalli.mug.org (bajor.mug.org [207.158.132.1]) by hub.org (8.8.8/8.8.8) with ESMTP id TAA27008; Thu, 17 Sep 1998 19:41:38 -0400 (EDT) (envelope-from bga@mug.org) Received: from localhost (bga@localhost) by bgalli.mug.org (8.8.7/SCO5) with SMTP id TAA25897; Thu, 17 Sep 1998 19:37:23 -0400 (EDT) Message-Id: <199809172337.TAA25897@bgalli.mug.org> X-Authentication-Warning: bgalli.mug.org: bga@localhost didn't use HELO protocol From: "Billy G. Allie" Reply-To: "Billy G. Allie" To: Byron Nikolaidis Cc: pgsql-interfaces@postgreSQL.org, pgsql-hackers@postgreSQL.org Subject: Re: [HACKERS] Re: [INTERFACES] Odbc parser error In-reply-to: Your message of "Thu, 17 Sep 1998 16:33:31 EDT." <3601721B.B2493AA3@insightdist.com> Date: Thu, 17 Sep 1998 19:37:22 -0400 Sender: bga@mug.org Byron Nikolaidis wrote: > Sferacarta Software wrote: > > > Hi all, > > > > Seems that ODBC driver have some problems while it translate Access > > commands. > > I created a form with a subform joined by two columns. [...] > > NB: Note that parser translate ("progressivo" = NULL) instead of > > ("progressivo" IS NULL). > > > > > > Yes, the NULL works for parameters of an update statement, where Access would > specify a statement such as "update table set param = ? where x = 1". But > it doesn't work in a select statement. I don't think I have much to work > with here. The statement comes in as something like "select * from table > where x = ?". I have to replace the ? with something. On updates, 'NULL' > works fine. > > I'm not sure what to do about this. On other dbms, parameter passing is > handled through a separate protocol to the backend, usually after a prepare > statement, so on these its no problem to send a null, or large amounts of > ascii/binary data, without having to worry about direct substitution into > the sql string or hitting the upper limit of the statement string. I think > until Postgres has such as protocol for parameter substitution/passing, it > will be difficult to fix this problem. > > Any suggestions? > > Byron How about subsitution any occurance of /=[ \t]*?/ with "IS NULL". This should work for both select and update statements. -- ____ | Billy G. Allie | Domain....: Bill.Allie@mug.org | /| | 7436 Hartwell | Compuserve: 76337,2061 |-/-|----- | Dearborn, MI 48126| MSN.......: B_G_Allie@email.msn.com |/ |LLIE | (313) 582-1540 |