В данном разделе перечислены параметры конфигурации, влияющие на PL/Tcl.
pltcl.start_proc (string)
#Данный параметр, если ему присвоено значение в виде непустой строки, определяет имя (возможно, дополненное именем схемы) функции PL/Tcl без параметров, которая должна выполняться всякий раз при создании нового интерпретатора Tcl для PL/Tcl. Такая функция может выполнять инициализацию в рамках сеанса, например, загружать дополнительный код Tcl. Новый интерпретатор Tcl создается при первом выполнении функции PL/Tcl в сеансе базы данных или в случае необходимости создания дополнительного интерпретатора, когда функция PL/Tcl вызывается новой SQL-ролью.
Указанная функция должна быть написана на языке pltcl
и не должна иметь пометку SECURITY DEFINER.
(Данные ограничения гарантируют, что функция будет запущена именно в том интерпретаторе, который
она должна инициализировать). Текущий пользователь также должен иметь права на
ее вызов.
Если выполнение функции завершится ошибкой, это приведет к прерыванию основного вызова которая вызвала создание нового интерпретатора, и распространится на вызывающий запрос, что приведет к отмене текущей транзакции или подтранзакции. быть прервана. Любые действия, уже выполненные в среде Tcl, не будут отменены; однако этот интерпретатор больше не будет использоваться. Если данный язык будет использован повторно, попытка инициализации будет выполнена снова в новом интерпретаторе Tcl.
Изменять этот параметр могут только суперпользователи. Хотя это значение может быть изменено в рамках сеанса, такие изменения не затронут интерпретаторы Tcl, которые уже были созданы.
pltclu.start_proc (string)
#
Этот параметр полностью аналогичен pltcl.start_proc,
за исключением того, что он применяется к PL/TclU. Вызываемая функция должна
быть написана на pltclu языке.