Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Perl, Modul Pg.pm Otsutstvuyet disconnect? / 18 сообщений из 18, страница 1 из 1
07.07.2005, 17:32
    #33155420
Illya Konovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
Vsem privet, est vopros.
Kto ispolzoval Pg.pm dlya obrasheniya k PostgreSQL?
Na skolko ya ponyal iz dokumentacii Pg.pm, disconnect v
poslednih versiyah delat ne nuzhno, rassoyedineniye samo proishodit
posle togo kak ischezayet poslednyaya ssilka na object.. (izvinyayus za translit)
ranshe bilo "PQfinish($conn)" no v Dokumentacii stoit chto eto stariy stil.
"Old style only!"

Mozhno/nuzhno li delat disconnect?
Ranshe rabotal s mySQL i DBI gde takaya funkciya imeetsa.

Mozhet eshe glyanu connection status.. hmm

S uvazheniyem,
Illya (aka Horbor)
...
Рейтинг: 0 / 0
07.07.2005, 17:36
    #33155435
XM
XM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
commit/rollback и disconnect пиши всегда! (почти шутка)
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
08.07.2005, 11:35
    #33156383
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
мы используем DBI, DBD::Pg, стараемся не забывать про commit и disconnect :)
...
Рейтинг: 0 / 0
08.07.2005, 14:51
    #33157111
Illya Konovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
Спасибо за ответы :) Проблема в том, что на работе у нас
используется Pg.pm, я бы тоже предпочел DBI, DBD, но
низя :) Млин, и на сколько я понимаю в Pg.pm этих
функций нет. Надеюсь, что ошибыюсь. Хотя может
всё проще чем я думаю, может этих функций ит нет..
Хмм.. хотя всё же странно.

Кто ещё что по этому поводу может подсказать,
буду рад.


С уважением,
Илья Коновалов
...
Рейтинг: 0 / 0
08.07.2005, 15:29
    #33157216
XM
XM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
Illya Konovalov wrote:
> Спасибо за ответы :) Проблема в том, что на работе у нас
> используется Pg.pm, я бы тоже предпочел DBI, DBD, но
> низя :) Млин, и на сколько я понимаю в Pg.pm этих
> функций нет. Надеюсь, что ошибыюсь. Хотя может
> всё проще чем я думаю, может этих функций ит нет..
> Хмм.. хотя всё же странно.
>
> Кто ещё что по этому поводу может подсказать,
> буду рад.
>
Гм, глянул я на этот антик (если я правильно понял, речь о
нем), и не понимаю, а что мешает использовать DBI и DBD::Pg?
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
08.07.2005, 18:15
    #33157604
wbear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
может поможет такая идея:
в DBI::Pg есть функция

$fd = $dbh->func('getfd');

возвращает дескриптор соединения... соответственно close $fd; получишь самый чтонинаесть дисконект.
...
Рейтинг: 0 / 0
08.07.2005, 18:23
    #33157618
wbear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
я тоже глянул... ту ссылочку..
Pg - Perl5 extension
в нем радует то что... можно нормально рулить транзакцииями в отличии от DBI::Pg
...
Рейтинг: 0 / 0
08.07.2005, 21:28
    #33157756
Illya Konovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
XM
Гм, глянул я на этот антик (если я правильно понял, речь о
нем), и не понимаю, а что мешает использовать DBI и DBD::Pg?
Posted via ActualForum NNTP Server 1.2

Да, правильная ссылочка, это оно...
Кто видит там дисконнект кроме PQfinish($conn)?
...
Рейтинг: 0 / 0
11.07.2005, 09:47
    #33158681
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
Illya KonovalovКто видит там дисконнект кроме PQfinish($conn)?undef $conn;

Может быть это - "новый стиль"? :)
...
Рейтинг: 0 / 0
11.07.2005, 10:53
    #33158873
Illya Konovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
LeXa NalBat
Может быть это - "новый стиль"? :)

O, logichno, mozhet bit :) seychas budu probovat´
...
Рейтинг: 0 / 0
11.07.2005, 11:05
    #33158920
wbear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
$con = connect...
..
$con2 = $con;
...
undef $con;

