Re: ODBC v08.02.0100 - Mailing list pgsql-odbc

From luiz
Subject Re: ODBC v08.02.0100
Date
Msg-id 20060831200431.M35183@planit.com.br
Whole thread Raw
In response to Re: ODBC v08.02.0100  (greg.campbell@us.michelin.com)
List pgsql-odbc
Hi Greg

I'm sorry if I'm not can express clearly what I need to explain.
My english is litle.

In a left outer join like below, field4 may have null values when test.fk_test2 is null,
now the result is a char(3) empty field, then I presume that this is a incorrect resultset


On Thu, 31 Aug 2006 15:26:04 -0400, greg.campbell wrote
> So your issue is that now the field types including NULL constraints match the underlying tables?
> Is the change caused just from changing pgODBC driver versions, while the database version stayed the same.?
> Isn't this the result we would expect if we were using psql at the command line?
> I don't mean to be rude, but does your application expect a resultset where certain field never have a NULL value, but where the database design has the fields specified as nullable (no specification of NOT NULL)? For instance in your example fk_test2 is designed to allow NULL, but perhaps an application does not anticipate the possibility that NULL may be its value.
>
> Perhaps the old behavior was a bug.
>
> Greg Campbell ENG-ASE/Michelin US5
> Lexington, South Carolina
> 803-951-5561, x75561
> Fax: 803-951-5531
> greg.campbell@us.michelin.com
>
> "luiz" <luiz@planit.com.br>
>
>
          "luiz" <luiz@planit.com.br>
          > Sent by: pgsql-odbc-owner@postgresql.org
          > 08/31/2006 14:14

>
> To

> pgsql-odbc@postgresql.org

>
> cc

>

>
> Subject

> [ODBC] ODBC v08.02.0100

> Hi all,
>
> I make some tests with this new version and i notice a diference in the
> behaviour about the structures of tables returned by queries trough   this
> version and older versions of odbc
>
> I'm using Visual FoxPro with postgres 8.1.4.
>
> In previous version all fields are marked to accept null values.
> In this version (8.02.0100) some fields now don't accept null values, seemed
> to me that now use the same definition of source table structure, like this:
>
> CREATE TABLE test (
>  id serial NOT NULL,
>  fk_test2 int4,
>  field1 char(3) NOT NULL,
>  field2 varchar(10),
>  field3 date );
>
> CREATE TABLE test2 (
>  id serial NOT NULL,
>  field4 char(3) NOT NULL,
>  field5 char(3) );
>
> SELECT test.*
>     , test2.id as id2
>     , test2.field4
>     , test2.field5
>  from test LEFT OUTER JOIN test2 on test.fk_test2 = test2.id;
>
> The fields of resultset will be now this:
>
> id int4 NOT NULL
> fk_test2 int4
> field1 char(3) NOT NULL
> field2 varchar(10)
> field3 date
> id2 int4 NOT NULL
> field4 char(3) NOT NULL
> field5 char(3)
>
> with odbc version 8.01.0200 all fields accept null values.
>
> I'm not sure about what is the correct behaviour, but this can be considered
> as a bug in the new version ?
>
> Thanks in Advance
>
> Luiz
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>



--
Plan IT Tecnologia Informatica Ltda.

pgsql-odbc by date:

Previous
From: greg.campbell@us.michelin.com
Date:
Subject: Re: ODBC v08.02.0100
Next
From: greg.campbell@us.michelin.com
Date:
Subject: Re: ODBC v08.02.0100