Обсуждение: Small request re error message

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

Small request re error message

От
Scott Ribe
Дата:
Could the below message be modified:

The database cluster was initialized with PG_CONTROL_VERSION 906166272, but
the server was compiled with PG_CONTROL_VERSION 822.

By also showing the version numbers in hex, like so:

The database cluster was initialized with PG_CONTROL_VERSION 906166272
(0x36030000), but the server was compiled with PG_CONTROL_VERSION 822
(0x00000336).

This would have saved me a couple of minutes' worth of puzzlement. With Macs
out there that look identical between the PPC and x86 versions, this kind of
error has gotten a lot easier to make ;-)


--
Scott Ribe
scott_ribe@killerbytes.com
http://www.killerbytes.com/
(303) 722-0567 voice



Re: Small request re error message

От
Bruce Momjian
Дата:
Scott Ribe wrote:
> Could the below message be modified:
>
> The database cluster was initialized with PG_CONTROL_VERSION 906166272, but
> the server was compiled with PG_CONTROL_VERSION 822.
>
> By also showing the version numbers in hex, like so:
>
> The database cluster was initialized with PG_CONTROL_VERSION 906166272
> (0x36030000), but the server was compiled with PG_CONTROL_VERSION 822
> (0x00000336).
>
> This would have saved me a couple of minutes' worth of puzzlement. With Macs
> out there that look identical between the PPC and x86 versions, this kind of
> error has gotten a lot easier to make ;-)

I don't understand how the hex values help.

--
  Bruce Momjian  <bruce@momjian.us>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: Small request re error message

От
Bill Moran
Дата:
In response to Bruce Momjian <bruce@momjian.us>:

> Scott Ribe wrote:
> > Could the below message be modified:
> >
> > The database cluster was initialized with PG_CONTROL_VERSION 906166272, but
> > the server was compiled with PG_CONTROL_VERSION 822.
> >
> > By also showing the version numbers in hex, like so:
> >
> > The database cluster was initialized with PG_CONTROL_VERSION 906166272
> > (0x36030000), but the server was compiled with PG_CONTROL_VERSION 822
> > (0x00000336).
> >
> > This would have saved me a couple of minutes' worth of puzzlement. With Macs
> > out there that look identical between the PPC and x86 versions, this kind of
> > error has gotten a lot easier to make ;-)
>
> I don't understand how the hex values help.

With the hex values, it becomes immediately obvious that the problem is
caused by endianess (to me, anyway)

--
Bill Moran
Collaborative Fusion Inc.

Re: Small request re error message

От
Bruce Momjian
Дата:
Bill Moran wrote:
> In response to Bruce Momjian <bruce@momjian.us>:
>
> > Scott Ribe wrote:
> > > Could the below message be modified:
> > >
> > > The database cluster was initialized with PG_CONTROL_VERSION 906166272, but
> > > the server was compiled with PG_CONTROL_VERSION 822.
> > >
> > > By also showing the version numbers in hex, like so:
> > >
> > > The database cluster was initialized with PG_CONTROL_VERSION 906166272
> > > (0x36030000), but the server was compiled with PG_CONTROL_VERSION 822
> > > (0x00000336).
> > >
> > > This would have saved me a couple of minutes' worth of puzzlement. With Macs
> > > out there that look identical between the PPC and x86 versions, this kind of
> > > error has gotten a lot easier to make ;-)
> >
> > I don't understand how the hex values help.
>
> With the hex values, it becomes immediately obvious that the problem is
> caused by endianess (to me, anyway)

Oh.  Yea, I can see that, but even if the endian-ness is the same, it
still might not work.  Even a different compiler flag will cause a
failure to run properly.

--
  Bruce Momjian  <bruce@momjian.us>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: Small request re error message

От
Scott Ribe
Дата:
> Oh.  Yea, I can see that, but even if the endian-ness is the same, it
> still might not work.  Even a different compiler flag will cause a
> failure to run properly.

Sure. You can't flag every possible error. But my Intel & PPC Macs look
identical, and I compile with identical flags. So it would help people like
me, all one or two of us ;-)


--
Scott Ribe
scott_ribe@killerbytes.com
http://www.killerbytes.com/
(303) 722-0567 voice



Re: Small request re error message

От
Bruce Momjian
Дата:
Scott Ribe wrote:
> > Oh.  Yea, I can see that, but even if the endian-ness is the same, it
> > still might not work.  Even a different compiler flag will cause a
> > failure to run properly.
>
> Sure. You can't flag every possible error. But my Intel & PPC Macs look
> identical, and I compile with identical flags. So it would help people like
> me, all one or two of us ;-)

What would make more sense than printing the hex is to print a specific
message if the endian-ness doesn't match, but I am worried people might
assume it will work when the endian does match.

--
  Bruce Momjian  <bruce@momjian.us>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

Re: Small request re error message

От
Alvaro Herrera
Дата:
Bruce Momjian wrote:
> Scott Ribe wrote:
> > > Oh.  Yea, I can see that, but even if the endian-ness is the same, it
> > > still might not work.  Even a different compiler flag will cause a
> > > failure to run properly.
> >
> > Sure. You can't flag every possible error. But my Intel & PPC Macs look
> > identical, and I compile with identical flags. So it would help people like
> > me, all one or two of us ;-)
>
> What would make more sense than printing the hex is to print a specific
> message if the endian-ness doesn't match, but I am worried people might
> assume it will work when the endian does match.

That doesn't make much sense because we give different error messages,
each telling that one little check failed.

I think adding the hex code is not helpful in the general case, but
maybe we could check for endianness if the control version fails, and
add that info in a HINT or something.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support