в этом случае ссыки на конекшен попрежнему остались...дисконекта не будет..

т.е. сам по себе undef $con; не совсем коректно.. уверенно говорить что после него точно будет дисконект в общем случае нельзя... все зависит от ситуации конечно.
...
Рейтинг: 0 / 0
11.07.2005, 11:25
    #33158964
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
wbear$con2 = $con;А это корректно?
...
Рейтинг: 0 / 0
11.07.2005, 11:46
    #33159017
wbear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
вообще то не по теме ну лано... один раз можно.
и почему это не коректно ?
т.е. ты хочеш сказать что my $con = shift; тоже не коректно?
вообще завязывать дисконнект от БД на сборщик мусора перла неправильно изначально... видимо ты не видел как он(перловый сборщик) при exit() отрабатывает. покрайней мере в 5.8.. жуть..

$t_conn = connect( .... );
...
some_func($t_conn);
...

exit 0;

sub some_func
{
my $con = shift;
...
$con = undef; # и тут никакого дисконекта естественно не будет.
}

P.s. тока ненада мне говорить что передавай ссылку на $con это уже называется маразм... т.к. фактически придется руками следть чтобы не дай бог ссылок на реальный обьект-конекшен не стало больше одной, оно нам надо? :)
...
Рейтинг: 0 / 0
11.07.2005, 12:27
    #33159163
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
wbearт.е. ты хочеш сказать что my $con = shift; тоже не коректно?

$t_conn = connect( .... );
...
some_func($t_conn);
...

exit 0;

sub some_func
{
my $con = shift;
...
$con = undef; # и тут никакого дисконекта естественно не будет.
}Некорректно делать disconnect внутри функции some_func, если connect сделан вне нее. Поэтому такой пример "не жизненный". :( Непонятно, для чего внутри одного логического блока может понадобиться $conn2=$conn, поэтому первое - тоже не жизненно. А жизненного примера я не могу придумать. :(

wbearвообще завязывать дисконнект от БД на сборщик мусора перла неправильно изначально... видимо ты не видел как он(перловый сборщик) при exit() отрабатывает. покрайней мере в 5.8.. жуть..А это у нас сделано. :-О
...
Рейтинг: 0 / 0
11.07.2005, 12:59
    #33159214
Illya Konovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
O, spasibo narod!
undef $conn eto offizialno.. mlin, prichem na CPANe v dokumentacii eto napisano,
ne znayu chto ya sebe za dokumentaciyu raspechatal.. vot, lezhit na stole..
Vsya infa tochno takaya zhe kak i na CPANe, slovo v slovo, no vot undef $conn
netu.

O, vot tut tozhe napisano..

One benefit of the new style: you do not have to care about freeing the
connection- and result-structures. Perl calls the destructor whenever the last
reference to an object goes away.

Perl vizivayet destructor kogda budet ubrana poslednyaya ssilka na objekt,
t.e. net povoda bespokoitsa o osvobozhdenii resursov..
...
Рейтинг: 0 / 0
11.07.2005, 13:03
    #33159221
wbear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
>Некорректно делать disconnect внутри функции some_func

а у меня функции для работы с БД все в обертках ... :P
ну типа sub disconnect { my $con = shift; my_log("disconnect"); ... undef $con;}
:) вот тебе жизненый пример.
...
Рейтинг: 0 / 0
11.07.2005, 15:38
    #33159631
Illya Konovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
U menya eto realisovano takim obrazom..

sub ConnDB {
my ($dbase) = @_;
if($dbase ne ""){
$conn = Pg::connectdb("dbname=$dbase");
die $conn->errorMessage unless PGRES_CONNECTION_OK eq $conn->status;
}else{
undef $conn;
}
}
...
Рейтинг: 0 / 0
11.07.2005, 15:41
    #33159637
Illya Konovalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Perl, Modul Pg.pm Otsutstvuyet disconnect?
oops, chego-to ono probeli/otstup ne raspoznalo, nuzhno predvaritelnim prosmotrom polzovatsa... hmm
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Perl, Modul Pg.pm Otsutstvuyet disconnect? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]