Обсуждение: Failed regression tests with 7.0.3 on Windows NT 4.0

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

Failed regression tests with 7.0.3 on Windows NT 4.0

От
Christian Ullrich
Дата:
Hello!

I've just gotten PostgreSQL 7.0.3 to build and actually run under
WinNT 4.0, and the regression tests show two problems: one probably
minor in horology (I suppose there's a wrong time zone somewhere), and
one probably major in alter_table. I attached the diff output.

I'm not very pleased with having to run PostgreSQL on NT, but these
are the facts I can't change. So, keep up the good work!

Yours,

--
Christian Ullrich             Registrierter Linux-User #125183

"Sie können nach R'ed'mond fliegen -- aber Sie werden sterben"

Вложения

Re: Failed regression tests with 7.0.3 on Windows NT 4.0

От
Tom Lane
Дата:
Christian Ullrich <chris@chrullrich.de> writes:
> I've just gotten PostgreSQL 7.0.3 to build and actually run under
> WinNT 4.0, and the regression tests show two problems: one probably
> minor in horology (I suppose there's a wrong time zone somewhere), and
> one probably major in alter_table. I attached the diff output.

The horology discrepancy looks like WinNT doesn't have daylight-savings
info before 1970.  Try adding
    horology/.*-cygwin=horology-no-DST-before-1970
to src/test/regress/resultmap.  (I see this has already been done in
current sources.)

>   ALTER TABLE tenk1 RENAME TO ten_k;
> + ERROR:  renamerel: unable to rename tenk1.1 to ten_k.1: error 0

Apparently a cygwin bug?  Evidently rename() forgets to set errno on
failure.  renamerel() is expecting to see errno = ENOENT when the file
to be renamed doesn't exist.

This is irrelevant for 7.1, since we don't try to do physical file
renames anymore.  If you can live without ALTER TABLE RENAME for awhile
then you could just put up with it for now.  Otherwise, pester the
cygwin folk to fix rename().

            regards, tom lane

Re: Failed regression tests with 7.0.3 on Windows NT 4.0

От
Christian Ullrich
Дата:
* Tom Lane wrote on Monday, 2000-12-04:

> Christian Ullrich <chris@chrullrich.de> writes:
> > I've just gotten PostgreSQL 7.0.3 to build and actually run under
> > WinNT 4.0, and the regression tests show two problems: one probably
> > minor in horology (I suppose there's a wrong time zone somewhere), and
> > one probably major in alter_table. I attached the diff output.
>
> The horology discrepancy looks like WinNT doesn't have daylight-savings
> info before 1970.  Try adding
[...]
> Apparently a cygwin bug?  Evidently rename() forgets to set errno on
> failure.  renamerel() is expecting to see errno = ENOENT when the file
> to be renamed doesn't exist.

Thanks a lot!

BTW: You're quite right. cygwin's newlib doesn't seem to bother with errno
all that much in stdio. At first grep, it isn't even mentioned in half
the stdio source files.

--
Christian Ullrich             Registrierter Linux-User #125183

"Sie können nach R'ed'mond fliegen -- aber Sie werden sterben"