From: | "luiz" <luiz(at)planit(dot)com(dot)br> |
---|---|
To: | greg(dot)campbell(at)us(dot)michelin(dot)com |
Cc: | pgsql-odbc(at)postgresql(dot)org |
Subject: | Re: ODBC v08.02.0100 |
Date: | 2006-08-31 20:09:56 |
Message-ID: | 20060831200431.M35183@planit.com.br |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(dot)campbell(at)us(dot)michelin(dot)com
>
> "luiz" <luiz(at)planit(dot)com(dot)br>
>
>
"luiz" <luiz(at)planit(dot)com(dot)br>
> Sent by: pgsql-odbc-owner(at)postgresql(dot)org
> 08/31/2006 14:14
>
> To
> pgsql-odbc(at)postgresql(dot)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.
From | Date | Subject | |
---|---|---|---|
Next Message | greg.campbell | 2006-08-31 20:56:07 | Re: ODBC v08.02.0100 |
Previous Message | greg.campbell | 2006-08-31 19:26:04 | Re: ODBC v08.02.0100 |