Обсуждение: Failed regression tests with 7.0.3 on Windows NT 4.0
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"
Вложения
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
* 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"