sqlDescribeCol not setting null flag correctly for sqlDescribeCol

sqlDescribeCol not setting null flag correctly for sqlDescribeCol

am 29.09.2009 17:25:07 von the6campbells

--0016e6471bdaef96a30474b904eb
Content-Type: text/plain; charset=ISO-8859-1

A basic table is described where one column has a null constraint: create
table TNUM( RNUM integer not null, CNUM numeric(7,2) )
A simple view is defined that projects all the columns of said table: create
view VNUM as select * from TNUM
A query which projects the columns of the table or the view will return
inconsistent null flags when you call sqlDescribeCol after sqlPrepare

Does not matter if you have parse, server side prepare etc
enabled/disabled.

Looks like another bug to me.

SQL_DRIVER_NAME=6, 30, "PSQLODBC35W.DLL"
SQL_DRIVER_ODBC_VER=77, 10, "03.51"
SQL_DRIVER_VER=7, 20, "08.04.0100"


Describe Column All:
icol, szColName, *pcbColName, *pfSqlType, *pcbColDef, *pibScale,
*pfNullable
1, rnum, 4, SQL_INTEGER=4, 10, 0, SQL_NO_NULLS=0
2, cnum, 4, SQL_NUMERIC=2, 7, 2, SQL_NULLABLE=1

Describe Column All:
icol, szColName, *pcbColName, *pfSqlType, *pcbColDef, *pibScale,
*pfNullable
1, rnum, 4, SQL_INTEGER=4, 10, 0, SQL_NULLABLE=1
2, cnum, 4, SQL_NUMERIC=2, 7, 2, SQL_NULLABLE=1

--0016e6471bdaef96a30474b904eb
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable


A basic table is described where one column has a null =
constraint:=A0create table TNUM( RNUM integer not null, CNUM numeric(7,2) =
=A0)
A simple view is defined that projects all the columns of sa=
id table:=A0create view VNUM as select * from TNUM


A query which projects the columns of the table or the view will retur=
n inconsistent null flags when you call sqlDescribeCol after sqlPrepare v>

Does not matter if you have parse, server side prepar=
e etc enabled/disabled.=A0



Looks like another bug to me.=A0

iv>
SQL_DRIVER_NAME=3D6, 30, &=
quot;PSQLODBC35W.DLL"
an>SQL_DRIVER_ODBC_VER=3D77, 10, "03.51"


SQL_DRIVER_VER=3D7, 20, "=
;08.04.0100"


Describe Column A=
ll:=A0
icol, szColName,=
*pcbColName, *pfSqlType, *pcbColDef, *pibScale, *pfNullable=A0


1, rnum, 4, SQL_INTEGER=3D4,=
10, 0, SQL_NO_NULLS=3D0=A0
span>2, cnum, 4, SQL_NUMERIC=3D2, 7, 2, SQL_NULLABLE=3D1=A0


Describe Column All:=A0
space:pre"> icol, szColName, *pcbColName, *pfSqlType, *pcbColDef,=
*pibScale, *pfNullable=A0

1, rnum, 4, SQL_INTEGER=3D4=
, 10, 0, SQL_NULLABLE=3D1=A0
=
2, cnum, 4, SQL_NUMERIC=3D2, 7, 2, SQL_NULLABLE=3D1=A0



--0016e6471bdaef96a30474b904eb--

Re: sqlDescribeCol not setting null flag correctly for sqlDescribeCol

am 30.09.2009 08:22:24 von Hiroshi Inoue

the6campbells wrote:
>
> A basic table is described where one column has a null
> constraint: create table TNUM( RNUM integer not null, CNUM numeric(7,2) )
> A simple view is defined that projects all the columns of said
> table: create view VNUM as select * from TNUM
> A query which projects the columns of the table or the view will return
> inconsistent null flags when you call sqlDescribeCol after sqlPrepare
>
> Does not matter if you have parse, server side prepare etc
> enabled/disabled.
>
> Looks like another bug to me.

It seems very hard for the driver to get more accurate results
than psql does. I see the following result via psql.

xxxxx=> \d tnum
Table "public.tnum"
Column | Type | Modifiers
--------+--------------+-----------
rnum | integer | not null
cnum | numeric(7,2) |

xxxxx=> \d vnum
View "public.vnum"
Column | Type | Modifiers
--------+--------------+-----------
rnum | integer |
cnum | numeric(7,2) |
View definition:
SELECT tnum.rnum, tnum.cnum
FROM tnum;

regards,
Hiroshi Inoue


--
Sent via pgsql-odbc mailing list (pgsql-odbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-odbc