Received: from mail.tol.it (mail.tin.it [194.243.154.49]) by hub.org (8.8.8/8.7.5) with ESMTP id XAA28307 for ; Sat, 18 Apr 1998 23:00:59 -0400 (EDT) Received: from Server.InfoTecna.com (Monza6-106.tin.it [195.103.249.105]) by mail.tol.it (8.8.4/8.8.4) with ESMTP id FAA26639; Sun, 19 Apr 1998 05:00:33 +0200 (MET DST) Received: from tm3.InfoTecna.com (Tm1.InfoTecna.com [192.168.1.1]) by Server.InfoTecna.com (8.8.5/8.8.5) with SMTP id KAA01672; Sat, 18 Apr 1998 10:09:16 +0200 Message-Id: <3.0.5.32.19980418100915.007f1c60@MBox.InfoTecna.com> X-Sender: denis@MBox.InfoTecna.com X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.5 (32) Date: Sat, 18 Apr 1998 10:09:15 +0200 To: David Hartwig From: Sbragion Denis Subject: Re: [INTERFACES] Can't Update from MS Access (Was - Insight ODBC driver) Cc: pgsql-interfaces@postgreSQL.org In-Reply-To: <35379956.9CF38CD0@insightdist.com> References: <199804170615.IAA01926@gate.va.fh-ulm.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Hello, At 14.03 17/04/98 -0400, you wrote: From the FAQ part: ... >How do I get my application to recognize primary keys? >SQLPrimaryKeys() is implemented in the driver. As of the driver's release, >however, there was no way to query the PostgreSQL system tables to discover a >table's primary key. Therefore the following convention was used. The driver >queries the system tables in search of a unique index named with the using >"{table}_key". Example: >create table foo (id integer, name varchar(20)); >create unique index foo_key on foo using btree(id); >Creating this index does not guarantee that your application is using the >SQLPrimaryKeys() call. For example, MS Access 7.0 & 97 require the user to >manually specify the key at link time. This key specification is required to modify >a table from MA Access. See "Why does the PosgreSQL backend crash every time I >browse some tables in MS Access?". actually when you specify something like: create table test06 ( Posizione int4 not null primary key, Testo char(50), Campo float8, DataEOra datetime ); postgres automagically creates an index named test06_pkey (note the 'p' in fron of 'key'). I think changing the ODBC driver to look for such type of index, instead of '{table}_key', would simplify things a lot. Hope it helps. P.S. My compliments to all the great development effort coming up on PostODBC. Dr. Sbragion Denis InfoTecna Tel, Fax: +39 39 2324054 URL: http://space.tin.it/internet/dsbragio