Andrew Dunstan wrote:

Gaetano Mendola wrote:

Andrew Dunstan wrote:

Gaetano Mendola wrote:

Bruce Momjian wrote:

however below the result of my quich review:

1) exit(1) => exit(EXIT_FAILURE)

If we used a number of different error codes I might agree. But it seems pointless here, and the style is widely used in our code base (I just counted 201 other occurrrences, not including cases of exit(0) ).

This doesn't mean that we don't have to.

We should be consistent. If you want to prepare a global patch that replaces every instance of exit(n) with exit(SOME_CONSTANT) then be my guest.

I'd like to do it, partecipate more on postgres coding but in this period I really don't have time, this doesn't mean that we have to wrote exit(1) instead of exit(EXIT_FAILURE) and change these exit in the future. BTW the next patch will write again: exit(1).

2) xstrdup protected by duplicate NULL string

I don't object, but it is redundant - in every case where it is called the argument is demonstrably not NULL.

Now it's true, and in the future ? Bruce was arguing about that check that if the string is null the program simply will exit crashing! I really appreciate the quality software of Postgres but some time I don't understand why test "NULL" pointer is an overkill for you. I mean xstrdup is supposed to be the strdup safe version, and without that control is not safe, why don't use directly the strdup then ? If there is no memory available before postgresql start go figure after!

I am not arguing that we should crash. I am arguing that we will not crash in this case, and the test is therefore redundant.

I already said I don't object to the change, if that's the consensus, just that it is unnecessary. BTW, this code was lifted directly from initdb.c.

I'd far rather you found real bugs than the ghosts of imaginary bugs, though.

I was not looking for bugs or ghost, I repeat the test may be redundant now with the current version of pg_ctl.c, do you write free function trusting in the caller ( as Bruce do ) or watching were and how it's called?

I write free function without trust the caller and without see where and
how is called, different point of view.

Regards Gaetano Mendola

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
     joining column's datatypes do not match

Reply via email to