Thread: another ODBC/Access question..
When connecting Access97 to a postgreSQL datasource with ODBC the pg_attribute.attnuotnull is not queried and therefore not set in Access. this is in the psqlodbc logfile: conn=154147544, query='BEGIN' conn=154147544, query='declare SQL_CUR154411144 cursor for select u.usename, c.relname, a.attname, a.atttypid,t.typname, a.attnum, a.attlen, a.atttypmod from pg_user u, pg_class c, pg_attribute a, pg_type t where int4out(u.usesysid) = int4out(c.relowner) and .oid= a.attrelid and a.atttypid = t.oid and (a.attnum > 0) and c.relname like 'test' order by attnum' conn=154147544, query='fetch 100 in SQL_CUR154411144' [ fetched 2 rows ] conn=154147544, query='close SQL_CUR154411144' conn=154147544, query='END' Is this a bug in the ODBC driver or an Access problem? Tim Bosinius
Tim Bosinius wrote: > When connecting Access97 to a postgreSQL datasource with ODBC > the pg_attribute.attnuotnull is not queried and therefore not set > in Access. > Currently, the driver just returns "everything is nullable". It used to vary based on datatypes, but since most datatypes can handle nulls, that wasn't very good. I think it would make a good addition to the driver to handle nulls based on the column attribute as you suggest. For Access, which uses SQLColumns to determine this fact, this will work great. However, other applications that use SQLDescribeCol or SQLColAttributes will still get only the datatype nullability since there really is no easy way to get this kind of information given only a result set from the backend. I will add this in the next release. Byron