Error 40

Обсуждение вопросов по разработке программ в среде продуктов копорации "Progress Software"
Аватара пользователя
dmikai
Старожил
Сообщения: 517
Зарегистрирован: 20 сен 2006, 23:19
Откуда: Рига, Латвия

Error 40

Сообщение dmikai » 28 дек 2012, 00:17


Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва

Re: Error 40

Сообщение dmi » 28 дек 2012, 09:55

Я бы включил 4gl trace для динамических темп-таблиц сессии (dynobjects.db:4 - посмотри в документации, я не помню точно) и получил лог до падения.
далее можешь скачать утилиту logreader с PSDN и посмотри, кто создаёт и не удаляет.
/dmi

http://pro4gl.ru - 4gl блог

Аватара пользователя
dmikai
Старожил
Сообщения: 517
Зарегистрирован: 20 сен 2006, 23:19
Откуда: Рига, Латвия

Re: Error 40

Сообщение dmikai » 28 дек 2012, 10:52

С динамическими как раз всё понятно.
В тот-то и дело - что все таблицы статические.

Лечиться это просто - добавляется в определение таблицы опция NO-UNDO и при выходе из процедуры таблицы не задерживаются во временном файле.
Но не всегда это возможно сделать.

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Error 40

Сообщение George » 28 дек 2012, 13:48


Аватара пользователя
dmikai
Старожил
Сообщения: 517
Зарегистрирован: 20 сен 2006, 23:19
Откуда: Рига, Латвия

Re: Error 40

Сообщение dmikai » 28 дек 2012, 17:19


Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Error 40

Сообщение George » 28 дек 2012, 17:35

Программисты часто утверждают, что жизнь такова как её рисуют их программы, но мне кажется, что жизнь на самом деле значительно лучше (и логичнее) устроена. Если для решения задачи нужно запускать некоторые программы по тысяче раз и эти программы собирают какие-то данные во временные таблицы, т.е. каждый вызов программы явно не по зернышку клюет из базы, то всё это выполняться будет долго. Так может транзакцию стоит открывать когда все вызовы отработают и все нужные данные уже будут собраны во временных таблицах?

Да и зачем временным таблицам (и переменным тоже) нужна опция UNDO мне не совсем понятно. Я всегда спокойно обходился только NO-UNDO объектами.

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва

Re: Error 40

Сообщение dmi » 28 дек 2012, 17:51

Закрытие дня вызывает 1440 раз закрытие минутного интервала? :)
[мрачная шутка]
/dmi



http://pro4gl.ru - 4gl блог