Re: Inheriting PostgresNode object

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Inheriting PostgresNode object
Дата
Msg-id 20160913203918.GA426330@alvherre.pgsql
обсуждение исходный текст
Ответ на Inheriting PostgresNode object  (Victor Wagner <vitus@wagner.pp.ru>)
Ответы Re: Inheriting PostgresNode object  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Victor Wagner wrote:
> Hi hackers!
> 
> I've encountered need to extend functionality of PostgresNode class
> from the TAP test framework. What I want can easily be done via perl
> object inheritation. 
> 
> But documentation in the PostgresNode.pm recommends to use get_new_node
> function rather than call PostgresNode constructor directly.

Yeah, as I recall the only thing the get_new_node thingy does is assign
a nonconflicting port number to each instance, and make sure the
instances are all teared down at END.  I don't remember now why didn't
we just do the port check in the constructor, but we messed with that
code a lot after the commit.  Maybe there's no good reason and we should
change that, for convenience of inheritance.  As for the teardown, I
remember trying to do that using DESTROY instead of an END block, but
there was some problem I couldn't figure out (I think there was some
ugly warning message because the data dir for the node was removed
before the DESTROY for the object had the chance to run)... maybe you
can figure that one out.

Overall I think it'd be an improvement to use a regular constructor
instead of the current arrangement.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: kqueue
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Inheriting PostgresNode object