Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Функция внутри функции. / 3 сообщений из 3, страница 1 из 1
06.04.2016, 17:20
    #39209525
esm1963
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция внутри функции.
Здравствуйте!
Есть две функции func_out(_a int) и func_in(_a int)
Внешняя функция содержит вызов внутренней.

CREATE OR REPLACE FUNCTION func_out(_a int)
RETURNS void
LANGUAGE plpgsql
AS $function$

BEGIN
............
PERFORM func_in(_a);
............
END;
$function$

select func_in(1) отрабатывает 6 сек.
select func_out(1) отрабатывает бесконечно долго. Запрос приходится останавливать.
Если вызов внутренней функции из внешней убрать, то внешняя функция отрабатывает мгновенно.

В какую сторону копатъ?

Спасибо.
...
Рейтинг: 0 / 0
07.04.2016, 04:28
    #39209735
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция внутри функции.
esm1963,

В приведение полного примера.
Или в отладку за счет введения RAISE WARNING во все подозрительные места чтобы понять где именно зависает.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
07.04.2016, 18:24
    #39210503
esm1963
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция внутри функции.
Спасибо за ответ.
Во внешней процедуре сбрасывался а в конце восстанавливался флаг enable_seqscan, который и менял план внутреннего запроса.
Не заметил я его, извиняюсь.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Функция внутри функции. / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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