Переназначение типа CLOB после выборки.

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Werd OL
Сообщения: 3
Зарегистрирован: 2013.10.18, 14:24

Переназначение типа CLOB после выборки.

Сообщение Werd OL »

Есть база Oracle, поле CLOB внем текст, после findAll необходимо преобразовать ресурс в текст . Как это сделать?
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Переназначение типа CLOB после выборки.

Сообщение anton44eg »

afterFind
Werd OL
Сообщения: 3
Зарегистрирован: 2013.10.18, 14:24

Re: Переназначение типа CLOB после выборки.

Сообщение Werd OL »

Код: Выделить всё

    protected function AfterFind()
    {

           $var = $this->getAttribute("VARTEXT");
           if(is_resource($var)) {
                $vartext = stream_get_contents($var);
                fclose($var);
                $this->setAttribute("VARTEXT", $vartext );
            }
        parent::AfterFind();
    }
таким способом ресурс преобразовывается, но после некоторой обработки в ядре чудесным образом в один момент как при взмахе волшебной полочки апатч крашиться, наткнулся на воскрешенный ресурс.

Не помогает данный метод, необходим прием кунг-фу.
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Переназначение типа CLOB после выборки.

Сообщение nizsheanez »

1) Если у вас крошится апач то это проблемы апача.
2) AfterFind пишется с маленькой буквы.
3) Так а в чем проблема-то?
Werd OL
Сообщения: 3
Зарегистрирован: 2013.10.18, 14:24

Re: Переназначение типа CLOB после выборки.

Сообщение Werd OL »

nizsheanez писал(а):1) Если у вас крошится апач то это проблемы апача.
2) AfterFind пишется с маленькой буквы.
3) Так а в чем проблема-то?
1 - php выберет поле CLOB, и php ожидает неких действий с ресурсом, но их быть не может так как там текст. Апатч не причем, php интерпретатор вылетает.
2 - да с маленькой.
3 - невозможно выбрать текст с поля с типом CLOB.
Аватара пользователя
SilverFire
Сообщения: 23
Зарегистрирован: 2013.10.24, 13:59
Откуда: Kiev
Контактная информация:

Re: Переназначение типа CLOB после выборки.

Сообщение SilverFire »

Присоединюсь к обсуждению проблемы. Попробовал воспроизвести проблему у себя - получилось.
Не смотря на то, что я в afterFind() устанавливаю свое значение CLOB поля (заменяя ресурс - строкой), вылет происходит при выполнении return $records; при возврате атрибутов на CActiveRecord.php:1895

В логах Apache:

Код: Выделить всё

Parent: child process exited with status 3221225477 — Restarting
Пока у меня нет идей для решения проблемы...
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Переназначение типа CLOB после выборки.

Сообщение anton44eg »

Как я понимаю это в логе php-fpm? так а что в nginx error.log ?
Аватара пользователя
SilverFire
Сообщения: 23
Зарегистрирован: 2013.10.24, 13:59
Откуда: Kiev
Контактная информация:

Re: Переназначение типа CLOB после выборки.

Сообщение SilverFire »

Не, это в дебаг-логах апача. Nignx'a и FastCGI/FPM нет.
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Переназначение типа CLOB после выборки.

Сообщение anton44eg »

ок, а в runtime/application.log ?
Аватара пользователя
SilverFire
Сообщения: 23
Зарегистрирован: 2013.10.24, 13:59
Откуда: Kiev
Контактная информация:

Re: Переназначение типа CLOB после выборки.

Сообщение SilverFire »

Смотрел, он пустой =( Приложение не заканчивает выполнение, в лог абсолютно ничего на падает.
Ответить