Обсуждение: Regression with no results returned from query between 9.01.01 and 9.01.02

Поиск
Список
Период
Сортировка

Regression with no results returned from query between 9.01.01 and 9.01.02

От
Vadim Zeitlin
Дата:
Hello,

 Our code doing some relatively simple SELECT queries has stopped working
after upgrading from 9.01.01 to 9.01.02. After some debugging and bisecting
I found that:

1. The original bug was introduced by a seemingly nonsensical change to
   the SC_forget_unnamed() macro in statement.h in
   https://github.com/hlinnaka/psqlodbc/commit/5f35a04c498c4af02a3d2ac4cd84a0610562c2a4

2. The symptoms we're seeing have been corrected by the apparently
   unrelated change in a yet unreleased commit
   https://github.com/hlinnaka/psqlodbc/commit/79fa21bd5c52157cf9a2296b06aa7ad6cb9c8b9c

 I don't know this code at all so it's very difficult for me to day whether
the latter commit really fixes the problem or just works around/hides it,
but it seems pretty strange to have "FALSE && ..." condition as it's, of
course, always false, so why bother with testing it at all? Considering
that the commit of (1) also was clearly not tested much as it even broke
the code compilation (missing closing quote in the change to version.h), I
am not inclined to trust this change. But this is just a gut feeling and it
would be great if someone who really understands this code could look at
it.

 More generally, it would be very nice to have 9.01.03 release fixing this
bug as it's pretty annoying that we need to tell our users to download the
one but last release of the ODBC driver instead of the latest one.

 Thanks in advance,
VZ

P.S. Does anybody know why the CVS repository at
     http://pgfoundry.org/scm/?group_id=1000125 doesn't work? Is the Github
     hlinnaka/psqlodbc repository the official place for psqlodbc sources
     or is there some other place to get them from?

Re: Regression with no results returned from query between 9.01.01 and 9.01.02

От
"Inoue, Hiroshi"
Дата:
Hi Vadim,

(2013/04/12 21:58), Vadim Zeitlin wrote:
>   Hello,
>
>   Our code doing some relatively simple SELECT queries has stopped working
> after upgrading from 9.01.01 to 9.01.02. After some debugging and bisecting
> I found that:
>
> 1. The original bug was introduced by a seemingly nonsensical change to
>     the SC_forget_unnamed() macro in statement.h in
>     https://github.com/hlinnaka/psqlodbc/commit/5f35a04c498c4af02a3d2ac4cd84a0610562c2a4
>
> 2. The symptoms we're seeing have been corrected by the apparently
>     unrelated change in a yet unreleased commit
>     https://github.com/hlinnaka/psqlodbc/commit/79fa21bd5c52157cf9a2296b06aa7ad6cb9c8b9c
>
>   I don't know this code at all so it's very difficult for me to day whether
> the latter commit really fixes the problem or just works around/hides it,
> but it seems pretty strange to have "FALSE && ..." condition as it's, of
> course, always false, so why bother with testing it at all? Considering
> that the commit of (1) also was clearly not tested much as it even broke
> the code compilation (missing closing quote in the change to version.h), I
> am not inclined to trust this change. But this is just a gut feeling and it
> would be great if someone who really understands this code could look at
> it.
>
>   More generally, it would be very nice to have 9.01.03 release fixing this
> bug as it's pretty annoying that we need to tell our users to download the
> one but last release of the ODBC driver instead of the latest one.

Unfortunately we don't have much time and there are some issues (Git
migration or pending patches etc). Please wait for a while.
As for Windows, I can provide the binaries on my home page which fixes
the bug you pointed out if it's preferable.

regards,
Hiroshi Inoue

>   Thanks in advance,
> VZ
>
> P.S. Does anybody know why the CVS repository at
>       http://pgfoundry.org/scm/?group_id=1000125 doesn't work? Is the Github
>       hlinnaka/psqlodbc repository the official place for psqlodbc sources
>       or is there some other place to get them from?




Re: Regression with no results returned from query between 9.01.01 and 9.01.02

От
Vadim Zeitlin
Дата:
On Tue, 16 Apr 2013 12:57:13 +0900 "Inoue, Hiroshi" <inoue@tpf.co.jp> wrote:

IH> >   More generally, it would be very nice to have 9.01.03 release fixing this
IH> > bug as it's pretty annoying that we need to tell our users to download the
IH> > one but last release of the ODBC driver instead of the latest one.
IH>
IH> Unfortunately we don't have much time and there are some issues (Git
IH> migration or pending patches etc). Please wait for a while.

 Thank you for your reply! I've already realized that this is probably not
the best moment to do any changes due to the CVS-to-Git migration, sorry
for encountering this problem just at the wrong moment :-/

IH> As for Windows, I can provide the binaries on my home page which fixes
IH> the bug you pointed out if it's preferable.

 For us this is not necessary as we can just use 9.01.01 driver (I don't
see any changes in 9.01.02 which would be relevant to us) but I wonder if
it wouldn't be better to pull the 9.01.02 release off the main site
(http://www.postgresql.org/ftp/odbc/versions/) to avoid any future problems
with it?

 Of course, a 9.01.03 with the real fix after the migration to Git is
complete wouldn't be a bad idea if only to verify that the release
procedures still work with the new repository.

 Thanks in advance and good luck!
VZ

P.S. Thanks Geoff for confirming that I'm not the only one seeing, I've
     doubted my sanity for quite some time as I couldn't believe something
     as bad as this could have slipped through the cracks. But apparently
     not many people use PostgreSQL via ODBC...

Re: Regression with no results returned from query between 9.01.01 and 9.01.02

От
Heikki Linnakangas
Дата:
On 12.04.2013 15:58, Vadim Zeitlin wrote:
>   Hello,
>
>   Our code doing some relatively simple SELECT queries has stopped working
> after upgrading from 9.01.01 to 9.01.02. After some debugging and bisecting
> I found that:
>
> 1. The original bug was introduced by a seemingly nonsensical change to
>     the SC_forget_unnamed() macro in statement.h in
>     https://github.com/hlinnaka/psqlodbc/commit/5f35a04c498c4af02a3d2ac4cd84a0610562c2a4

That was indeed a mishap, and as Hiroshi said it should be trivial to
fix. We now have the git migration out of the way, too. But before
Hiroshi or I go and fix that, could you write a small self-contained
test case that triggers the problem, please? I tried to create one
myself, but failed. It would be nice to have one, so that we can verify
that the fix works, and to add that to the regression test suite as that
codepath is clearly not exercised at the moment.

> P.S. Does anybody know why the CVS repository at
>       http://pgfoundry.org/scm/?group_id=1000125 doesn't work? Is the Github
>       hlinnaka/psqlodbc repository the official place for psqlodbc sources
>       or is there some other place to get them from?

The official repository is now at
http://git.postgresql.org/gitweb/?p=psqlodbc.git.

Thanks!

- Heikki