Программирование > Perl

perl+postgres, ошибка

(1/2) > >>

Gekt0r:
Всем привет, возникла проблемка...
Есть сервер Апач, на котором стоит mod_perl, есть база postgres.
На сайте есть скрипт,  который время от времени закидывает в базу данные. Так вот, если база пуста, то все проходит нормально.
Если база не пуста, т.е. данные перезаписываются, то вылазит ошибка DBD::Pg::db "array must be one-dimensional"

с чем это может быть связано?

arto:
с тем, что array не one-dimensional, естественно

Gekt0r:
английский я знаю))

в общем нашел я проблемную строчку:


$keeper->{SQL}->do("update $keeper->{documents_table} set mtime = now(), dtime = ?, sections = ?, status = ?, name = ? where id = ?", {}, $self->{dtime}, \'{\'.join(\',\', $self->sections() ).\'}\', $self->{status}, $self->{name}, $self->{id}) || do  { $keeper->error(); $keeper->{SQL}->rollback()    if ( ! $keeper->{handcommit}); return undef };


($keeper - глобальный объект, которая используется для связи с БД)

в чем тут может быть ошибка?

arto:
$self->sections() -- ?

Gekt0r:
sub sections
{
   my ($self, @sects) = @_;

   if (ref($self->{sections}) ne \'ARRAY\') { $self->{sections} = []; }
   if (@sects)  {  @{ $self->{sections} } = @sects }

   return @{ $self->{sections} };
}

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии