From: | "Jeff Eckermann" <jeff_eckermann(at)yahoo(dot)com> |
---|---|
To: | pgsql-odbc(at)postgresql(dot)org |
Subject: | Re: Unexpected ADO properties |
Date: | 2005-08-22 04:24:03 |
Message-ID: | debk15$pfk$1@news.hub.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
"Bernard Henry Voynet" <bhv(at)quebecemail(dot)com> wrote in message
news:20050820115339(dot)D2B57834(at)dm21(dot)mta(dot)everyone(dot)net(dot)(dot)(dot)
> Hello
> I am working on a project that access databases through ADO
> over ODBC and must now include PostgreSQL.
>
> The code of this project needs to know about the fields
> caracteristics like whether or not it is:
> - a primary key
> - an autoincrement key
> - nullabble
> - updatable
> - etc..
>
> For this I use the ADO properties that give theses
> informations.
>
> For a Jet database I get (for example):
> serialkey
> Type = adInteger
> DefinedSize = 4
> Precision = 10
> NumericScale = 255
> Status = adRecOK
> Attributes = adFldFixed
> Properties (9)
> BASECATALOGNAME (adVarWChar) = (Null)
> BASECOLUMNNAME (adVarWChar) = serialkey
> BASESCHEMANAME (adVarWChar) = (Null)
> BASETABLENAME (adVarWChar) = genericfields
> CALCULATIONINFO (adVarBinary) = (Null)
> ISAUTOINCREMENT (adBoolean) = True
> KEYCOLUMN (adBoolean) = True
> OPTIMIZE (adBoolean) = False
> RELATIONCONDITIONS (adVarBinary) = (Null)
>
> However, with PostgreSQL 8.0.3 (psqlodc 08.00.0102), I don't get what
> is expected.
>
> When I declare le serialkey field as as SERIAL PRIMARY KEY, instead of the
> expected result, I get:
> serialkey
> Type = adInteger
> DefinedSize = 4
> Precision = 10
> NumericScale = 255
> Status = adRecOK
> Attributes = adFldUnknownUpdatable, adFldFixed, adFldIsNullable,
> adFldMayBeNull
> Properties (9)
> BASECATALOGNAME (adVarWChar) = (Null)
> BASECOLUMNNAME (adVarWChar) = serialkey
> BASESCHEMANAME (adVarWChar) = (Null)
> BASETABLENAME (adVarWChar) = genericfields
> CALCULATIONINFO (adVarBinary) = (Null)
> ISAUTOINCREMENT (adBoolean) = False
> KEYCOLUMN (adBoolean) = True
> OPTIMIZE (adBoolean) = False
> RELATIONCONDITIONS (adVarBinary) = (Null)
>
> Where both:
> - Attributes
> - ISAUTOINCREMENT
> Are not correct since serialkey is a non nullable serial key
PostgreSQL has no notion of "autoincrement". The "serial" type is an
equivalent implementation, but is not actually a type in itself; it is an
integer type with a default value drawn from a sequence.
The values reported in the "attributes" are certainly wrong; this is
definitely a bug somewhere, but where, I don't know enough to say. Perhaps
someone more knowledgeable can help.
>
> Would you have any idea on this problem ?
> And any help to get the right values ?
>
> Best regards
>
>
> _____________________________________________________________
> Obtenez aussi votre adresse electronique gratuite de
> Quebecemail.com http://www.quebecemail.com, un service gratuit et
> permanent.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
>
From | Date | Subject | |
---|---|---|---|
Next Message | Hajo Kirchhoff | 2005-08-22 08:23:17 | Bug in SQLConnect, psqlodbc 08.00.00.04 |
Previous Message | Jeff Eckermann | 2005-08-22 04:19:07 | Re: MS Access 2000 w/ PGSQL 8.0.x |